宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > 莱特币 > 正文

Vitalik:解析Rollups的扩展方案——数据分片

作者:

时间:1900/1/1 0:00:00

VitalikButerin,以太坊联合创始人编辑:南风对于以太坊而言,Rollups是短中期,也可能是长期的唯一无须信任的可扩展性解决方案。以太坊L1上的交易费在几个月以来一直很高,现在更迫切的是采取一切必要的行动,帮助推动整个生态系统转移到Rollups。Rollups已经大大降低了许多以太坊用户的费用:l2fees.info网站时常显示Optimism和Arbitrum网络的费用要比以太坊基础层本身低了约3-8倍,而zk-Rollups有着更好的数据压缩,并且可以避免包含签名,因此其费用要比以太坊基础层低约40-100倍。然而,对于许多用户来说,即便是这些(Rollups中的)费用也还是太过昂贵了。很长一段时间以来,数据分片(datasharding)被认为是解决当前形式的Rollups的长期不足的解决方案,数据分片有望在以太坊链上为Rollups增加大约1-2MB/s的专用数据空间。本文描述了实现该解决方案的一条实用的路径,能够尽可能快地为Rollups解锁数据空间,并随着时间的推移增加更多额外的空间和安全性。Step1:扩展交易calldata

Vitalik Buterin:基于MPC的EOA钱包有根本缺陷,智能合约钱包是唯一选择:6月29日消息,以太坊创始Vitalik Buterin发推回应如何看待基于MPC(EOA)的钱包与智能合约钱包的优缺点时表示,基于MPC的EOA钱包存在根本缺陷,因为它们无法撤销密钥(重新共享不算在内;旧持有者仍然可以恢复密钥),智能合约钱包是唯一的选择。[2023/6/29 22:07:37]

目前现有的Rollups使用了交易calldata。因此,如果我们想要在无需让各个Rollups团队做出任何额外工作的情况下,在短期内提升Rollups的容量并降低成本,我们应该降低交易calldata的Gas成本。当前的平均区块大小还远没有达到威胁以太坊网络稳定性的大小,因此这样做是有可能安全的,尽管可能需要一些额外的逻辑来预防非常不安全的边缘情况。参见EIP-4488提案,或者另一个(更简单但效果更温和的)EIP-4490提案。EIP-4488:https://github.com/ethereum/EIPs/pull/4488EIP-4490:https://github.com/ethereum/EIPs/pull/4490EIP4488应该能将每个slot可用于Rollups的数据空间增加至理论上最大约1MB,并将Rollups上的成本降低约5倍。这可以比后面的步骤更快地实现。Step2:几条分片

Terra Classic独立开发团队TerraCVita拟申请币安“行业复苏计划”资金支持:2月24日消息,Terra Classic独立开发团队TerraCVita发推向社区征求意见,希望申请币安的“行业复苏计划”资金支持。目前已获得社区大多数人的同意,Terra Classic验证者BetterLunc也支持这一想法并强调币安一直致力于为DeFi项目提供帮助。

TerraCVita于今年1月完成100万美元融资,而币安则是在去年11月宣布推出规模达10亿美元的“行业复苏计划”。(The Crypto Basic)[2023/2/24 12:27:54]

与此同时,我们可以开始做一些工作来推出“适当的”分片。想要以完整(功能)的形式实现分片还需要很长的时间,但我们能做的是可以一步步地实现它,并从每一步中获益。首先自然是要实现分片规范的“业务逻辑”,但需要使最先上线的分片数量非常低(比如4条分片),以此来避免围绕分片网络的大多数难点。每条分片将在其自己的子网络中广播。默认情况下,验证者将信任委员会,但如果他们愿意,他们可以选择在每个子网络中,但只有当他们看到了信标区块确认的任何分片区块的全部数据时,他们才会接收该信标区块。分片规范本身并不是特别困难;它与最近发布的Altair硬分叉有着类似规模的样板代码更改(Altair的信标变更规范文件是728行,分片的信标变更规范文件是888行),因此可以合理地预计它可以在与Altair的实现和部署类似的时间框架内实现。为了使分片数据(shardeddata)实际上可被Rollups使用,Rollups将需要能够使其证明(proofs)进入到分片数据中。有两个选择:增加BEACONBLOCKROOT操作码;Rollups将增加代码来验证根植于历史信标链区块根的默克尔证明(Merkleproofs);增加面向未来的状态和历史访问预编译,这样当承诺方案(commitmentscheme)在未来发生改变时,Rollups就不需要更改它们的代码。这将使得每个slot的Rollup数据空间增加至约2MB(每个分片250kB*4个分片,再加上上文Step1中扩大的calldata)。Step3:N条分片,由委员会保护

VitaDAO完成410万美元融资,辉瑞风投部门Pfizer Ventures等参投:1月30日消息,去中心化自治组织VitaDAO完成410万美元融资,辉瑞的风投部门Pfizer Ventures、Shine Capital、L1 Digital、Balaji Srinivasan等参投。

这是辉瑞在web3领域的第一笔投资,该公司通过特殊目的工具持有Vita治理代币,甚至参与了治理提案。该轮融资的消息是在辉瑞先前宣布向VitaDAO提供500,000美元的承诺之后发布的。

VitaDAO资助的项目主要关注长寿和衰老过程,支持了生产mRNA药物的斯坦福大学分拆公司 Turn Biotechnologies,以及哥本哈根大学一项关于了解药物对衰老过程影响的研究。

VitaDAO旨在利用这笔资金进一步资助长寿研究项目和将于明年从DAO中剥离出来的生物技术初创公司。(TheBlock)[2023/1/30 11:36:40]

将活跃分片的数量从4条增加到64条。此时分片数据将进入子网络,因此届时的P2P层必须已经足够牢固,使得将其分割成更多数量的子网络变得可行。数据可用性的安全性将基于大多数(验证者)诚实假设,依赖于委员会的安全性。这将使得每个slot的Rollup数据空间增加至约16MB(每条分片250kB*64条分片);我们假设此时Rollups将已经从以太坊执行链中迁移出来。Step4:数据可用性抽样(DAS)

Vitalik:提高首次读取存储和账户访问的gas可以极大降低处理攻击的时间:以太坊创始人Vitalik发推表示:EIP-2929提案提到:提高首次读取存储和账户访问的gas。这可以将出现DoS攻击时的最坏情况处理时间减少到之前的1/3,从而更加安全地维持高gas的限制。[2020/9/2]

添加数据可用性抽样(DAS)以确保更高级别的安全性,使得即便是在大多数(验证者)不诚实的攻击情况下,用户也能够得到保护。数据可用性抽样可以分阶段来进行:首先,以非约束性的方式来允许网络对其进行测试,然后将其作为接收信标区块的必要条件,甚至可能先在某些客户端上进行。一旦完全引入了数据可用性抽样,分片的铺展就完成了。基于分片的OptimisticRollups和ZKRollups

当前的以太坊与实施分片之后的以太坊的一个主要区别就是,在分片的世界里,Rollup数据实际上不可能成为向智能合约提交Rollup区块的交易的一部分。相反,Rollup数据的发布与Rollup区块的提交将必须是分开的:首先,数据发布将把数据放到链上(也就是放到分片链中),然后区块提交将会提交区块头以及一个指向底层数据的证明。Optimism和Arbitrum已经为Rollup区块的提交使用了一种两步式设计,因此这对二者来说都将是一个很小的代码更改。

动态 | Vitalik Buterin在layer2解决方案中加入SNARK:上周,以太坊核心开发者Schoedon表示,以太坊网络已经超负荷,Dapp开发者应该在其他链上建设。Vitalik Buterin不同意这一观点,他认为大多数Dapps并不是针对Gas进行优化的,而且行业内的竞争将“推动”次优Dapps。他还强调了layer2解决方案的重要性和前景,并在Ethresear.ch上发布了一个潜在的使SNARK-utilizing分叉解决方案来支持他的论点。[2018/9/25]

对于ZKRollups,事情有点棘手,因为提交交易需要提供一个直接对数据进行操作的证明。它们可以通过ZK-SNARK来证明分片中的数据与信标链上的承诺相匹配,但这一操作是非常昂贵的。幸运的是,还有更便宜的替代方案。如果该ZK-SNARK是一个基于BLS12-381的PLONK证明,那么它们可以简单地直接将分片数据承诺作为输入来进行打包。BLS12-381分片数据承诺是一个KZG承诺,与PLONK中的承诺类型相同,因此可以作为公共输入直接传递到证明中。如果ZK-SNARK使用了一些不同的机制(或者即便是BLS12-381PLONK但有着一个更大的可信设置),那么它可以包含自己的数据承诺,并使用一个等效性证明(proofofequivalence)来验证该证明中的承诺与信标链中的承诺是对相同数据的承诺。分片世界中,谁将存储历史数据?

增加数据空间的一个必要条件是移除以太坊核心协议负责永久性维护达成共识的所有数据的属性。因为这些数据量太大了。例如:EIP-4488理论上带来的最大链大小是每12秒的slot为大约1,262,861字节,也即每年大约3.0TB,但实际上每年更有可能是约250-1000GB,尤其是在开始阶段。4条分片(每个slot为1MB)每年会增加额外的约2.5TB。64条分片(每个slot为16MB)每年将带来总计为约40TB的存储。大多数用户的硬盘驱动器的大小在256GB和2TB之间,1TB似乎是中间值。下图是一项针对计算机硬盘空间有多大而在一组区块链研究员中开展的内部调查的结果:

这意味着用户当前可以运行一个节点,但如果此路线图的任何一部分如果不进行修改就实施,那么用户将无法运行节点。当然还有更大的驱动器可用,但用户将必须竭力去购买它们,这大大增加了运行节点的复杂性。当前主要的解决方案是EIP-4444,此提案消除了节点运营者存储超过1年的区块或收据的这一责任。在分片的情况下,这个1年的时长将很可能进一步缩短,而且节点将只需要负责他们积极参与的子网络上的分片。这就提出了一个问题:如果以太坊核心协议不存储这些数据,谁来存储?首先,重要的是要记住,即使有了分片,数据量也不会那么大。是的,每年40TB确实超出了运行“默认”消费硬件的个人的能力(事实上,即便每年1TB也还是如此)。然而,对于一个愿意投入一些资源并想办法来存储这些数据的人来说,这是在其可接受的范围内的。当前一台48TB的HDD(硬盘驱动器)的售价是1729美元,一台14TB的是约420美元。出于可以获得质押奖励,某个运行了1个32ETH验证者插槽的人可能会愿意支付并存储分片实施之后的整条链。因此,实际上,「没有人会存储某个分片的一些历史数据以至于这些数据完全丢失」的这种情况似乎是不可能出现的。那么谁将存储这些数据?我的一些想法:个人和机构志愿者;区块浏览器(etherchain.org、etherscan.io、amberdata.io等等)将肯定会存储所有数据,因为向用户提供数据是它们的业务模式。RollupDAOs指定并付费给参与者来存储并提供与他们的Rollup相关的历史数据。历史数据可以通过种子(torrents)进行上传和共享。客户端可以自愿选择随机存储区块链的0.05%的历史数据(使用纠删码,这样只有当许多客户端在同一时间离线时才会丢失一小块数据)。PortalNetwork中的客户端可以随机存储一部分区块链历史数据,且PortalNetwork会自动将数据请求导向存储了该数据的节点。可以在协议中激励历史数据的存储。像TheGraph这样的协议可以创建激励市场,其中的客户端向服务器支付费用,从而获取历史数据和证明其正确性的默克尔证明。这就激励了人们和机构来运行存储历史数据的服务器,并按需提供这些数据。这些解决方案中的一些方案(个人和机构志愿者、区块浏览器)已经是可用的了。而当前的P2P种子场景更是一个主要由志愿者驱动和存储大量内容的生态系统的绝佳例子。其他基于协议的方案要更加强大,因为它们提供了激励机制,但它们可能需要更长的时间来进行开发。从长期来看,通过这些L2协议来访问历史数据,可能要比通过当前的以太坊协议更加有效。

标签:ROLROLLUPS以太坊BenjiRollsTrollCoinPUPS价格以太坊币最新价格

莱特币热门资讯
基于Solana的NFTFi平台「Bridgesplit」,想为Web3提供更多可组合性和流动性

目前存在于以太坊和Solana的NFT资产价值已超过200亿美元,随着NFT用例扩展到收藏品之外,流动性和高资产生产力对于NFT市场增长来说至关重要.

1900/1/1 0:00:00
稳定币市场再生变局,去中心化稳定币UST市值超越DAI

稳定币市场的竞争早已从中心化领域烧向去中心化,战局再次发生变化。12月23日,Coingecko数据显示,去中心化稳定币UST的市值达94.79亿美元,超越了同赛道的DAI,后者的市值为90.35亿美元.

1900/1/1 0:00:00
Pocket Network:更高效、准确的中间件服务协议

区块链网络服务的中心化问题从去年开始,DeFi将以太坊带入了新一轮的繁荣,大量生态应用如雨后春笋,加上NFT、元宇宙、GameFi等应用的兴起,加密世界愈加繁荣,大量去中心化应用DApp吸引了无数用户进行体验.

1900/1/1 0:00:00
Gauntlet创始人:详解DAO的三个关键治理领域和运行方法

随着DeFi和NFT社区规模的巨大增长,如何管理去中心化协议变得更加重要。现在和未来几年,这些社区面临的最紧迫的挑战之一是解决治理问题——即管理集体决策以优化资金和运营.

1900/1/1 0:00:00
多链大爆发,一文梳理当前新公链的发展情况

作者|五火球教主出品|白话区块链在《多链宇宙大拆解·上》中我们主要讲的是比特币、以太坊和各个Layer2们,在中篇与下篇,我们将会聚焦在这一两年冒出的新公链上.

1900/1/1 0:00:00
加密VC内卷实况:两级分化,资本抱团

加密VC遍地跑此前在上海参与区块链周的活动,最大的感受是,加密VC遍地跑,不挂个投资的名头貌似都不好意思在圈内混.

1900/1/1 0:00:00