区块见闻 区块见闻
Ctrl+D收藏区块见闻

DEF:科普 | 使用覆盖层改变以太坊状态树的格式_区块链的未来发展前景ppt

作者:

时间:

作者:?GuillaumeBallet

翻译&校对:?裴奇?&阿剑

来源:以太坊爱好者

账户和合约存储数据的方式是影响以太坊的众多问题之一。以太坊协议选用了MerklePatriciaTree来组织账户及合约数据。尽管这种数据结构在理论上效果很好,但在实际应用中,它带来的问题却比它能够解决的问题多。核心开发者们已经讨论多年,想要把这种数据结构换为二叉树,我将在这篇文章中阐述我对这个问题的看法以及如何实现这种转变。

我所提议的处理方法包括一段时间的过渡期,在这段时间内,网络要同时维护两种树结构。这样做的好处是,转换树结构的过程不会影响链的运行,并且可以确保所有的账户都被转换成了二进制格式。

背景

目前,以太坊的状态树是十六叉制的。十六叉制表示每个节点有16个孩子节点。理论上讲,这种方式挺好的,因为孩子节点多意味着只需要更少的“层”便可存储所有数据。

美国说唱歌手Megan Thee Stallion与Cash App合作发布比特币科普视频:美国说唱歌手Megan Thee Stallion与由Square开发的移动支付服务Cash App合作发布了一段名为“Bitcoin for Hotties”的视频。该视频从她的角度解释了什么是比特币,为什么比特币有价值等内容。Megan Thee Stallion在Instagram上拥有超过2410万粉丝,在 Twitter上拥有640万粉丝。(Bitcoin News)[2021/8/8 1:41:10]

例如,下图是用十六叉树表示的键值对?(170,v)。十六进制中,170?记作?0xaa,因此你只需要两层:第一层记录第一个?a,第二层记录第二个?a。

欧易OKEx将于3月18日推出DeFi系列科普视频:据欧易OKEx官方消息显示,欧易OKEx将正式推出DeFi系列科普视频《欧易DeFi20讲》,本系列节目由欧易OKEx亚太区CEO马克金主讲。该视频首期将于3月18日11:00(HKT)推出,用户可以在欧易OKEx官方学院、金色财经观看。

《欧易DeFi20讲》主要包含DeFi入门指南、全景解读DeFi生态及如何参与DeFi三个篇章,可以轻松使用户了解DeFi原理,洞察DeFi价值,掌握DeFi热点,更多详情请关注欧易OKEx官方学院。[2021/3/18 18:55:59]

-图1.十六叉树的例子,展示了值v是如何在在对应键0xaa处是存储的。这棵树的键长度只有2个字节,只有沿着0xaa的子树被表现出来了。为了简洁,不相关的子树替换为“...”-

可以看出,上图的树很矮,而且很宽。给定相同的键值对,下图展示了二叉树存储的情形。170?在二叉树中被表示为?10101010。

人大附中物理老师李永乐科普拜占庭将军问题和区块链:5月14日,人大附中物理老师、科普视频网红李永乐在其公众号发布视频《拜占庭将军问题是什么?区块链如何防范恶意节点?》。李永乐老师在视频中对拜占庭将军问题和区块链进行了讲解,他表示,拜占庭将军问题本质上指的是,在分布式计算机网络中,如果存在故障和恶意节点,是否能够保持正常节点的网络一致性问题。在近40年的时间里,人们提出了许多方案解决这一问题,称为拜占庭容错法。例如兰波特自己提出了口头协议、书面协议法,后来有人提出了实用拜占庭容错PBFT算法,在2008年,中本聪发明比特币后,人们又设想了通过区块链的方法解决这一问题。区块链通过算力证明来保持账本的一致性,也就是必须计算数学题,才能得到记账的权力,其他人对这个记账结果进行验证,如果是对的,就认可你的结果。与拜占庭问题比起来,就增加了叛徒的成本。[2020/5/14]

动态 | 链客社区联合北京交通广播推出区块链技术科普节目:12月11日15:15—16:00,区块链技术社区——链客区块链技术社区将联合北京交通广播FM103.9从零开始为大众科普解码区块链技术,蜻蜓FM及北京广播网同期进行全球直播。首期做客嘉宾为链客区块链技术社区创始人郄建军和百度区块链产品负责人于雅楠。[2019/12/11]

-图2.与图1相同的键值对,存储在二叉树中。为了简洁,不相关的子树被表示为“...”-

从图中可见,二叉树要深得多,也窄得多。

以太坊中,每个区块包含一个?stateRoot?字段,这是该块处理完成后表示以太坊全局状态的MPT的树根哈希值。总的来说,这个哈希值是对根节点的16个孩子节点的哈希值所组成的列表作哈希运算得到的。这些孩子节点的哈希值又是孩子的16个孩子节点的哈希值所组成的列表做哈希运算得到的,以此类推。

中科院自动化研究所将面向大中小学生开展区块链等主题的科普讲座:5月21日,新华网讯,今年,中国科学院自动化研究所将举办第十四届“自动化之光”公众科学开放日活动。届时,自动化所将面向大中小学生分别开展《脑与智能》、《区块链技术与平行智能》、《大数据时代的视觉智能》、《动画真奇妙》等4个主题报告,用实例和生动的演示深入浅出地为大家揭示智能技术的原理和奥妙。[2018/5/21]

每次打包交易生成新区块时,矿工都会更新账户树,重新计算根哈希。根哈希存储在新区块的?stateRoot?字段,然后新区块被共识。

-图3.区块头中的状态根字段,指向十六叉树的树根-

问题在于:如果要对所有节点做哈希,重新计算根哈希的时间就太长了,因此,为了计算根节点的哈希,矿工将从数据库中检索?同层节点的兄弟哈希值。虽然后者花费的时间没有前者那么多,这个操作还是很耗时。因为每个哈希都必须从数据库中取出。

在十六叉树中,通常每一层你都需要取出15个兄弟哈希值。在上面那个我构造的例子中,就需要30个哈希值。

尽管二叉树层次更深一点,但在每一层只需要一个兄弟哈希值。在上述例子中,仅仅需要8个哈希值!这就是为什么在实际中二叉树更优。

覆盖层转变方法

不幸的是,转换为二叉树并不简单。需要转换的数据?太多了,执行转换花费的时间将多于15秒的区块生成时间。

除此以外,设想你要翻译一本5000页的书,作者还在不停地告诉你他们对故事做了些修改,并且这些修改会影响你已经翻译过的页……那这个过程就没完没了。转换状态树的格式也是一样的问题:可能你刚完成某个地址的格式转换,用户就使用了该地址,那你又得从头转换一遍。

解决这个问题的办法是增加一个过渡期,过渡期间,在十六叉树基层上建立一棵覆盖树。这棵覆盖树是二叉树格式的,它的作用是保存状态上发生的所有变化,直到基层十六叉树完全转换为二叉树。转换分为3步进行。

第1步——转换

在这种方法下,区块高度为?

H1?时肯定会有?

两个?状态根:一个是“基层”十六叉树状态根,一个是“覆盖层”二叉树状态根。

-图4.转换过程中,区块拥有两个状态根:一个是传统十六叉树的只读根,一个是覆盖二叉树的可读写根-

十六叉树被设置为只读,因此对状态的任何更新都将在覆盖树上进行。

当一笔交易读取或者更新一个账户时,系统首先会搜索覆盖树。如果在覆盖树中找不到账户,接着将会在旧的十六叉树中搜索值。

与此同时,十六叉树在后台进行转换。此时不需要担心值插入的问题,因为所有的改变都会存储在上层的覆盖树中。

第2步——基层树切换

当后台转换过程完成,矿工对外宣告,他们已经准备好用转换结果来替换只读的十六进制基层树根。对状态的读写与步骤1阶段是一样的。

-图5.转换的第二个阶段,矿工在区块头使用转换所得二叉树的树根替换十六叉树根,向网络示意他们已经准备好了-

当足够多的一系列区块对转换所得的二叉基层树根给出了相同的值,意味着大多数矿工都完成了转换,并且认可转换后的树。合并过程则开始。

第3步——合并两棵树

合并过程不断推进:每产生一个新的区块,就从覆盖树上删除n个键,把它们重新插入二叉基层树。此过程一直持续,直到所有的键都从覆盖树上移除。到达这步时,区块头就不再保留覆盖状态树的树根。

整个步骤的核心只有一个:如果交易执行时要写的键存在于覆盖树上,这个键就会从覆盖树上删除,写操作直接在二叉基层树上进行。

下一步

为了估计完成转换所需要的时间,我已经做了一个低转换率的原型系统。我们确信,整个过程花费的时间不会太离谱,也就是说几天时间就够了。我们会随着算法的改进而公布更多细节。

致谢

此提议得益于AlexeyAkhunov、VitalikButerin、AnnaGeorge、SinaMahmoodi、TomaszStanczak以及MartinH.Swende的宝贵意见。

原文链接:https://medium.com/@gballet/ethereum-state-tree-format-change-using-an-overlay-e0862d1bf201

标签:区块链EFIDEFDEFI区块链的未来发展前景pptGDEFIDEFIDOChargeDeFi

比特币价格今日行情热门资讯
SBF:巴比特专栏 | 区块链——从人类历史看数学重塑信任_区块链

作者:墨菲的时间 区块链最大的特色是去中心化,而去中心化实现的基础是共识。所谓共识,即共同的认识,没有分歧。共识的力量非常强大.

DOMI:起底16例中国区块链底层平台:应用层分化明显 金融场景成必争之地_wisdomisthewealthofthewise

来源:互链脉搏,作者:梁山花荣互链脉搏梳理了国内16家主要区块链底层平台的应用落地情况发现,超过七成底层平台开始将目标聚焦在各自细分领域,试图找到突破口,而剩余三成的底层平台仍在探索多领域应用.

DEFI:BTC跌破7000美元关口,反弹行情暂告一段落_defi币圈

作者|哈希派分析团队 美国说唱歌手Megan Thee Stallion与Cash App合作发布比特币科普视频:美国说唱歌手Megan Thee Stallion与由Square开发的移动支付.

SIL:区块链支付公司Sila完成770万美元种子轮融资,迎接下一代全球金融体系创新_DEFI

区块链银行服务和支付初创公司SilaInc.今天宣布已筹集770万美元种子轮新资金,将用于引入新的产品功能,使软件开发人员可以更轻松地访问全球金融系统.

DEFI:当“区块链”走入乡村,这地方用数字技术探索基层共治共享新路_区块链域名如何注册

来源:浙报融媒体 “映山红计划”在大石盖村的试点项目—美丽菜园。春风一吹,杭州市萧山区戴村镇的云石群山上,千亩野生映山红竞相开放,漫山遍野的红霞如同大山的恩赐,让这里获得不少城市客的青睐.

比特币:观点:减半之后,比特币网络安全模式或需调整_区块链

基于区块链的比特币等加密货币的关键特征之一就是其不可更改性。比特币的PoW网络模型虽然不是最佳的可扩展解决方案,但却巩固了其强大而安全的注册交易形式.