Transaction veriļ¬cation

This verification process is performed by Bitcoin nodes. The following is described in the Bitcoin developer guide:

  1. Check the syntax and ensure that the syntax and data structure of the transaction conforms to the rules provided by the protocol.
  2. Verify that no transaction inputs and outputs are empty.
  3. Check whether the size in bytes is less than the maximum block size.
  4. The output value must be in the allowed money range (0 to 21 million BTC).
  5. All inputs must have a specified previous output, except for coinbase transactions, which should not be relayed.
  6. Verify that nLockTime must not exceed 31-bits. (nLockTime specifies the time before which transaction will not be included in the block.)
  7. For a transaction to be valid, it should not be less than 100 bytes.
  8. The number of signature operations in a standard transaction should be less than or not more than two.
  9. Reject nonstandard transactions; for example, ScriptSig is allowed to only push numbers on the stack. ScriptPubkey not passing the isStandard() checks. The isStandard() checks specify that only standard transactions are allowed.
  10. A transaction is rejected if there is already a matching transaction in the pool or in a block in the main branch.
  11. The transaction will be rejected if the referenced output for each input exists in any other transaction in the pool.
  12. For each input, there must exist a referenced output unspent transaction.
  13. For each input, if the referenced output transaction is the coinbase, it must have at least 100 confirmations; otherwise, the transaction will be rejected.

 

  1. For each input, if the referenced output does not exist or has been spent already, the transaction will be rejected.
  1. Using the referenced output transactions to get input values, verify that each input value, as well as the sum, is in the allowed range of 0-21 million BTC. Reject the transaction if the sum of input values is less than the sum of output values.
  2. Reject the transaction if the transaction fee would be too low to get into an empty block.
  3. Each input unlocking script must have corresponding valid output scripts.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.41.134