Blockchain is a transaction database shared by all Bitcoin nodes, and these nodes participate in the Bitcoin network based on the Bitcoin protocol. The blockchain contains every transaction that has ever been executed in the Bitcoin system. Based on this information, people can find the number of coins in any address at any time,
Each block contains the HASH value of the previous block, which makes a block chain from the creation block to the current block. Each block must follow the previous block in chronological order, because if you do not know the previous block The HASH value of a block cannot generate the current block. To change a block that has existed in the block chain for a period of time is computationally infeasible, because if it is changed, every block after it must be changed accordingly. These characteristics make it very difficult to double spend Bitcoin. Blockchain is Bitcoin's biggest innovation.
If a block is the last block of the longest block chain, honest miners will only generate subsequent blocks based on this block (by referencing the block when creating a new block). "Length" is calculated as all the joint difficulty of the block chain, not the number of blocks, although this difference is only useful when defending against several potential attacks. If all blocks and transactions in a block chain are valid, then the block chain is valid and starts with the genesis block.
For any block in the blockchain, there is only one path to the genesis block. However, starting from the genesis block, there may be a fork. When the time between two blocks is only a few seconds apart, a fork containing one block may occur. When the above phenomenon occurs, the miner node will continue mining based on the block received first according to the time of receiving the block. Which block's subsequent block appears first, this block is included in the main chain because the block chain is longer. After fixing the bug of the program that needs to be backward compatible, there have been more serious forks.
The blocks in the short block chain (or effective block chain) have no effect. When the Bitcoin client turns to another long block chain, all valid transactions in the short block chain will be re-added to the transaction queue pool and will be included In another block. Block gains in the short block chain will not appear in the long chain, so these gains are actually lost. This is the reason for the existence of the 100 block maturity time strengthened by the Bitcoin network.
Blocks in the short block chain are often referred to as "isolated" blocks. This is because the production transactions in the long block chain have no parent blocks, so these production transactions appear to be isolated in the RPC call of the transaction list. Several mining pools misunderstood this information and called these blocks "orphans". In fact, these blocks have parent blocks and possibly child blocks.