编者按:本文来自以太坊爱好者,作者:GuillaumeBallet,翻译&校对:裴奇&阿剑,Odaily星球日报经授权转载。账户和合约存储数据的方式是影响以太坊的众多问题之一。以太坊协议选用了MerklePatriciaTree来组织账户及合约数据。尽管这种数据结构在理论上效果很好,但在实际应用中,它带来的问题却比它能够解决的问题多。核心开发者们已经讨论多年,想要把这种数据结构换为二叉树,我将在这篇文章中阐述我对这个问题的看法以及如何实现这种转变。我所提议的处理方法包括一段时间的过渡期,在这段时间内,网络要同时维护两种树结构。这样做的好处是,转换树结构的过程不会影响链的运行,并且可以确保所有的账户都被转换成了二进制格式。背景
目前,以太坊的状态树是十六叉制的。十六叉制表示每个节点有16个孩子节点。理论上讲,这种方式挺好的,因为孩子节点多意味着只需要更少的“层”便可存储所有数据。例如,下图是用十六叉树表示的键值对(170,v)。十六进制中,170记作0xaa,因此你只需要两层:第一层记录第一个a,第二层记录第二个a。
欧盟委员会:将确保整个欧盟范围内自由使用CBDC,并建立法律框架:金色财经报道,欧盟委员会周三发布了一项数字欧元提案,该提案将确保整个欧盟范围内自由使用CBDC,并建立法律框架,以便可以在线和离线从设备到设备进行数字欧元支付。该提案称,数字欧元将与现有的国内和国际私人支付方式(例如银行卡或应用程序)一起使用,它将像数字钱包一样工作,人们和企业可以在欧元区随时随地使用数字欧元进行支付。[2023/6/29 22:08:00]
-图1.十六叉树的例子,展示了值v是如何在在对应键0xaa处是存储的。这棵树的键长度只有2个字节,只有沿着0xaa的子树被表现出来了。为了简洁,不相关的子树替换为“...”-可以看出,上图的树很矮,而且很宽。给定相同的键值对,下图展示了二叉树存储的情形。170在二叉树中被表示为10101010。
Onramp开始使用CoinDesk指数来创建定制的投资组合:4月19日消息,数字资产财富管理公司Onramp Invest已开始使用CoinDesk指数来创建定制的投资组合。财务顾问将能够使用Onramp的市场访问CDI的指数,为具有不同偏好和风险承受能力的客户提供定制化选择。上线Onramp平台的指数包括CoinDesk Market Select Index(CMIS)、CoinDesk DeFi Select Index(DFX)和 CoinDesk Currency Select Index(CCYS)。[2023/4/19 14:14:23]
StarkWare总裁:要获得最大的可扩展性需使用能释放其潜力的编程语言:9月22日消息,在由万向区块链实验室主办的第八届区块链全球峰会上,以太坊扩容解决方案StarkWare联合创始人兼总裁Eli Ben-Sasson表示,STARK数学技术能够让人们相信,即使没有监管,也不需要监督计算的每一步,合约都会保证正确的执行。一台性能有限的计算机,可以监督并声明大量计算集群的可靠性,并且无需重新执行计算,这就是这项技术为什么会和区块链有关系。
Ben-Sasson称,StarkWare采用的方法是基于数学的证明,也就是有效性证明的方式,StarkWare要实现的目标是能够让任何人运行非常庞大的计算机,并且处理相关的事情,然而做执行的一切事情都必须向L1进行证明。如果想要获得最大的可扩展性,实际上需要使用能够释放其潜力的编程语言。[2022/9/22 7:14:17]
-图2.与图1相同的键值对,存储在二叉树中。为了简洁,不相关的子树被表示为“...”-从图中可见,二叉树要深得多,也窄得多。以太坊中,每个区块包含一个stateRoot字段,这是该块处理完成后表示以太坊全局状态的MPT的树根哈希值。总的来说,这个哈希值是对根节点的16个孩子节点的哈希值所组成的列表作哈希运算得到的。这些孩子节点的哈希值又是孩子的16个孩子节点的哈希值所组成的列表做哈希运算得到的,以此类推。每次打包交易生成新区块时,矿工都会更新账户树,重新计算根哈希。根哈希存储在新区块的stateRoot字段,然后新区块被共识。
声音 | TokenGazer:比特币使用量和关注度持续走低,仍需一段时间调整:据火星财经消息,研究机构TokenGazer发布《Bitcoin(比特币)12月月报》分析报告。报告指出,12月比特币在链上交易数量、使用量以及Google搜索指数上进入低点后进行相应回调,这表明短期内用户关注价值和使用价值都在恶化但仍存在一定市场基础;NVT(衡量比特币市值和使用量之间的关系)值不断下降,但仍处于高位,说明价格虽相对大幅度降低,但目前比特币使用价值仍旧处于泡沫较高阶段。报告还分析到,数字资产间的相关性显著提高,意味着整个市场走势高度受到比特币的领导。最后报告得出结论,基于使用量和关注度的持续走低,比特币仍然需要一段时间的调整。[2019/1/9]
声音 | Hyperledger执行董事:消费者很难意识到金融机构等何时使用区块链技术:据cointelegraph消息,日前,Hyperledger执行董事Brian Behlendorf表示,许多消费者都不会意识到金融机构、政府网站、甚至社交网络何时开始使用分布式账本技术。区块链可能会对在线身份领域产生重大影响。基于区块链的解决方案可以更安全地存储数据,而不是依靠Facebook或Twitter等集中式系统来存储信息。[2018/7/7]
-图3.区块头中的状态根字段,指向十六叉树的树根-问题在于:如果要对所有节点做哈希,重新计算根哈希的时间就太长了,因此,为了计算根节点的哈希,矿工将从数据库中检索同层节点的兄弟哈希值。虽然后者花费的时间没有前者那么多,这个操作还是很耗时。因为每个哈希都必须从数据库中取出。在十六叉树中,通常每一层你都需要取出15个兄弟哈希值。在上面那个我构造的例子中,就需要30个哈希值。尽管二叉树层次更深一点,但在每一层只需要一个兄弟哈希值。在上述例子中,仅仅需要8个哈希值!这就是为什么在实际中二叉树更优。覆盖层转变方法
不幸的是,转换为二叉树并不简单。需要转换的数据太多了,执行转换花费的时间将多于15秒的区块生成时间。除此以外,设想你要翻译一本5000页的书,作者还在不停地告诉你他们对故事做了些修改,并且这些修改会影响你已经翻译过的页……那这个过程就没完没了。转换状态树的格式也是一样的问题:可能你刚完成某个地址的格式转换,用户就使用了该地址,那你又得从头转换一遍。解决这个问题的办法是增加一个过渡期,过渡期间,在十六叉树基层上建立一棵覆盖树。这棵覆盖树是二叉树格式的,它的作用是保存状态上发生的所有变化,直到基层十六叉树完全转换为二叉树。转换分为3步进行。第1步——转换
在这种方法下,区块高度为H1时肯定会有两个状态根:一个是“基层”十六叉树状态根,一个是“覆盖层”二叉树状态根。
-图4.转换过程中,区块拥有两个状态根:一个是传统十六叉树的只读根,一个是覆盖二叉树的可读写根-十六叉树被设置为只读,因此对状态的任何更新都将在覆盖树上进行。当一笔交易读取或者更新一个账户时,系统首先会搜索覆盖树。如果在覆盖树中找不到账户,接着将会在旧的十六叉树中搜索值。与此同时,十六叉树在后台进行转换。此时不需要担心值插入的问题,因为所有的改变都会存储在上层的覆盖树中。
第2步——基层树切换
当后台转换过程完成,矿工对外宣告,他们已经准备好用转换结果来替换只读的十六进制基层树根。对状态的读写与步骤1阶段是一样的。
-图5.转换的第二个阶段,矿工在区块头使用转换所得二叉树的树根替换十六叉树根,向网络示意他们已经准备好了-当足够多的一系列区块对转换所得的二叉基层树根给出了相同的值,意味着大多数矿工都完成了转换,并且认可转换后的树。合并过程则开始。第3步——合并两棵树
合并过程不断推进:每产生一个新的区块,就从覆盖树上删除n个键,把它们重新插入二叉基层树。此过程一直持续,直到所有的键都从覆盖树上移除。到达这步时,区块头就不再保留覆盖状态树的树根。整个步骤的核心只有一个:如果交易执行时要写的键存在于覆盖树上,这个键就会从覆盖树上删除,写操作直接在二叉基层树上进行。下一步
为了估计完成转换所需要的时间,我已经做了一个低转换率的原型系统。我们确信,整个过程花费的时间不会太离谱,也就是说几天时间就够了。我们会随着算法的改进而公布更多细节。致谢此提议得益于AlexeyAkhunov、VitalikButerin、AnnaGeorge、SinaMahmoodi、TomaszStanczak以及MartinH.Swende的宝贵意见。
标签:STAINDCOIOINgtstarBasketDAO DeFi IndexBABYFLOKICOIN币PCOIN
头条亿邦国际向美国SEC提交IPO申请,拟最多筹资1亿美元比特币矿机生产商亿邦国际于周五向美国证券交易委员会提交IPO申请,希望在纽交所或纳斯达克上市,股票代号为EBON.
1900/1/1 0:00:00重要性:虽然在第一季度末ETH和美元锁仓大幅下降,但是这些数据只回到了2019年末的水平。由此可见,整个DeFi生态系统已经具备了一定的弹性,很快就会重现上涨趋势.
1900/1/1 0:00:001.今日市场概况今日市场总市值约为2100亿美元,相比昨日增加了10%。24小时交易量约为1300亿美元,相比昨日增加了13%.
1900/1/1 0:00:00编者按:本文来自巴比特资讯,作者:ColinHarper,编译:Wendy,星球日报经授权发布。基于以太坊的新期权交易协议刚刚上线,但是其代码已经遇到了重大问题.
1900/1/1 0:00:00本文来自:哈希派,作者:哈希派分析团队,星球日报经授权转发。 往期回顾:BTC稳步上行,减产行情持续发酵中※回顾昨日行情分析、获取更多精彩内容,请关注哈希派公众号获取.
1900/1/1 0:00:00编者按:本文来自MASS中文社区,星球日报经授权发布。PoC(Proof-of-Capacity)容量证明机制,是一种通过存储容量投入来争夺记账权和交易费用的共识达成机制.
1900/1/1 0:00:00