MerkleTree是一种二叉树,其最底层叶子节点存储数据以及数据的哈希,而每上一层节点则存储两个子节点的哈希,最后由根节点的哈希保证这个MerkleTree的任何节点数据的完整性。因为修改任何一个叶子节点的数据都会导致根节点的哈希变化,因此,比特币使用MerkleTree保证一个区块内的所有交易均不可修改:
这样就可以把树的高度从160层压缩到40层。
40层的高度对于从根开始遍历还是太长了,我们可以参考MPT,把相同前缀的节点合并,一个节点可以直接跨越几个层级挂在上层节点上,这样可以大大缩短节点路径。
例如,对于空树,我们插入第一个叶子节点0x215A1C45...,它应该直接挂在根节点表示的子树索引为2的位置上:
如果插入第二个叶子节点0x215AB162...,因为有共同的前缀215A,所以需要创建一个中间节点215A,再把两个叶子节点分别挂在索引为1和11的位置:
这样对于叶子节点来说,只需要很少几次查找就能定位。
完整的SMT实现参考源码可以从GitHub下载:
https://github.com/michaelliao/eth-smt
责任编辑:Kate
近期,Bankless的两位联合创始人RyanSeanAdams以及DavidHoffman,与来自Cosmos社区的两位OGSunnyAggarwal和ZakiManian展开了一场关于Cos.
1900/1/1 0:00:00主要观点Yearn即将发布的veToken模型使用投票锁定和保险库计量器来分配协议收益;投票锁定激励YFI持有者通过根据其承诺的规模和长度增加他们的治理能力和YFI所有权份额来与Yearn的长期.
1900/1/1 0:00:00冬天来了。2022年第3季度的风险投资金额减少至2022年第2季度的33%。但是,我们需要非常专注,因为熊市是真正创新发生的时候.
1900/1/1 0:00:00过去20天,GMX平均每天有930名活跃用户交易1.1亿美金,可以说是目前最成功的去中心化衍生品交易所.
1900/1/1 0:00:0010月31日,香港财政司正式发布《有关香港虚拟资产发展的政策宣言》就在香港发展蓬勃的虚拟资产行业和生态圈,阐明政府的政策立场和方针.
1900/1/1 0:00:00通过10X扩展加密的用户体验和安全性Vitalik说,账户抽象是“我们一直想要的东西”,它“长期以来一直是以太坊开发者的梦想社区”.
1900/1/1 0:00:00