Block chain

Revision as of 15:05, 8 January 2022 by Connor Murray (talk | contribs)

The Bitcoin blockchain is the transaction database that is extended by nodes participating in the mining process on the Bitcoin network. The blockchain contains transactions validated and processed by nodes on the network. Using the blockchain anyone can add and verify a record of all of the confirmed transactions that have taken place on the ledger up until the most recent block was found.

Every block contains a reference to the block it builds upon. This has the effect of creating a chain of blocks from the genesis block to the current block. Modifying blocks that have been added to is an economic consideration that becomes impractical once they have been extended for longer periods of time due to the amount of work that would need to be regenerated.

Nodes extend the blockchain by building on what they consider to be the most recent valid block, in the longest chain of proof of work. Nodes can dispute blocks by choosing not to build upon them. Any block that does not become part of the longest chain of work is referred to as an Orphan Block.

For any block on the chain, there is only one path back to the genesis block. Coming from the genesis block, however, there can be divergence in the chain. Forks are created from time to time when two valid blocks are created just a few seconds apart, sparking what's known as an orphan race. When this occurs, each node will attempt to build a new block upon whichever of the competing blocks they received first. This has the effect of creating a very strong incentive for nodes to form a Nearly Complete Graph as a means to minimise the propagation time of blocks. When a new block is found, the block it was built upon has a much greater chance of becoming part of the longest chain and orphaning its competitor.

If a node detects the creation of a longer chain than the one it is working on, all valid transactions of the block template inside the shorter chain are re-added to the pool of queued transactions to be included in a new block. The reward for the blocks on the shorter chain will not be present in the longest chain, so they will be practically lost, which is why a network-enforced 100-block maturation time for spending coinbase transactions exists.

Because the protocol specifies that a block must only reference one previous block, it is impossible for two forked chains to merge.

Blocks are broadcast to all nodes on the network using the Bitcoin Network protocol.

Attribution

This content is based on content sourced from https://en.bitcoin.it/wiki/Block_chain under Creative Commons Attribution 3.0. Although it may have been extensively revised and updated, we acknowledge the original authors.