区块链基础全解析
1. 哈希与默克尔树验证
假设你拥有数据块 D2,同时从分布式共识中获取到根哈希值 0123。你向分布式系统请求证明记录 D2 在树中,服务器会返回哈希值 3ce9、01e3 和 0123。验证过程如下:
1. 计算 D2 的哈希值,得到 2ad5。
2. 计算 [2ad5 + 3ce9] 的哈希值,得到 23a2。
3. 计算 [01e3 + 23a2] 的哈希值,得到 0123。
由于已知分布式共识中的根哈希值,通过上述验证可以确认 2ad5 存在于树中,进而证明记录 D2 也存在。而且,能提供有效哈希值让你从 D2 追溯到已知根哈希值的系统,证明其具有权威性。若有人试图伪造验证请求,是无法提供中间哈希值的。因为你未向系统提供根哈希值,只是要求其给出证明,分布式共识无法凭空捏造证明。此外,验证过程中透露的树的信息极少,所需数据包小,便于网络传输和计算验证。若声称拥有 D4 而非 D2,用 3ce9、01e3 和 0123 无法证明,因为 D4 与 3ce9 组合的哈希值与步骤 2 中的 23a2 不同,最终得到的根哈希值也会与共识根哈希值 0123 矛盾。
2. 从开发者视角理解区块链
从软件开发者角度看,区块链就像一个巨大的默克尔树。每个新块嵌入前一个块的哈希值以及当前块操作的根哈希值,最终形成哈希块链。这种默克尔树结构无需中央服务器,每个块可来自不同物理客户端,所以区块链也是分布式系统。有人可能认为区块链更像每个块上挂着默克尔树的链表,但这种看法有误,因为很难通过块的根哈希反向推导原始数据值。不过,哈希值具有不可变性,一旦区块链形成,原则上无法逆转。
超级会员免费看
订阅专栏 解锁全文
623

被折叠的 条评论
为什么被折叠?



