区块间的连接正是通过,下一个区块将上一个区块的“区块头”的哈希值写入自己的区块中(一个区块由记录着区块基础信息的“区块头”以及记录着所有具体交易信息的“区块体”构成),即将上一个区块头的“头哈希”值填入新区块的“父哈希”字段中,区块与区块之间通过“父哈希”建立起对应的连接关系,进而组成一条完整的区块链。这就意味着,第一,我们可以通过索引当前区块的“父哈希”一直追溯到第一个创世区块;第二,如果有人妄图篡改其中一个区块上任意一个数据,则会引起一连串区块哈希值的变化,其篡改行为则会立即被识别。
另外,每一个区块上记录的所有交易信息都保存在一个运用哈希算法的二叉树数据结构中(Merkle树)——将1到n笔交易数据看作是这个数据树上最外层的n个叶子(末端节点), 然后将末端节点两两分组计算哈希值,一组组哈希值形成新的一层节点数量更少的数据层,以此类推,直到我们得到一个单一的树根节点,而只要记住“根哈希”,则任何企图篡改交易数据的行为都会被检测到。
仅把“根哈希”记录在区块的“区块头”部分,大大降低对“区块头”数据储存的要求,比特币区块链上的每个节点得以储存整个区块链上完整的区块头数据,实现了区块链账本在每个节点处的备份。并且,Merkle树数据结构下,通过验证一笔交易通往根哈希的路径即可简洁快速的证明此笔交易是否存在在这个区块上。
这就实现了交易记录的可追溯和不可篡改!
附上一张区块链结构示意图,可以直观了解下~
补充说明一下,其实在区块链技术之前,人们也曾试图在互联网上点对点传输数字货币(本质上是数字信息)来实现无中介的价值转移,但受限于数字信息的可复制性以及无法解决重复支付问题,很难真正实现。而比特币区块链系统中,最伟大的创新是,货币拥有者不再需要通过证明自己所持有数字货币的唯一有效性来争取所有权,而是取决于所有权转移的过程被区块链网络上的其他节点们所认可——即你所拥有的比特币数量实际上是在那条最多的节点认可的长期共识的区块链上,你可以有效支出的比特币的数量。