I cannot clearly understand if the transaction verification is done over a single or double phase. This is my understanding.

  1. Once a transaction is completely assembled, its inputs and outputs defined with all the conditions, the inputs can be checked to make sure the sender has enough balance to process the transaction.

  2. Block mining is performed to time stamp the transaction and prove that it existed at a certain timing. Therefore block mining is more of a confirmation that the transaction has occured at a specific time rather than checking the validation of inputs.

If what I said is correct, who performs step one. Is it done by the receiver to make sure that the sender actually owns a real balance to make the payment?

If what I said is wrong, are step one and step two done together by the miner. And can someone please provide more detailed description of this verification process of inputs and time stamping because the none of the previous questions and answers address this clearly.

2 Answers 2


The connected peers do the first one. If it is invalid, they don't relay to other peers and the transaction gets forgotten. If it's valid, then peers relay it to their peers and then miners include the transaction in their block.

  • So based on your answer, verification occurs over a two stage process, right?
    – user123
    Commented Aug 2, 2017 at 14:44
  • @user123 Three actually. Nodes check whether blocks are valid too.
    – MCCCS
    Commented Aug 2, 2017 at 14:50
  • Sorry I am confused about the difference between peers, nodes and miners. Can you please explain that. Thank you.
    – user123
    Commented Aug 2, 2017 at 15:04
  • @user123 A miner is a computer that generates new blocks, and collects the block reward + transaction fees of transactions in the blocks it finds. A node ≈ A peer, (But there's a small difference: ethereum.stackexchange.com/questions/11070/…) A node is a computer that relays new transactions / new blocks to other nodes.
    – MCCCS
    Commented Aug 2, 2017 at 15:19

You can mine a block with whatever rules you like. The key part is that the network will enforce the network rules, so when a node is determining if a broadcast block is valid, it will, at that point, check the validity of every transaction in the block. Technically, it's not up to the miner to validate the block, its up to the node

  • So based on your answer, both steps occur at the mining stage. Can you also clarify the difference between the miner and a node
    – user123
    Commented Aug 2, 2017 at 14:46
  • A miner uses transactions and the current blockchain state to generate blocks, then broadcasts them to nodes. Nodes validate and relay blocks Commented Aug 2, 2017 at 15:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.