默克尔树特点及优缺点

在区块链中,主要使用Merkle 树来进行数据正确性的验证。

特点

默克尔树是一种树,可以是二叉树,也可以是多叉树。
默克尔树叶子节点的value是数据项的内容或者是数据项的哈希值;
非叶子节点的value根据其孩子节点的信息,然后按照hash算法计算得出;

优点

1、快速hash重计算:默克尔树中任何一个叶子节点内容变更,都能够在前一次的基础上,仅仅将被修改的树节点进行哈希重新计算就能够得到一个新的根哈希来代表整棵树的状态。
2、叶子节点存在证明:通过返回默克尔树中的节点路径来验证一个叶子节点是否存在,该证明过程又称为默克尔证明。通过默克尔证明可以实现轻节点的扩展。

缺点

存储空间开销大(存储中间hash,根据业务需求,也可以不存储)

THE END!

你可能感兴趣的:(数据结构)