区块链与人工智能:数字经济新时代
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第六节 区块的连接

比特币的完整节点保存了区块链从创世区块起的一个本地副本。随着新的区块的产生,该区块链的本地副本会不断地更新用于扩展这个链条。当一个节点从网络接收传入的区块时,它会验证这些区块,然后链接到现有的区块链上。为建立一个连接,一个节点将检查传入的区块头并寻找该区块的“父区块哈希值”。

我们假设,一个节点在区块链的本地副本中有277314个区块。该节点知道最后一个区块为第277314个区块,这个区块的区块头哈希值为00000000000000027e7ba6fe7bad39faf3b5a83daed765f05f7d1b71a1632249。

然后该比特币节点从网络上接收到一个新的区块,该区块描述如下。

        {
            "size":43560,
            "version":2,

        "previousblockhash":"00000000000000027e7ba6fe7bad39faf3b5a83daed765f05f7d1b71a1632249",
        "merkleroot":"5e049f4030e0ab2debb92378f53c0a6e09548aea083f3ab25e1d94ea1155e29d",
            "time":1388185038,
            "difficulty":1180923195.25802612,
            "nonce":4215469401,
        "tx":["257e7497fb8bc68421eb2c7b699dbab234831600e7352f0d9e6522c7cf3f6c77",
              #[...many more transactions omitted...]
            "05cfd38f6ae6aa83674cc99e4d75a1458c165b7ab84725eda41d018a09176634"
            ]
        }

对于这一新的区块,节点会在“父区块哈希值”字段里找出包含它的父区块的哈希值。这是节点已知的哈希值,也就是第277314块区块的哈希值。故这个区块是这个链条里的最后一个区块的子区块,因此现有的区块链得以扩展。节点将新的区块添加至链条的尾端,使区块链变长到一个新的高度277315。图2.3显示了通过“父区块哈希值”字段连接三个区块的链。

图2.3