人们往往把区块链里面的那个链字, 当成是一个很固定的一个意象, 但是实际上它指的并不只是那些哈希指针去串联在一起形成的东西, 而是指的一类数据结构, 这种东西是可以和别的东西做类比, 也是可以拿去替换的, 如果大家把这个事情给说清楚了, 讲明白了, 那么后面大家在进行选择的时候就会省心很多, 在读那种白皮书的时候也就不会太费劲了。
区块链类似链是什么
严格说来, 区块链里面的这个链它其实是哈希链, 具体来说是哈希链这种形式, 因为每一个区块都会带着前一个区块的那个哈希值,从而形成了一个那种单向并且不可以进行篡改的顺序序列, 而这种结构最开始的时候本来并不是为了去设计加密货币才有的, 它在信息安全这个领域里面, 其实就是一种去做数据完整性校验的基本手段。
因此, “区块链类似链”*这样一种说法, 其根本含义其实就是在提问, 也就是在探究这样一个问题: 当人们排除了哈希链这一种形式之后, 还有没有其他什么结构, 也同样能够具备*前驱指向后继*、*顺序不可跳跃*、*局部改动即全局失效*这几项特征。
区块链类似链有哪些
比较典型的情况有好几种。第一类是Merkle链这种东西, 它是怎么做的? 是把区块里面的数据给组织成二叉树的样子, 然后再把根的哈希值给放进区块头里面去, 这么一来, 既能兼顾查找的效率问题, 又能起到防止篡改的作用。
还有另一种叫锚定链的, 它是怎么做到的? 是在定期把链上面的关键状态写进外部数据库里面去, 然后外部数据又会用哈希值来指回链上, 就这样形成了一种双向的、可以验证的、类似于链的结构。

再往工程这个层面去仔细看, 在某些联盟链的实现里头, 所使用的那种被称作分片链的东西是这样的, 也就是交易会依据账户哈希被分布到好许多条子链上面去实现并行出块, 而对于每一条单独的子链来说, 它在内部其实仍然是采用哈希链的形式存在的, 并且这些子链彼此之间会通过定期进行交叉引用来保持全局一致的状态, 这样的一种结构类型在进行跨链互操作动作的时候是特别常见的。
在理解了这些不同的变动类型之后, 当你去阅读相关的设计文档或者是需要进行技术上的选择的时候, 你就不会被那个叫做“链”字的表面意思给困住。你能直接看透底层的指针是怎么进行串接的, 也能明白哈希值是如何被计算出来的。这样的话, 你的判断能力就会上升到一个更高的水平层级。
转载请注明出处:imtoken,如有疑问,请联系()。
本文地址:https://www.zmdyd.cn/gwimqb/10657.html
