0

"However, it is possible that two miners produce a block at a similar time. This situation occurs because the acceptance of the blocks into the blockchain by the nodes of the blockchain network does not happen instantaneously.

This time lag in accepting a block may lead to another miner solving for the same exact block. But only the block with the larger size of proof of work gets accepted into the blockchain."

This is the background of how orphans are produced and handled.

Can you please explain in short

  1. 1) What is this "time lag" ? I would like to understand (detailed) what happens during this time lag, what are the full nodes exactly doing during this time until they decide to accept the block into the blockchain? Is this maybe the moment where the nodes check for all the bitocin protocol rules (refering to https://en.bitcoin.it/wiki/Protocol_rules)? Or sth else

  2. 2) What is the "size of the proof of work" exactly? Is it maybe the number of leading "zeros" in the proof of work hash, or the "nonce" number, or sth else? On which parameter must you look to know which block was the result of a more "complex work"?

  3. 3) Above mentioned protocol rules: When exactly are the nodes (or the network) checking for them, at which exact step of the bitcoin transaction/consensus cycle?: Before miners receive the transactions, after miners receive the transactions but before they start to work on the PoW hashing puzzle, or after they solved the puzzle and broadcast the block to the nodes?

Thank you

1

What is this "time lag" ?

When a miner finds a block, they will broadcast it to the network. As with all real-world networks, there is a latency (“lag time”) for this information to be received by the other nodes in the network. Specifically, there will be some amount of latency between the miner that found the block, and other miners on the network. Even if the latency is small (milliseconds), there is still some chance that another miner will find a block within that “lag time”.

What is the "size of the proof of work" exactly?

Nodes will follow what is colloquially referred to as the “longest chain”, but in reality they are following the “chain with the most work” (the difference is subtle, but important). Each valid block is equally valid, so for there to be “more proof of work” on one chain is to say that chain is “longer”, and thus the valid chain.

If two miners find valid blocks at the same block height, it will not be clear which block will become a part of the eventual longest chain, until a miner finds a new block that builds upon one of those two blocks. At that point, the longer chain will become clear, and the network’s nodes will follow it.

Above mentioned protocol rules: When exactly are the nodes (or the network) checking for them

The consensus rules are defined by the source code itself, there is no formal specification.

When a node on the network hears about any new transaction or block, it will run a series of checks to determine that transaction/block’s validity. If it is invalid, it is discarded.

When a miner assembles a block template, they will choose only transactions they have determined to be valid, and carefully craft the block to be valid also. So this is done before they start hashing, otherwise they would be wasting hashpower by creating an invalid block.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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