在中短期、甚至长期来说,rollup是以太坊唯一的去信任扩容解决方案。数月以来,L1上的交易费变得如此高,以至于我们迫切需要做些什么来促进整个生态系统向rollup迁移。Rollup已经为许多以太坊用户极大地降低了交易费:?根据L2交易费监测网站l2fees.info显示,Optimism和Arbitrum的交易费比以太坊基础层的交易费要低大约3-8倍;而ZK-rollup拥有更好的数据压缩并且不需要打包签名,费用与基础层相比要低40-100倍。
然而,即便有所扩容,这样的费用对于用户来说也还是太昂贵了。关于该问题早就已经写过文章,解决目前形式rollup不足的长期解决方案为添加数据分片,这将为rollup增加约1-2MB/秒的专用数据空间。本文档描述了对该方案的实用操作方法,从而尽快为rollup释放充足的数据空间,并逐渐增加额外的空间和提高安全性。
第一步:调整交易calldata以实现扩容
目前现有的rollup需要使用交易calldata。因此,如果我们想在不需要rollup团队做任何额外工作的情况下,短期内提高rollup的吞吐量并降低成本,我们应该仅需要降低交易calldata的成本。目前区块的平均大小还远不足以大到威胁网络的稳定性,因此可以安全地完成这一操作,尽管可能需要一些额外的逻辑来防止一些极度危险的边缘情况。
Optimism正开发OP Stack故障证明系统,含防错程序、防故障虚拟机等组件:7月25日消息,Optimism生态开发人员正开发OP Stack的故障证明系统,包括防错程序(FPP)、防故障虚拟机(FPVM)、Dispute Game等组件,此外FPP和FPVM的分离使得相同的操作程序既可以在FPVM中运行,也可以在ZKVM中运行,以帮助OP Stack ZKP实现基于ZK的有效性证明,并为不同网络之间的低延迟跨链桥提供支持。[2023/7/25 15:56:25]
请阅读:EIP4488,或者另外一个EIP(更简单但效果更温和)—EIP4490。
理论上,EIP4488可以把rollup的数据可用空间最大增加到~1MB/slot并且成本降低大约5倍。这一步骤比下文提到的步骤可以更快地实施。
第二步:少数分片
同时,我们可以开始开展一些工作以推出“专用”分片。以完整的形式实现专用分片可能需要很长时间,但我们可以做的是一片一片地实现,并从每一个分片中获益。要实现的首个自然分片是分片规范中的“业务逻辑”,但想要避免网络中的大部分困难,需要将初始分片数量维持在非常少的水平上(例如4个分片)。每个分片将在自己的子网络中进行广播。验证者将默认信任委员会;但是如果他们愿意,他们也可以选择留在每个子网络中。并且只有当他们看到信标区块确认的任意分片区块的完整主体时,才会接受这个信标区块。
此前多次买入DYDX和BLUR的地址再次买入:6月12日消息,据推特用户余烬监测,此前多次买入DYDX和BLUR的地址今日再次转出81.8万枚USDC并收到30万枚DYDX和100万枚BLUR。该地址从今年3月8日至今已累计买入390万枚DYDX和1350万枚BLUR,按照转入时代币价格计算,该地址持有的DYDX和BLUR目前分别浮亏37%和47%。[2023/6/12 21:32:27]
分片规范本身并不是特别困难;这是个和最近发布的Altair硬分叉规模差不多的样板代码更改(Altair信标更改规范文件有728行代码,而分片信标更改规范文件有888行代码)。所以我们有理由相信它可以在Altair实现和部署的时间框架内实现。
为了使得分片数据能够真正被rollup使用,rollup需要能够对分片数据进行证明。有两个选项:
1.添加BEACONBLOCKROOT操作码;rollup将添加这个代码以验证植根于信标链历史区块根中的默克尔证明。
2.添加未来证明的状态和历史访问预编译(future-proofstateandhistoryaccessprecompiles),这样的话,如果承诺机制(commitmentscheme)在未来发生变化,rollup就不需要更改其代码。
保时捷NFT跌破发行价,暂报 0.909 ETH:1月24日,据OpenSea数据显示,保时捷NFT项目“PORSCHΞ 911”二级市场地板价已跌破其发行价0.911ETH,现报0.909ETH。该系列NFT总量为7500枚,截至目前剩余6260枚可供分批铸造。一些用户认为保时捷NFT之所以未达预期效果,主要因为其昂贵的铸造价格策略与Web3精神不符,截止目前保时捷官方尚未就此事给予置评。[2023/1/24 11:27:42]
这将使rollup的数据空间增加到大约2MB/slot(每个分片扩展250KB*4个分片,再加上第一步中已扩展的calldata)
第三步:N个分片,由委员会提供安全保障
将活跃分片的数量从4个增加至64个。现在分片数据将进入子网络中,因此到这时,P2P层必须已经足够坚韧,可以将分片分成数量更多的子网络。其中数据可用性的安全性将基于诚实的大多数,即依赖于委员会的安全性。
这将使得rollup的数据空间提高到大约16MB/slot(每个分片扩展250KB*64个分片);我们假设此时rollup已经从执行链中迁移出来。
第四步:数据可用性采样(dataavailabilitysampling,DAS)
以太坊网络验证者数量超过50万:金色财经报道,来自Beacon Scan的数据显示,以太坊达到了另一个里程碑,其网络上的验证者数量现已超过500,000。验证者对于保证以太坊网络的完整性和安全性至关重要。他们通过验证是否满足每笔交易的智能合约代码中指定的条件,以协商一致的方式处理区块链上的交易,目前验证者必须存入32 ETH(约合45,000 美元)才能在权益证明区块链上运行专用的权益节点。
加密社区预测,一旦上海升级完成并且抵押的ETH可被提出,很可能会有一个更具流动性和自由流动性的以太坊生态系统。此外,由于当前以太坊质押总量已超过1600万枚ETH(约220亿美元),意味着攻击网络的共识将极其困难且代价高昂。 (blockworks)[2023/1/13 11:09:46]
添加数据可用性采样,以确保提高安全水平,即使在遭遇大多数不诚实行为的攻击下,也能保护用户的资产。数据可用性采样可以分阶段推出:首先,以非强制的方式让网络进行测试;然后添加了DAS才能接受信标区块;甚至可能先在某些客户端上实现。
一旦完全引进了数据可用性采样,分片就完成发布了。
分片机制下的Optimistic和ZKrollups
Axelar Network即将支持开发者在BNBChain上构建跨链应用:5月28日消息,通用互操作性平台Axelar Network发推称,开发者即将可以在BNBChain上构建跨链应用。另外,根据Axelar Network更新的路线图,目前正在支持更多资产和区块链,将通用信息传递功能扩展到Cosmos,以及支持更多的跨链应用。5月初,Axelar Network在主网上启用通用消息传递(Genera lMessage Passing)功能,该功能可实现跨所有链的多对多通信,允许用户在多链间转移代币、NFT以及在多个DApp间执行多链调用。[2022/5/28 3:47:19]
分片世界和目前状况的一个主要区别是,在分片世界中,一笔向智能合约提交rollup区块的交易中将不可能包含rollup数据。相反,数据发布步骤和rollup区块提交步骤将不得不分开:首先,在数据发布步骤中将数据发布至链(发布到分片里);然后在提交步骤中,提交其区块头以及基础数据的证明。
Optimism和Arbitrum的rollup区块提交已经使用了上面所说的两步设计,所以这对它们来说只是一个小小的代码修改。
但对于ZK-rollup来说,事情就有点棘手了,因为提交交易需要提供一个可以直接在数据上运行的证明。它们可以做一个ZK-SNARK的证明,证明分片中的数据与信标链上的承诺相符,但这样很昂贵。幸好有更便宜的替代品。
如果ZK-SNARK是一个基于BLS12-381的PLONK证明,那么它们可以直接将分片数据承诺作为一个输入。BLS12-381分片数据承诺是一个KZG承诺,与PLONK中的承诺类型相同,因此它可以直接作为一个公共输入传入证明中。
如果ZK-SNARK使用不同的方案(甚至只是一个拥有更强的信任设置的BLS12-381PLONK),它可以包含自己对于数据的承诺,并使用等价证明来验证证明中的承诺和信标链中的承诺是对相同数据的承诺。
分片后谁来存储历史数据?
增加数据空间的一个必要共同条件是,移除以太坊核心协议负责永久保有其达成共识的所有数据这个属性。数据量太大,根本不需要这样做。例如:EIP-4488导致理论上链的最大容量为大约1,262,861字节/slot(12秒),或大约3.0TB每年,尽管实际上,一开始更可能是大约250—1000GB每年
4个分片(1MB每个slot)会每年增加额外(几乎可以确定)大约2.5TB的数据
64个分片(16MB每个slot)导致每年总共需要(几乎可以确定)大约40TB的存储
大多数用户的硬盘大小在256GB到2TB之间,1TB似乎是中位数。下图是一组区块链研究员的内部调查数据:
这意味着尽管用户今天可以负担得起运行一个节点,但如果这个路线图的任何部分没有进一步的修改,用户将会负担不起。大得多的驱动器是可以买到的,但用户将不得不特地去购买它们,这大大增加了运行一个节点的复杂性。这方面的主要解决方案是EIP4444(译者注:可参阅《引介EIP-4444:对执行层客户端的历史数据设限》),它使得节点运行者不再负责存储超过1年的区块或收据。在分片方面,这个期限可能会进一步缩短,节点将只负责它们积极参与的子网上的分片。
这就留下一个问题:如果以太坊核心协议将不再存储这些数据,那么谁来存储?
首先,重要的是要记住即使有了分片,数据量也不会变得异常地大。是的,每年40TB的数据量的确是个人运行“一般”消费级硬件难以负荷的。但是,对于愿意投入资源和工作到存储数据的个人来说,这是可以接受的。在BestBuy的一个48TB硬盘售价1729美元,这里的14TB硬盘售价大约420美元。运行一个32个ETH验证者slot的人可以用质押奖励来支付存储实现分片后的整个区块链的开销。因此,从账面上看,没有人会存储分片的历史数据以致完全没有人知道这些数据,这种情况似乎是不可能的。
那么谁将存储这些数据呢?以下是一些可能的想法:
自愿存储的个人和机构
区块浏览器(etherchain.org、etherscan.io、amberdata.io…)肯定会存储所有的数据,因为提供这些数据给用户是它们的商业模式。
RollupDAO对存储并提供与它们的Rollup相关的历史数据的参与者进行提名与支付。
历史数据可以通过torrents上传和共享
客户端可以自愿选择各自存储任意0.05%的链历史数据(因为使用纠删码,你需要很多客户端同时离线才能丢失哪怕一个片段的数据)。
门户网络(PortalNetwork)里的客户端可以存储任意部分的链历史数据,门户网络会自动把数据请求导向拥有这些数据的节点。
历史数据的存储可以得到协议内的激励
像TheGraph这种协议可以创建有激励的市场,其中的客户端给提供历史数据(有默克尔证明确保其正确性)的服务器付费。这就给运行存储历史数据的服务器的个人和机构提供激励,做到按需提供。
其中一些解决方案(自愿的个人和机构、区块浏览器)已经存在了。特别是p2ptorrent,是由大型自愿者驱动的生态来存储大量TB级内容的很好的例子。剩下的基于协议的解决方案更强大,因为它们提供激励,但它们需要更长的开发时间。从长远来看,通过这些第二层协议来访问历史数据会比今天通过以太坊协议更高效。
作者|VitalikButerin
原文链接:https://notes.ethereum.org/@vbuterin/data_sharding_roadmap
来源:金色财经
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。