参考资料《区块链:技术驱动金融》
我们都知道,指针是指向某个元素地址的计算机对象,通过指针指向的地址,可以找到对应的变量。哈希指针也是相似的,不同的是哈希指针不仅可以指向数据的存储位置,还可以明晰某个时间戳下该数据的哈希值。
哈希指针结构图
如图所示,通过哈希指针H(),不但可以定位到对应数据块的位置,而且还可以知道,对该数据块进行哈希操作之后的哈希值是什么。所以,一旦数据块中的数据发生的改变,对它做哈希操作之后的哈希值必然和之前的不同,于是,通过哈希指针也可以得知数据是否被篡改。
区块链正是用哈希指针构建的链表,如下图所示。
区块链
通过后一个区块的哈希指针,不仅能找到前一个区块,而且能够防止有人篡改数据。如果有人妄想修改某个区块的数据,那么它后面的那个区块的哈希指针,不能够和篡改数据后的区块生成的哈希指针匹配,如下图所示:
防篡改日志
因此,只要我们保存好链表最后的那个哈希指针,就一定能发现是否有人篡改了区块数据。
链表头部的第一个区块(在比特币区块链中是中本聪挖到的第一个区块)被称为创世区块。
网友评论