我们可以先画一个区块链的例子:
那么第一个区块是系统中产生的第一个区块叫创世纪块(genesis block)
最后一个区块是最近产生的区块(most recent block)
每一个区块都包含指向前一个区块的哈希指针,所以每一个块都有一个小的 H();最后一个区有一个H()(哈希值)保存在系统里
那么这种数据结构的好处是什么?
大家需要知道 我们在取哈希的时候 是把前一个区块的整个区块的内容合在一起取哈希,那么这样就可以实现tamper-evident log
所以区块链是牵一发而动全身:你改变前面的任何一个区块,后面所有的区块都会跟着改变。
所以区块链只需要保存最后一个哈希值,就可以检测任何一个部位的区块是否被改变。
而普通链,改变其中一个元素,对链表中的其他元素没有影响