Search code examples
blockchainethereumdistributedbitcoin

What is the incentive for blockchain nodes to always select the longest chain?


I think I understand how nodes are incentivized to get valid blocks from other nodes and propagate their own blocks to the network. But what is the game theory behind always selecting the longest chain when receiving new blocks from others? How is this mechanism implemented so that it is 100% guaranteed that all the nodes will select the chain with the most work in it?


Solution

  • By attaching his block to the longest chain a miner increases the chances that the block he created will get into the main chain and, accordingly, that he will receive a reward for creating a block. If the created block falls out of the main chain, then the miner will not receive a reward for it (Ethereum implements a more complex reward mechanism for creating a block, but in the simplest representation it is close to this).

    Theoretically, each of the nodes can choose to which of the forks to add the block he created, but if he wants the block to remain in the main chain, he is forced to follow the general rule.