Vitalik Buterin:使用calldata扩展和分片扩展rollup的分

未知 2021-11-30 09:37:18

Vitalik  Buterin:使用calldata扩展和分片扩展rollup的分步路线图

Rollup可能是短期和中期的,也可能是长期的,是以太坊信任扩展解决方案的唯一方法。 近几个月来,L1的交易费用非常高,因此采取必要措施促进整个生态系统向rollup的转移更为迫切。 Rollup大大降低了许多以太网用户的成本。 l2fees.info的Optimism和Arbitrum的成本比以太坊的基本层本身低约3~8倍,ZK rollup的数据压缩能力强,可以避免包含签名,比基本层低约40-100倍

但是,即使是这些费用对很多用户来说也太贵了。 长期以来,解决现有形式的rollup长期存在的不足被认为是数据切片。 这将向链中添加约1-2 MB/秒的专用数据区域,用于滚动。 本文介绍了一种尽快解锁rollup数据区域并实现随着时间推移添加更多区域和安全性的解决方案的实用方法。

步骤1: tx呼叫数据扩展

当前的rollup使用的是事务调用数据。 因此,如果希望在短期内增加rollup的容量并降低成本,而不要求rollup团队进行其他工作,则只需要降低calldata的交易成本。 今天的平均块大小远远达不到威胁网络稳定性的大小,所以可以安全地这样做。 但是,为了防止非常不安全的边缘状况,可能需要附加逻辑。

请参阅: EIP 4488或备选方案(更简单但效果更平稳) EIP 4490。

EIP 4488需要将rollup的可用数据空间增加到每个插槽约1MB的理论最大值,从而将rollup成本减少约5倍。 这个可以比之后的步骤更早实施。

第二步:一些碎片

同时,我们可以开始工作,推出“合适”的瓷砖。 虽然以完整的形式实现适当的切片需要很长的时间,但是我们能做的就是一点一点地做到这一点,从所有的部分中受益。 要实现的第一个自然部分是瓷砖规格的“商业逻辑”,但是通过将瓷砖的初始数量维持在非常低的水平,例如4,避免了大部分网络相关的困难。 每个瓷砖将在自己的子网中播放。 默认情况下,认证者信任委员会,但只能根据需要在每个子网上进行选择,并在看到信标块所确认的切片块的完整主体之后接受信标块。

切片本身并不困难。这是与最近发布的Altair硬叉相似的模板代码更改,Altair信标更改规范文件为728行,分片信标更改规范文件为888行,所以Altair的实现和部署

为了使平铺数据实际上可以用于rollup,rollup必须能够证明平铺数据。 有两个选择。

添加BEACONBLOCKROOT操作码; rollups添加代码,验证扎根于历史信标链块根的Merkle证书。 添加面向未来的状态和历史访问的预编译,以便rollups在将来的承诺方案发生更改时不需要更改代码。 这将使rollups数据空间增加到每个插槽约2 MB。 每个瓷砖将添加250 kB * 4个瓷砖和在步骤1中扩展的呼叫数据。

第三步:由委员会保护的n块瓷砖

将活动切片的数量从4个增加到64个。 由于分片数据将进入子网,因此此时P2P层必须足够坚固,可以划分为更多的子网。 数据可用性的安全性基于许多诚实的人,取决于委员会的安全性。

这将使rollup数据空间增加到每个插槽约16 MB。 每块瓷砖250 kB * 64块瓷砖。 假设此时rollup将从exec链中迁移。

步骤4 :数据可用性采样(DAS ) )。

添加数据可用性采样以确保更高级别的安全性,并在发生大部分不诚实的攻击时保护用户。 数据可用性采样可以分阶段进行。 首先,网络可以通过非绑定方法进行测试,然后作为接受信标块的要求,可以在其他客户端之前在一些客户端上执行。

数据可用性采样完全部署后,分片部署完成。

瓷砖下的最佳侧滚和ZK侧滚

平铺区域与当前状态的一个主要区别在于,在平铺区域中,滚动数据不会实际成为将滚动块提交给智能合约的交易的一部分。 相反,数据公开步骤和rollup块提交步骤必须分开。 首先,数据发布步骤将数据放入链中,然后提交步骤提交该头文件并指向基础数据。

由于Optimism和Arbitrum使用两级设计来提交rollup块,因此它们对代码更改都很小。

Vitalik  Buterin:使用calldata扩展和分片扩展rollup的分步路线图

对于ZK rollup,有点棘手,因为提交事务需要证明直接操作了数据。 他们可以制作ZK-SNARK来证明切片内的数据与信标链上的约定一致,但这是非常昂贵的。 幸运的是,有更便宜的替代品。

如果ZK-SNARK是基于BLS12-381的PLONK证书,则可以直接将切片数据作为输入提交。 BLS12-381切片数据承诺是KZG承诺,与PLONK的承诺类型相同,因此可以作为公共输入直接传递给证书。

如果ZK-SNARK使用一些不同的方案,甚至BLS12-381 PLON,但具有更大的可信设置,则使用等效证明证明证明中的承诺和信标链中的

谁在瓷砖下面保存历史数据?

增加数据空间的必要条件是删除以太坊的核心合同,以永久维护所有商定数据的属性。 数据量太大了,没必要这样做。 例如:

基于EIP-4488的理论最大区块链大小为每12秒的插槽~ 1,262,861字节,或年~3.0 TB,但实际上年~250-1000 GB的可能性更高。 特别是在开始阶段4块瓷砖(每个槽每年增加1 MB )几乎保证) 2 TB ) 64块瓷砖) )每槽区块链研究者小组的内部民意调查:

Vitalik  Buterin:使用calldata扩展和分片扩展rollup的分步路线图

这意味着用户可以承担运行节点的费用,但如果未进一步修改就实施了此路线图的任何部分,则无法承担。 虽然可以使用更大的驱动器,但用户必须竭尽全力购买它们,这大大增加了运营节点的复杂性。 对此的主要解决方案是EIP-4444,消除了节点运营商存储一年以上的数据块或收据的责任。 在瓷砖背景下,这个时间段可能会进一步缩短,节点只负责积极参与的子网上的瓷砖。

这就留下了如果以太坊核心协议不保存这些数据,谁来保存的问题。

首先,重要的是记住,即使使用瓷砖,数据量也不会很大。 是的,对于运行“默认”消费类硬件的个人来说,每年40 TB是不可能的(事实上,每年1TB也是如此)。 但是,它属于希望投入资源和工作来存储数据的专职人员范围之内。 这是48 TB的硬盘,价格1729美元,这是14 TB,价格约420美元。 运行32 ETH验证器插槽的人可以支付保存整个瓷砖后链的费用,而不是领取质押奖金。 因此,从字面上看,似乎没有人会将某个片段的历史数据的一部分保存到人类完全失去为止。

那么谁来保存这些数据呢? 一些想法:

个人和机构的志愿者浏览器(etherchain.org、etherscan.io、amberdata.io ……)向用户提供数据是一种商业模式,因此所有这些都可以通过 RollupDAO指定参与者进行支付,保存和提供与其rollup相关的历史记录,可以通过种子上传和共享,客户端可以自愿选择每个存储链历史记录的随机0.05% ()清除门户网络中的客户端可以存储链历史的随机部分,门户网络自动指向拥有数据请求的节点。 可以在协议内提示保存历史数据。 像TheGraph这样的协议可以创造激励市场,顾客可以通过Merkle证明其正确性,并向服务器支付历史数据。 这将为人们和组织保存历史数据,并执行必要时提供的服务提供动力。

其中有个人、组织志愿者、块浏览器等解决方案。 特别是p2p Torrent场景是一个很好的例子,主要是志愿者驱动的生态系统,存储了很多TB的内容。 剩下的基于协议的解决方案更强大,因为提供了激励,但是开发需要更长的时间。 从长远来看,通过这些第2层协议访问历史记录很可能比今天的以太坊协议更有效。

标签 以太坊
今日推荐
【链向FM】火币将于8月31日上线Primepool新币空投活
【链向FM】火币将于8月31日上线Primepool新币空投活

【数据信息】 全球加密基金的资产管理规模1月份上涨了57%至......[详细]

独家专栏
热门排行