链式结构是什么意思?

时间:2022-05-05 13:10:07

区块链应用的所有区块之间按照时间先后顺序连接成一个完整的链条。链式结构是什么意思?通过该单向链条既可以逐渐增加区块,链式结构当一个新的区块创建后,就补充在最后一个区块后面,同时该单向链表也可以回溯所有发生的交易信息,从链式结构而确保安全性和可验证性。展示了一个简要的链式结构。

所有的区块连接成一长串,应用的所有交易信息都将保存在区块内,并且通过链条串联一起,每一笔交易都可以进行向前溯源,从链式结构而找到每笔交易的所有历史记录。由于该长串链条由每个节点认可,如果有人想要篡改链条,几乎是不可能的事情,他必须修改所需篡改的区块以及之前的所有区块,否则链式结构通过链条的溯源机制,很快就可以发现问题。而篡改前面的所有链条,几乎是不可能的事情,因此区块链十分安全。

在本区块内有四笔交易,每笔交易对应Merkle树的叶子节点,使用哈希函数对每笔交易进行计算,分别得到哈希值1、哈希值2、哈希值3以及哈希值4。然后链式结构通过对每个哈希值进行两两合并哈希,分别形成哈希值(1+2)以及哈希值(3+4)。最后哈希值(1+2)与哈希值(3+4)进行两两合并哈希,得到本区块所对应的Merkle树的根,链式结构存储在该区块的区块头中。根据哈希计算的特点,只要交易1到交易4中的任何一个交易被修改,就会直接影响Merkle树的根的结果,从而容易验证出交易是否被恶意篡改。另外,链式结构Merkle树的一个显著特点是具有很好的溯源性。从图2.7可以看出,如果交易2被修改了,则会直接影响到哈希值2、哈希值(1+2)以及Merkle树的根。因此通过对Merkle树进行比较可以溯源哪个交易被篡改。另外,后面讲到的零知识证明也可以由Merkle树来完成。