MerkleTree是一种二叉树,其最底层叶子节点存储数据以及数据的哈希,而每上一层节点则存储两个子节点的哈希,最后由根节点的哈希保证这个MerkleTree的任何节点数据的完整性。因为修改任何一个叶子节点的数据都会导致根节点的哈希变化,因此,比特币使用MerkleTree保证一个区块内的所有交易均不可修改:
这样就可以把树的高度从160层压缩到40层。
40层的高度对于从根开始遍历还是太长了,我们可以参考MPT,把相同前缀的节点合并,一个节点可以直接跨越几个层级挂在上层节点上,这样可以大大缩短节点路径。
例如,对于空树,我们插入第一个叶子节点0x215A1C45...,它应该直接挂在根节点表示的子树索引为2的位置上:
如果插入第二个叶子节点0x215AB162...,因为有共同的前缀215A,所以需要创建一个中间节点215A,再把两个叶子节点分别挂在索引为1和11的位置:
这样对于叶子节点来说,只需要很少几次查找就能定位。
完整的SMT实现参考源码可以从GitHub下载:
https://github.com/michaelliao/eth-smt
责任编辑:Kate
主战场、局部战场、边缘战场,局势分别如何。作者:Azuma;编辑:郝方舟出品?|?Odaily星球日报“第二次稳定币大战已然打响.
2022年9月15日,以太坊合并。这是一个历史性的时刻,以太坊为此准备了5年、推迟了6次,由于反复的调试与长期的开发、万众瞩目的晕轮效应,很多人误以为合并会自然而然地带来更高的可扩展性、安全性和.
“区块链互联网”认为,未来的建设者将优先考虑专业化和主权。它代表了对加密货币未来的独特看法,并正在获得动力.
???世界上收视率最高的电视节目是什么?不是肥皂剧,不是新闻大片,更不是奥运会,而是四年一度的世界杯!这让FIFA已然成为世界上最富有、最有权势的国际体育组织.
引入 合并(TheMerge)的关键里程碑已于9月15日完成,根据Vitalik在2021年底发布的以太坊协议开发路线图,下一个重要阶段是TheSurge——解决以太坊可扩展性问题.
介绍 在互联网出现之前,计算机没有向其他计算机传输数据的方法。一旦计算机可以通过通用语言或协议传输数据,互联网就会迅速扩展.