模块化结构下EIP-4844的设计逻辑
来源: ETH汉语
作者:ECN
合拼(The Merge)的关键所在里程碑式已经在9月15日进行,依据Vitalik在2021年底公布的以太币协议书开发设计路线地图,下一个关键阶段是The Surge —— 处理以太币扩展性难题,减少交易费并提升货运量。The Surge紧紧围绕以Rollup为核心的路线地图开发设计,在承继以太坊网络的安全性与此同时,进一步提高 L2 rollup 的扩展性。
cr:https://twitter.com/ethereumcn/status/1466731320537612296?s=46&t=9yOAkX-0nd_xvSJIJ8_Pmw 这篇文章主要是详细介绍这一技术路线图中的一个关键工作中:EIP-4844 Proto-danksharding,它怎样促使 rollup 所要应用的信息变得越来越划算及其获取更多的存放数据的容积 (capacity)。EIP-4844 应该是以太坊网络的一次更新,这将促使 rollup 的花销减少 10-100 倍。主要是通过向以太币引进一种新的交易方式来达到,这类交易方式带上短暂性存有的 blob 数据信息。这类一个新的数据存储结构就是为了储放 rollup 的一些数据信息,它要比现阶段 calldata 的形式划算的多。除此之外,4844 是完整篇 Danksharding (在前面的前提下再扩充 10-100 倍!) 的前提。 以太币分片技术路线地图 针对以太币分块设计方案的现况,前以太坊基金会开发人员 Protolambda 做了一个简约的叙述: 含有 “crosslink” 的可操作的 “分块链” 已淘汰,反而是升级为:在传送门链中获得 EVM;应用 “数据可用性取样” 的以 rollup 为核心的以太币路线地图,扩充以太币基础梁而无需提升应用场景的多元性。 往往做这种简单化,主要有两种缘故: 防止加上更多 L1 多元性。分块规范和标准已重新写过数次,很多科学研究都过度抽象化甚至完成的日子了无望,而且让 L1 越来越僵硬。 而如果能妙用封装形式多元性与应用区块链模块化设计构造,以太币基础梁做为 rollup 的数据可用性层,将测算的重担交到做为决策层的 L2。那样 L1 只专注处理数据问题,不同类型的 rollup 精英团队处理各自开发设计难题,进而极大地提高扩充效率。 封装形式多元性和模块化设计在以太币里的运用 模块化设计区块链是扩充中一个至关重要的定义。模块化设计代表着“封装形式多元性”,这可以大家在不同控制模块中加入扩展性。依据 Vitalik 的帖子《协议设计中的封装复杂性和系统复杂性权衡》中的解释,当一个系统软件蕴含着一些繁杂的分系统,但对外开放给予一个简单的“插口”时,就容易出现“封装形式多元性”;当全面的不一样一部分乃至无法完全分离出来,而且彼此之间具备繁杂功效时,就容易出现“系统软件多元性”。 2020 年 10 月,Vitalik 发布文章内容《以 Rollup 为中心的以太坊路线图》,确认了为 L2 rollup 扩充协议书服务保障的理论依据:将决策层 (L2) 和数据层 (L1) 分离出来,以太币共识层 (L1) 为他们提供安全防范措施。 分离出来决策层和数据层的好处在于,数据层的高速发展能保持比较稳定,而决策层 (即 rollup) 则能够更加多主体性、更为自主创新地快速迭代,不用得到 L1 关键开发者平台的允许开展更新。 上边简要介绍以 rollup 为核心的以太币路线地图里的区块链分层次状况,那么在 PoW 与 PoS、L1 与 L2 间的模块化设计构架是怎么样的呢? cr: Protolambda 图上展现了合拼前单一型 PoW 链 vs. 合拼后 L1 共识层 (PoS) 和 L1 决策层 (EVM) 间的模块化设计关联。而 PoS 和 EVM 间的合拼理论是通过一个称为 ”Engine API“ 的东西了达到的。如图是合并后详细手机客户端的模样,的中间 API 促使以太币共识层 (PoS) 和决策层 (PoW) 中间能够实现通讯。这也是以太币主网络上的第一个模块化。 cr: Danny Ryan 那样 L1 和 L2 之间有怎样连接的啊? cr: Protolambda 能够看见图中中,L1 和 L2 中间会有一个 API,分别是2套手机软件。 cr: Protolambda 这也是以太币再加上诈骗证明或实效性证实以后的平面图,等同于将 L2 作为一个决策层联接以太币 EVM,那么你保持现阶段的 L2 决策层。但这将会有一个问题,因为就算能够层叠决策层,但这样效率低下,因此我们需要一个数据层。 cr: Protolambda 以上平面图,L1 做为数据层,L2 承担实行测算。 数据可用性是扩充的关键所在短板 以太币现阶段遭遇的一大短板便是数据可用性,这就是我们下面一年里提升扩展性所要提升的范围。 最先我们看一笔 rollup 买卖包括什么花销: 实行花销 (网络里全部连接点实行买卖而且认证其实效性的花销) 储存/情况花销 (应用新数值升级区块链 “数据库系统” 的花销) 数据可用性花销 (将数据发布至 L1 的花销) 在其中,前几笔花销全是 Rollup 互联网上的耗费,占总开销比例极低。而数据可用性花销才算是扩充的关键所在短板。 我们为什么必须这类数据信息呢? 保证数据的易用性能让所有人都可以不用批准地重新构建情况。 L2 所提供的扩展性是由将实行定期检查确保网络信息安全这两项工作中分离出来而得到的。这让我们还有机会同歩及其获得认证情况的信息,而在这个过程中定序器不容易并对有直接关系。 现阶段,rollup 上传数据到 L1 都以 calldata 的方式。这种方法十分贵,calldata 是一种并没有剪修完的十分并没有的效率数据形式,必须以一种曲折的形式将数据信息存放以太币,一个非 0 字节数就需要投入 16 gas。因此出现二种粗暴减少这类花销的办法: calldata 缩小,许多 rollup 新项目都已开始关注缩小 calldata 的优化算法并整合到他的系统内。 EIP-4488,将每一个非 0 字节数的 calldata 花销从 16 gas 降到 3 gas。 可是应用 calldata 的形式始终都是不可持续发展的,因为这个会引发 L2 没有用的遗留下花销。那样是否有更雅致的方法呢? 数据可用性、数据信息可恢复、长期性数据可用性等这些不同种类的专有名词,他们之间的差别便是易用性的时间各不相同。比如说,你希望这些信息的可以用时长充足长来考验定序者、重新构建情况。实际上,我们不需要信息是始终可利用的。在数字货币的假定中,储存超过一年的信息,客户可能会在一个地方寻找它,可能把它同歩到某一个点,而无需一直上溯到创世区块。 而 EIP-4844 这一提议则是让我们可以对数据信息做一些剪修,毕竟在这一提议下,数据信息只需保存其易用性充足长一段时间,让负责任的互联网参加者重新构建详细情况而且考验定序器。 EIP-4844 Proto-danksharding EIP-4844 建议什么? 将数据可用性加上至以太币且不易毁坏可组合性,换句话说大家可以在 L1 有一个决策层,同时还可以在墙上加上数据可用性。 cr: Protolambda 如下图所示,现在我们有 L1 共识层、L1 决策层、L1 数据层、L2 决策层。在这种分层架构下,大家赢得了封装性,最后我们不一样团队能够针对不同难题,并单独地提升某一层的扩展性。 引进一个新的交易方式 Blob-carrying Transaction EIP-4844 引进一种新的交易方式,这类交易方式与一般以太币买卖对比多了一个 blob 位置用于储放 L2 的信息。较为与众不同的是,Blob 数据信息在一个月以后就会被连接点删掉,进而非常大地节约了储存空间。 那我们怎么添加这类数据信息呢? 让我们称这个信息为 “blob”,这是一种非常模糊不清的数据形式,类似一种字符串数组。“Blob” 能被额外到一笔交易过程中,这笔交易如同别的买卖一样在以太币系统内运作。 但附带的具体内容具备自己的一生周期时间。可以看图中图例:最先,rollup 运营人会列入普通买卖,形成 L2 买卖捆,现阶段是由 calldata 的形式将买卖 batch 立即发送到 L1。而有了 4844 以后,增加了一种带上 “blob” 数据库的交易方式 “blob 买卖”。这一 “blob 买卖” 承担付款交易费,将服务承诺 (commitment) 包括进交易过程中以高效地证实该 blob 中出现的随意数据信息。可是附带的具体内容 (即 blob 数据信息) 本身就是与 “blob 买卖” 分开的,能把这类数据信息看作一个挎斗 (sidecar)。 (Sidecar 在不影响主运用的情形下,会下去一个辅助应用,来协助主运用做一些基本性的甚至额外工作中。这一 sidecar 一般是和主应用部署在一起,因此在相同条件下运作。这当中还有一些功能上考虑,sidecar 如果跟源程序通信网络上面有延迟时间就容易出现性能问题。这一辅助应用不一定归属于应用软件的一部分,而是及应用相互连接。这便好像挎斗摩托车,每一个摩托都有各自单独辅助一部分,它伴随着主运用运行或终止。由于 sidecar 其实是一个单独的服务项目,大家可以在上边多做一些物品,比如 sidecar 之间互相通讯、或者利用统一的连接点操纵 sidecar ,产生互联网服务 Service Mesh。 如果你想知道二者的差别,大家要了解以太币合拼前及其合拼后区块链构成。 cr: Danny Ryan 图中为合拼后传送门区块链,决策层被裹在共识层里,而 EL 最重要的一部分便是 ExecutionPayload (实行负荷)。 EL 和 CL 各自承担2个基本功能,前面一种实行 EVM,后面一种承担 PoS 的共识。传送门区块链其中包含 EL 的ExecutionPayload,外层情况根为传送门链状态下的升级,EL 内状态根乃是 EVM 账户状态升级。 我们现在再次看来 Calldata 和 blob data 之间的差别。 最先,这几种基本数据类型有着不同的生命期。Calldata 存在 “execution payload” 中 (普通 L1 买卖),而 blob 数据储存于共识层中。换句话说 “blob” 储存在一个 Prysm 连接点或是 Lighthouse 连接点中,不要在 Geth 中。随后这种共识层连接点会到特殊一段时间之后对 blob 信息进行剪修。 “Blob” 在互联网的运行步骤如图所示: cr: Protolambda 定序器给出的数据 -> L1 谈妥数据信息 -> 将 Blob sidecar 从 Blob 交易过程中提取出来 -> Blob 交易过程中的落实出现于 Execution Payload 中 -> rollup 认证情况所需的数据信息则来到另一侧的数据库系统中,L2 验证者能下载这种 sidecar 并同歩 L2。 Blob 有两种明显的特性: 第一便是不会被合同载入,如图是一笔 blob 的交易模样,能够看见 EVM 不容易载入 blob。 cr: Protolambda 如同之前所详细介绍那般,blob data 储存在共识层连接点中,和 calldata 值得被合同载入所耗费的网络资源对比更便宜的多。 第二就是,一个月后,共识层连接点会让 blob 里的值开展删掉。区块链室内空间一直以来关键均由买卖占有着,不过随着 L2 的高速发展,L1 基础梁继而变成 L2 的数据层,calldat 便会占有更多区块链室内空间。可以按时删掉 blob 数据信息得话,能够很好地处理 L1 情况膨胀难题。 汇总 伴随着 Rollup 科技的慢慢健全,数据可用性变成每个解决方法更进一步扩充的难题。而 L1 作为一个为Rollup 服务保障的基础梁,它不但能够为 rollup 给予安全防范措施,还能够当做 rollup 的数据层,让扩展性完成指数级的提高。Proto-danksharding 做为完整篇 Danksharding 的前提,根据引进 带上 “blob data” 的交易方式这样的一个重新设计,让基础梁更没压力地储放 L2 数据信息,与此同时不受影响数据可用性安全性。









转载:驼鸟区块链
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。

鸵鸟区块链要闻



