当前位置:首页>货币平台

模块化结构下 EIP-4844 的设计逻辑

日期:2023-03-17

来源:玫瑰财经网

浏览:

    模块化结构下 EIP-4844 的设计逻辑

    注:本文是根据Optimism团队研究人员、前以太网基金会研究人员PROTOLAMBDA 7月在EthCC Paris发表的演讲编制的,并参考其他优秀文章(列在本文末尾)整理。

    引进

    合并(The Merge)的主要里程碑于9月15日完成,根据Vitalik在2021年末发布的以太网协议开发路线图,下一个重要步骤是The Surge ——解决以太网可扩展性问题,降低交易成本,提高吞吐量。The Surge围绕以rollup为中心的路线图开发,在继承以太网网络安全的同时,进一步提高了第2层rollup的可扩展性。

    CR:https://TWITTER . com/ETHEREUMCN/STATUS/1466731320537612296S=46t=9yOAkX-0nd_xvSJIJ8_Pmw

    本文档重点介绍了本技术路线图的核心任务:EIP-4844 Proto-danksharding。EIP-4844 Proto-Danksharding说明了如何使rollup所需的数据更便宜,并获得更多存储容量(容量)。EIP-4844是以太网系列网络的升级,可将rollup开销减少10-100倍。它是通过将具有暂时存在的blob数据的新交易类型引入以太网来实现的。(阿尔伯特爱因斯坦,Northern Exposure,成功)这种新的数据存储方式是为了存储rollup的部分数据,比现在的calldata方式便宜得多。此外,4844是Danksharding的正式版本(以之前为基准,将扩展10至100倍!)的前提条件。

    以太网方形雕刻技术路线图

    前以太坊基金会开发人员Protolambda对以太坊雕塑设计现状做了简要说明。

    不使用带有“crosslink”的可行“碎片链”,而是使用信号链中的EVM已更新为实施。用于数据可用性采样的以rollup为中心的etherboard路线图使您能够扩展基于etherboard的层,而不会增加应用程序环境的复杂性。

    这样简化主要有两个原因。

    不要增加更多的L1复杂性。碎片化的规范已经改写了很多次,很多研究太抽象或实现的日子遥遥无期,让L1僵化。

    如果能够巧妙地利用封装复杂性和应用程序区块链模块化结构,Etherbank基础层是rollup的数据可用性层,将计算任务交给执行层L2。这样,L1只专注于解决数据问题,不同的rollup团队可以解决自己的开发问题,从而显着提高扩展效率。

    Etherfang应用程序中封装复杂性和模块化

    模块化区块链是扩张中非常重要的概念。模块化意味着“封装复杂性”,这为各种模块增加了可扩展性。根据Vitalik的文章《协议设计中的封装复杂性和系统复杂性权衡》,系统包含复杂的子系统,但向外部提供简单的“界面”时会出现“封装复杂性”。系统复杂性发生在系统的不同部分没有完全分离,而是互相扮演复杂的角色时。

    2020年10月,Vitalik发表了文章《以 Rollup 为中心的以太坊路线图》,将第2层rollup扩展协议保护的基本想法:执行层(L2)与数据层(L1)分离,以太网共识层(L1)分离,提供安全性。

    将执行层与数据层分开,数据层的发展可以相对稳定,而执行层(即rollup)的优点是无需L1核心开发者社区的许可,即可更加自主、创新、快速地重复。

    以Rollup为中心的以太网路线图概述了区块链分层。PoW和PoS、L1、L2之间的模块化体系结构是什么

    Cr: Protolambda

    图中显示了合并前单个PoW链与合并的L1共识层(PoS)和L1执行层(EVM)之间的模块化关系。PoS和EVM之间的集成技术是通过名为“Engine API”实现的。下图显示了整个合并的客户端。通过中间API,可以在以太网连续层(PoS)和执行层(PoW)之间进行通信。这是以太网广场主网络的第一个模块化设计。

    Cr:丹尼瑞恩

    那么L1和L2是如何连接的呢

    Cr: Protolambda

    在上图中,L1和L2之间有两组软件API。

    Cr: Protolambda

    这是以太坊加上欺诈证明和有效性证明后的示意图。这相当于将L2作为运行层连接到Etherfance EVM,然后保留当前的L2运行层。但是,即使可以堆叠执行层,也可能会出现问题,因为效率低下,需要数据层。

    Cr: Protolambda

    在上图中,L1作为数据层,L2执行计算。

    数据可用性是扩展的关键瓶颈

    以太目前面临的主要瓶颈之一是数据可用性,这是未来一年为提高可扩展性需要改进的领域。

    首先,让我们看一下rollup交易中包含的开销。

    执行开销(网络中所有节点执行和验证事务的开销)

    存储/状态开销(用新值更新区块链“数据库”的开销)

    数据可用性开销(将数据发布到L1的开销)

    其中前两个开销都是Rollup网络的成本,总开销的百分比非常低。数据可用性开销是扩展的关键瓶颈。

    我们为什么需要这样的数据

    确保数据可用性后,任何人都可以在未经许可的情况下重新配置状态。

    第2层提供的可扩展性可以通过执行检查和确保数据安全来实现。这使测序仪有机会同步和获取没有直接影响的验证状态的数据。

    目前,将数据从rollup上载到L1都是calldata格式。这个方法很贵。calldata是一种未经修剪的非常低效的数据格式,需要在ETHOUS中以迂回的方式存储数据。如果不是0字节,则需要16 gas。因此,有两种方法可以粗暴地减少这种支出。

    Calldata压缩,许多rollup项目开始研究calldata压缩算法并将其集成到系统中。

    EIP-4488将每个非0字节的calldata开销从16 gas降低到3 gas。

    但是,使用calldata的方式不能一直持续下去,因为这可能会导致L2不需要的遗留开销。那么,没有更优雅的方法吗

    数据可用性、数据可恢复性、长期数据可用性等不同类型的名词之间的差异在于可用性的时间不同

    模块化结构下 EIP-4844 的设计逻辑

    。例如,我希望这些数据能够使用足够长的时间。事实上,不需要数据的东西永远可以使用。在以太的假设中,如果存储一年以上的数据,用户可以在某个地方找到它,并将其同步到某个点,不需要追溯到创造块。

    EIP-4844是一个建议,允许诚实的网络参与者细化数据,因为他们只需将数据保留足够长的时间,就可以重组整体状态并挑战测序仪。(注:EIP-4844、EIP-4844、EIP-4844、EIP-4844)

    EIP-4844 Proto-danksharding

    EIP-4844建议什么

    在不破坏组合性的情况下,为以太网房间添加数据可用性。也就是说,您可以在L1中添加执行层,并在其上添加数据可用性。

    Cr: Protolambda

    如图所示,有L1共识层、L1执行层、L1数据层和L2执行层。在这种分层体系结构中收到封装后,多个团队可以解决不同的问题,并单独提高一层的可扩展性。

    引入新的事务处理类型b-carrying Transaction

    EIP-4844引入了一种新的事务类型,比常规以太网事务多一个blob位置来存储L2的数据。一个月后,Blob数据被节点删除,从而大大节省了存储空间,这是独一无二的。

    那么,我们如何添加这些数据呢

    图:“水滴”生命周期;Cr:Protolambda

    我们称这个数据为“blob”,这是一种非常模糊的数据格式,类似于一种字符串。与其他交易一样,Blob被添加到在以太网系统上运行的交易中。

    但是,附加的内容有自己的生命周期

    模块化结构下 EIP-4844 的设计逻辑

    。请看上图。首先,rollup运营商包含普通交易,创建L2交易捆绑包,目前通过calldata将交易batch直接发送到L1。4844年以后,新增加了携带“blob”数据的“blob交易”交易类型。这个“blob交易”负责支付交易费用,为了有效证明该blob中存在的所有数据,将“commitment”纳入交易中。但是,附加的内容,即blob数据本身与“blob交易”是分开的

    模块化结构下 EIP-4844 的设计逻辑

    ,因此可以将此数据视为交叉包。

    (Sidecar在不更改主应用程序的情况下创建辅助应用程序,以辅助主要或附加任务。此sidecar通常与原生应用程序一起部署,因此在同一个环境中运行。此外,还有一个性能注意事项,如果sidecar与主程序网络通信存在延迟,则可能会出现性能问题。这个辅助应用程序不是应用程序的一部分,而是仅与应用程序相关联。这就像摩托车一样,每辆摩托车都有自己的辅助部分,与主应用程序一起启动或停止。Sidecar其实是一项独立的服务,所以我们可以在上面做很多事情。例如,sidecar可以相互通信,也可以通过统一的节点控制sidecar,形成internet服务网。资料来源:https://blog . csdn . net/lxlmycsdnfree/article/details/126286243)

    Blob data与call data

    要想知道两者的差异,首先要了解以太的合并前和合并后的区块构成。

    Cr:丹尼瑞恩

    上图是集成的信号块,执行层被共识层包围,EL最核心的部分是执行负载。

    EL和CL分别负责两个主要功能:运行EVM和负责PoS协议。信号块中包含EL吗的ExecutionPayload,外部状态根是信号链状态的更新,EL内的状态根是EVM帐户状态更新。

    现在让我们再看一下Calldata和blob data之间的区别。

    首先,两种数据类型有不同的生命周期。Calldata位于“execution payload”(普通blob交易)中,blob数据存储在共识层。换句话说,“水滴”存储在Prysm节点或Lighthouse节点中,而不是Geth中。然后,这些一致层节点在特定时间段后修剪水滴数据。

    网络中“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数据,就能很好地解决BLOB状态膨胀问题。

    摘要

    随着Rollup技术的发展,数据可用性成为每个解决方案进一步扩展的瓶颈。L1是rollup保护的基础层,不仅可以为rollup提供安全性,还可以充当Rollup的数据层,以指数级提高可扩展性。Proto-Danksharding作为正式Danksharding的前提条件,

    单击下载

    European Exchange金融投资European Exchange(也称为Eurokx)是世界领先的数字资产交易所,为全球用户提供比特币、莱特货币、以太网货币等数字资产的现货和衍生品交易服务,并使用区块链技术为全球交易者提供高级金融服务。这是一个非常古老的数字货币交易平台,平台为我们提供安全、专业的数字货币交易经验,为新手提供完整的流程指导,使其易于启动,通过客服24小时在线回复提供最佳服务。

    4

相关文章阅读

Copyright (c) 2022 玫瑰财经网 版权所有

备案号:冀ICP备17019481号

玫瑰财经网发布此信息的目的在于传播更多信息,与本站立场无关。玫瑰财经网不保证该信息(包含但不限于文字、视频、音频、数据及图表)全部或者部分内容的准确性、真实性、完整性、有效性、及时性、原创性等。
相关信息并未经过本网站证实,不对您构成任何投资建议,据此操作,风险自担。