paint-brush
Bitcoin White Paper: 5. Networkby@BitcoinWhitePaper

Bitcoin White Paper: 5. Network

by BitcoinWhitePaperJune 27th, 2019
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

The steps to run the network are as follows: New transactions are broadcast to all nodes. Each node collects new transactions into a block and works on finding a difficult proof-of-work for its block. Nodes accept the block only if all transactions in it are valid and not already spent. If two nodes broadcast different versions of the next block simultaneously, some nodes may receive one or the other first. If a node does not receive a block, it will request it when it receives next block and realizes it missed one.

Coin Mentioned

Mention Thumbnail
featured image - Bitcoin White Paper: 5. Network
BitcoinWhitePaper HackerNoon profile picture

The steps to run the network are as follows:

1) New transactions are broadcast to all nodes.

2) Each node collects new transactions into a block.

3) Each node works on finding a difficult proof-of-work for its block.

4) When a node finds a proof-of-work, it broadcasts the block to all nodes.

5) Nodes accept the block only if all transactions in it are valid and not already spent.

6) Nodes express their acceptance of the block by working on creating the next block in thechain, using the hash of the accepted block as the previous hash.

Nodes always consider the longest chain to be the correct one and will keep working on extending it. If two nodes broadcast different versions of the next block simultaneously, some nodes may receive one or the other first. In that case, they work on the first one they received,but save the other branch in case it becomes longer. The tie will be broken when the next proof-of-work is found and one branch becomes longer; the nodes that were working on the other branch will then switch to the longer one.

New transaction broadcasts do not necessarily need to reach all nodes. As long as they reach many nodes, they will get into a block before long. Block broadcasts are also tolerant of dropped messages. If a node does not receive a block, it will request it when it receives the next block and realizes it missed one.