Network - Assessment 2
Why do nodes always try to build on the longest chain?
Nodes always attempt to build upon the longest valid chain of proof of work, as any new block discovered that is not built upon the longest valid chain-tip will not be built upon by competing miners.
Nodes always try to build on the longest chain because if they don’t they will need to redo the proof-of-work for all of the preceding blocks of the alternative chain.
Nodes always try to build on the longest chain because it has a greater block reward.
Nodes always try to build on the longest chain because it contains the largest block rewards.
What will happen if a block is not built upon?
A chain-split occurs.
The node operator will receive no reward for creating the block and the proof of work that was done to build that block will be wasted.
Transactions contained within the block will be reversed.
This can cause major confusion and requires user’s constant vigilance.
How does the cost of proof-of-work incentivize nodes to build on the valid chain-tip?
The growing cost of proof-of-work means that only those with enough hash power can afford to solve blocks thereby creating a valid chain.
Since the cost of proof-of-work is expensive, nodes seek to build on the chain with the least difficulty
Since proof-of-work costs money, node operators are incentivised to build on the most valid chain-tip to minimise the risk of wasting money on a block that has either already been built upon, or surpassed by a competing valid chain-tip.
What happens if two competing versions of the next block are broadcasted simultaneously but reach other nodes in a different order?
When nodes see two or more competing blocks, they will keep copies of each so that when the next block is announced they can quickly continue building on the newly extended chain tip for whichever happens to become the longest chain .
Nodes will continue building on both chain tips simultaneously using the same hashpower.
Nodes will stop building blocks and wait for one of the blocks to become orphaned.
Nodes will choose whichever chain tip they believe is the most likely to be extended and ignore the other.
How do nodes know which blocks other nodes are working on and how does that help determine which chain they will build upon?
Nodes do not need to know about what other nodes are building and instead build on all chains.
Nodes are in constant communication with all other nodes which provide the details of the block they are building
Nodes can monitor the network and scan for the details of the blocks that other nodes are building and choose which chain they will build upon based on this information.
Nodes do not know about the blocks that other nodes are building and must instead choose a path based only on the valid blocks that it has received.
\
Last updated