在中短期、甚至长期来说,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的成本。目前区块的平均大小还远不足以大到威胁网络的稳定性,因此可以安全地完成这一操作,尽管可能需要一些额外的逻辑来防止一些极度危险的边缘情况。
Web3加速器GRAVITON公布首批入围队列,每个项目将获5万美元投资:5月9日消息,专注于新兴市场的Web3加速器GRAVITON 已公布首批入围队列,覆盖DeFi 支付、去中心化身份、现实世界资产标记化、NFT交易、GameFi等领域,其中包括Spydra、Strive、Zoth、Wall、GETSecured、Fetcch等七个印度项目。每个入围项目将从Graviton获得高达50,000美元的初始投资和来自全球Web3品牌的技术资助,以及与全球风险投资公司建立联系并获得未来机构资金的机会。[2023/5/9 14:52:57]
请阅读:EIP4488,或者另外一个EIP(更简单但效果更温和)—EIP4490。
理论上,EIP4488可以把rollup的数据可用空间最大增加到~1MB/slot并且成本降低大约5倍。这一步骤比下文提到的步骤可以更快地实施。
第二步:少数分片
同时,我们可以开始开展一些工作以推出“专用”分片。以完整的形式实现专用分片可能需要很长时间,但我们可以做的是一片一片地实现,并从每一个分片中获益。要实现的首个自然分片是分片规范中的“业务逻辑”,但想要避免网络中的大部分困难,需要将初始分片数量维持在非常少的水平上(例如4个分片)。每个分片将在自己的子网络中进行广播。验证者将默认信任委员会;但是如果他们愿意,他们也可以选择留在每个子网络中。并且只有当他们看到信标区块确认的任意分片区块的完整主体时,才会接受这个信标区块。
IOST与Gravity Network达成深度合作:据IOST官方消息,IOSTI与Gravity Network达成深度合作,未来双方将携手开发跨链集成,实现区块链跨链通讯,共同促进Web3.0的发展,从而实现双方生态的进一步扩展。
Gravity Network是一个跨链数据预言机协议,将各种底层公链相互连接,允许各公链在Gravity Network上创建去中心化的网关,让不同区块链生态系统的用户相互交流。[2020/11/4 11:37:12]
分片规范本身并不是特别困难;这是个和最近发布的Altair硬分叉规模差不多的样板代码更改(Altair信标更改规范文件有728行代码,而分片信标更改规范文件有888行代码)。所以我们有理由相信它可以在Altair实现和部署的时间框架内实现。
为了使得分片数据能够真正被rollup使用,rollup需要能够对分片数据进行证明。有两个选项:
1.添加BEACONBLOCKROOT操作码;rollup将添加这个代码以验证植根于信标链历史区块根中的默克尔证明。
2.添加未来证明的状态和历史访问预编译(future-proofstateandhistoryaccessprecompiles),这样的话,如果承诺机制(commitmentscheme)在未来发生变化,rollup就不需要更改其代码。
动态 | Vitalik Buterin提出新的矿工费用模式:以太坊联合创始人Vitalik Buterin发布了一项提案,旨在改善加密货币矿工费用。他认为,目前的矿工补偿模式可以调整,以使矿工和用户受益。为了实现这一目标,他发表了一份相当广泛的文件,详细说明了使用一种统一的价格拍卖模式取代目前的手续费机制。[2018/7/10]
这将使rollup的数据空间增加到大约2MB/slot(每个分片扩展250KB*4个分片,再加上第一步中已扩展的calldata)
第三步:N个分片,由委员会提供安全保障
将活跃分片的数量从4个增加至64个。现在分片数据将进入子网络中,因此到这时,P2P层必须已经足够坚韧,可以将分片分成数量更多的子网络。其中数据可用性的安全性将基于诚实的大多数,即依赖于委员会的安全性。
这将使得rollup的数据空间提高到大约16MB/slot(每个分片扩展250KB*64个分片);我们假设此时rollup已经从执行链中迁移出来。
第四步:数据可用性采样(dataavailabilitysampling,DAS)
添加数据可用性采样,以确保提高安全水平,即使在遭遇大多数不诚实行为的攻击下,也能保护用户的资产。数据可用性采样可以分阶段推出:首先,以非强制的方式让网络进行测试;然后添加了DAS才能接受信标区块;甚至可能先在某些客户端上实现。
金融厅限制泰国Tavitt公司ICO活动,“在日居住者无法购买”:日前,泰国Tavitt公司发布与日本金融厅协商结果,在日居住者不可以参加ICO活动。非在日居住者(在海外居住的日本人)可以参加ICO。根据引用的金融厅邮件,总结出以下几点意见:1 、在日居住者将不能参加未在日本注册的海外法人实施的ICO活动;2、非在日居住者(在海外居住的日本人)可以参加ICO;3、未在日本金融厅注册加密货币交易所资格的海外法人实施的ICO活动,如果不明确“在日居住者无法购买”的话,将无法实施ICO。4、金融厅目前对该公司的技术WAVES无法理解,如果继续存在这种“在日居住者可以买进ICO“的状态的情况,将涉嫌违反资金决算法。5、在日居住者将不能通过WAVES等未在日本金融厅注册的海外法人的加密货币交易所购入加密货币。[2018/3/7]
一旦完全引进了数据可用性采样,分片就完成发布了。
分片机制下的Optimistic和ZKrollups
分片世界和目前状况的一个主要区别是,在分片世界中,一笔向智能合约提交rollup区块的交易中将不可能包含rollup数据。相反,数据发布步骤和rollup区块提交步骤将不得不分开:首先,在数据发布步骤中将数据发布至链(发布到分片里);然后在提交步骤中,提交其区块头以及基础数据的证明。
TAVITT将允许用虚拟货币进行结算:位于泰国曼谷的Tavitt(Thailand)Co.,Ltd.公司日前表示,将允许比特币、Tavittcoin(TVC)等虚拟货币在“TAVITT网页”上购买机票、预订酒店、结算Tavitt规划的旅行团等。虚拟货币Tavittcoin(TVC)已经于2018年3月1日开始在Waves交易所上市。Tavittcoin(TVC)的销售期限是从2018年3月1日凌晨12点(星期日)至2018年3月31日晚间12点(日本时间)。[2018/3/6]
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
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。