以太坊能否凭借数据可用性大获全胜?撰文:Blockworks
编译:五铢,金色财经
如果你问加密行业的普通人,这个行业目前面临什么问题,「区块链太多,应用程序不够」很快就会成为一个常见的抱怨。
这种抱怨与早期互联网时代有着惊人的相似之处。
在 20 世纪 90 年代末和 21 世纪初的互联网泡沫时期,怀疑论者同样批评了对过度基础设施(尤其是光纤)的过度投资。
电信公司(Global Crossing、WorldCom、AT&T)花费数十亿美元铺设海底电缆和长途光纤网络,因为他们相信互联网流量会呈指数级增长。
甚至互联网先驱鲍勃·梅特卡夫也批评了这种过度投资,认为根本没有足够的需求。
事后看来,我们现在知道梅特卡夫错了(梅特卡夫在 2006 年承认错误后,实际上收回了自己的言论)。
带宽的爆炸性过剩使得 YouTube、云计算和 Netflix 等令人惊叹的产品成为可能。
例如,Netflix 多年来一直是一家基于邮件的 DVD 租赁公司,直到 2007 年才开始慢慢向流媒体转型——这要归功于之前奠定的带宽基础设施基础。
简而言之,「如果我们建造它,需求就会到来」这一赌注最终在互联网上得到了证实,尽管这花了十年时间,也经历了 Global Crossing 等互联网基础设施公司的破产。
以太坊今天(有点)在类似的赌注上押注。
根据其以汇总为中心的路线图,以太坊 L1 实际上放弃了 L2 的执行费用。
但以太坊计划最终通过即将进行的升级来扩大 DA 的供应,从而获得数据可用性 (DA) 费用的利润。这个想法是,以太坊 DA 最终将变得如此丰富,以至于最终会引发用户需求。
就像早期的互联网建设者一样,以太坊研究员 Justin Drake 相信「如果我们建造它,需求就会到来。」
Drake 的登月计划如下:在 1000 万 TPS 的情况下,每笔交易向以太坊支付 0.001 美元的 DA 费用,以太坊每天的收入约为 10 亿美元。
(这假设 L2 使用以太坊 L1 进行 DA,而不是使用 Celestia 或 EigenLayer 等替代 DA 层。但 Drake 认为同步可组合性的好处将使它成为现实。)
考虑到今天的 DA 消耗,这是一个大胆的论点;以太坊的 blob gas 费用在 3 月份仅为 27.2 万美元。
也许以太坊多头认为 Web3 的发展将与 Web2 的历史相似,但以太坊并不存在于孤岛中,它面临着来自其他链的激烈竞争。
我们对哪种链上应用将主导区块链使用情况的猜测仍然很少。世界需要那么多数据可用性吗?
但我离题了。「太多链」的说法最终可能成真。但现在下结论还为时过早,就像互联网早期一样。
如果属实,市场正在抑制进一步的浪费性支出。举个例子:L1 溢价一直在迅速压缩。
L1 融资 3 亿至 5 亿美元的日子已经结束了。2024 年 L1/L2 区块链融资额从低至 1400 万美元(Initia)到高达 1 亿美元(Berachain)和 2.25 亿美元(Monad)不等。
运行 L1 的高成本和缺乏价值获取向市场发出了停止资助这些项目的反馈信号。
相比之下,根据 Blockworks 的 Jason Yanowitz 估计,L2 的启动成本要低得多,约为 500 万至 1500 万美元。
这或许可以解释 Celo L1 最近向 L2 的转变,或者 EigenLayer 特别项目负责人 Kydo 所说的以太坊「不可避免地倾向于效率」。
PeerDAS 将如何改进以太坊的数据可用性?撰文:0XNATALIE
在最近的以太坊开发者会议上,讨论了将以太坊的 Pectra 硬分叉分成两部分的提议。这个提议之前曾经被否决,因为大家担心会延迟 Verkle 树的升级。不过在这次的会议上,开发者们再次提出了这个想法,因为他们希望在 Pectra 分叉中加入更多的改进提案(EIP)。提议将硬分叉分为两部分:第一部分将包括目前 Pectra Devnet 3 上的所有 EIP,第二部分的分叉将包括 EOF(EVM 对象格式)和 PeerDAS 等,为了更好地理解 PeerDAS,我们首先从数据可用性这一基础概念讲起。
DA:确保节点获取链上数据
数据可用性(Data Availability,DA)是指要保证区块提议者发布的区块、区块中所包含的所有交易数据,对于其他网络参与者来说可以有效地访问和获取。数据可用性是区块链安全的一个关键因素,因为如果数据不可用,即使区块合法,其他节点也无法验证其内容,可能引发共识问题和网络攻击。例如,攻击者可能只发布部分区块数据,导致其他节点无法进行验证。
当新区块被广播时,所有参与的节点都会下载并验证区块的数据。这种模式在网络规模较小时是可行的,但随着区块链的不断增长,数据量会变得非常庞大,每个节点存储会不断增加,对硬件的要求随之提高。为了让轻节点(如手机或电脑这样的移动设备)也可以参与区块验证,区块链引入了分片技术。
分片技术是将整个区块链网络分成多个小的「片」(shards)。每个分片只处理自己那部分数据,不必处理整个区块链的数据。因此,单个节点只需要处理自己分片的数据。但每个分片只处理一部分数据,就意味着其他分片的节点无法直接访问完整的数据。那如何确保分片中的数据是可用的,并且其他节点能够验证这些数据的有效性?例如,某个分片的节点发布了一个新生成的区块,但它可能只发布了一部分数据。如果其他节点无法获取区块的全部数据,就无法验证这个区块是否真实合法。
DAS:通过部分数据验证整体数据可用性
为了应对分片中的数据可用性问题,数据可用性抽样(Data Availability Sampling,DAS)技术被提出,它的核心思想是通过抽样的方式来验证区块的数据可用性,不要求每个节点存储或下载完整的区块数据。
数据可用性抽样允许节点只需随机获取区块中的一部分数据便可以验证数据可用性,如果节点能够成功获取并验证这些随机数据片段,便可以推测整个区块的数据是可用的。
为了支持这种抽样验证,区块数据通常会使用 RS 编码。这种编码允许在丢失部分数据的情况下仍然能够恢复出完整的数据。因此,即使节点仅下载部分区块数据,也能够推断并确认整个区块数据的有效性。DAS 通过抽样验证减少了每个节点需要处理的数据量,轻节点也可以参与区块验证。
DA 层比如 Celestia 的就是通过这些技术来实现。主要涉及 RS encoding + validity proof + DAS。
RS 编码(Reed-Solomon Encoding):这种编码方式允许只接收到一部分数据片段的节点也能够重建整个数据块。它类似于纠错码,具有一定的容错能力,即便丢失一部分数据,剩下的部分也足以重构完整数据。
Validity Proof(有效性证明):使用零知识证明来确保数据在编码和传输的过程中没有错误。如果验证成功,则可以无误地解码出整个数据。
DAS(数据可用性抽样):通过轻节点随机抽样区块中的一部分 RS 编码片段,验证这些片段的可用性,从而推测整个数据块是可用的。
PeerDAS: 节点间协作验证数据
PeerDAS 是 DAS 的一种具体实现,通过对等网络(peer-to-peer network)进行数据可用性抽样,对等网络是由多个节点组成的网络,节点间直接进行通信。在 DAS 下,每个节点独立进行数据的抽样验证,而 PeerDAS 优化了这一过程,它让节点之间协作共享和验证区块中的数据,进一步提高验证效率。节点之间并不是孤立的,可以共享数据验证的任务和结果,可以依赖其他节点已验证的数据。这样,节点不必单独承担所有的验证工作,而是通过合作分担验证任务,进一步减少节点的负担。而且协作验证增加了数据篡改的难度,攻击者需要同时影响多个验证节点才能成功篡改数据。
目前,根据最新以太坊关于 PeerDAS 的会议,以太坊客户端 Lighthouse 团队已经将 DAS 分支合并到主分支,并正在测试以确保与 PeerDAS 的兼容性。分支通常是用来开发和测试新功能或改进的独立代码版本,合并到主分支意味着这个功能或改进已经开发完成,并且有信心是稳定的,可以合并到核心代码中。
解析Starknet Volition:兼顾数据安全与成本控制的数据可用性升级原文 |https://starkware.co/resource
编译 | Chainchen@Web3CN.Pro
摘要
Volition将允许开发者在以太坊(L1)或Starknet(L2)上调节数据可用性。减少L1链上数据,从而大幅降低成本。
数据可用性模式的灵活性将再次为Starknet的开发者和用户提供更大的自由度,让他们以成本效益的方式选择最合适的安全级别来满足其特定需求。
Volition将在2024年第一季度在测试网上实施。(已更新)
随着以太坊的不断发展,对可扩展性和成本降低的需求变得愈发紧迫。因此,Rollups作为一种高效可扩展的解决方案在以太坊上崭露头角。
Starknet是一种有效性Rollup,由STARK证明的创造者们打造,它作为第二层网络运行,允许大规模计算,并通过仅将每个交易的关键数据提交到以太坊(L1),并使用共享验证者(SHARP)将验证费用在特定批次内的所有交易中均摊,从而降低了计算费用。
在2023年第四季度(现在的路线图已更新至2024年第一季度),Starknet将引入另一项重要的成本降低措施,解决了开发者在处理交易费用时所面临的一个主要挑战,即L1链上数据的高昂成本问题。
在决定交易成本的各种因素中,仅链上数据的可用性就可以占到平均交易成本的高达95%。因此,找到一种减少L1链上数据成本的方法可以极大地影响用户和开发者的整体成本。Starknet的解决方案是Volition。
介绍
目前,Starknet以有效性Rollup模式运行,这意味着Starknet的数据和对状态的承诺被发送提交到以太坊。有了Volition,数据可以存储在Starknet L2上,使开发者能够通过选择其数据可用性模式来优化其合约,该模式可以在个体存储变量级别进行选择。
Volition是一项技术,顾名思义,它让Starknet开发者可以自由选择他们应用程序或交易的数据可用性。这就好像他们可以自主决定哪些数据需要被公开,哪些可以保持私有。他们可以在两种不同的数据可用性模式之间进行灵活选择:一种是将数据存储在以太坊的主网络(L1),另一种是存储在Starknet的第二层(L2)。同样地,这个选择权也可以传递给应用程序的用户。
Volition的实现方法是将Starknet的数据状态分为两种不同的存储承诺树。一种用于L1数据可用性模式,这意味着数据将会被发布在以太坊的主网络上。而另一种是L2数据可用性模式,这意味着数据将会在Starknet的二层上更新,并传递给Starknet网络。但只有数据的承诺(即数据的"根")会被发送到以太坊的主网络。这就让开发者能够在数据的安全性和成本之间做出明智的选择,同时保持灵活性。
自主选择
数据发布的层级安全性确定了数据可用性的确定级别。L1和L2。L1是指将数据存储在以太坊的主网络上,具有高度的安全性,因为它受到以太坊的保护,并且数据可以像其他数据一样一直可用。而L2是指将数据存储在Starknet的第二层上,它更便宜,但安全性较低,因为它不像L1那样受到以太坊的保护,但数据会传达给所有Starknet第二层的节点。
尽管采取了这些必要的措施,以确保L2数据可用性的高级别安全性,但我们承认,为了最大限度的安全性,L1数据可用性(DA)应该是您的选择,以获得以太坊级别的安全性。开发者和用户需要在L2的成本和L1的安全性之间进行权衡。我们还建议开发者编写使用L2DA的合约,以使合约能够在L2数据可用性危机的情况下正常运行(例如,失去L2DA资产)。此外,随着我们介绍Volition,我们认识到完善创新需要时间。因此,我们将在测试网上提供长时间,以便根据社区的反馈来改进这项技术。这项技术的引入将提高效率和开发体验,因为它让开发者可以根据需要自由选择数据发布的层级,以平衡安全性和成本。
Volition的用途和应用
为了最好地说明Volition的有效性,让我们看几个现实世界的例子。
想象一下,您参与了一个在Starknet上构建的高知名度Web3游戏,您成功出价购买了一个十字弓的顶级NFT。鉴于这笔交易的重要性,您可能会选择链上数据可用性模式。这将确保十字弓的所有权被安全记录在以太坊区块链上,随后,您决定购买150个箭头NFT。由于这个购买价值较低,您可以选择L2数据可用性来完成交易,从而节省成本。
相同的概念适用于高价值的去中心化交易,在那里DEX的首要任务是保护资金并最小化交易费用。用户可以将一些资金存储在其L2数据可用性帐户中,以优化交易操作。使用存储在L2数据存储中的资金允许交易者以降低的费用执行大量交易。当L2数据可用性帐户中的资金达到一定数量时,DEX将优先考虑安全性而不是成本,并将资金转移回L1数据可用性帐户。这种转移确保了大部分资金在L1上安全可用。
正如在这两个例子中所看到的,Volition通过允许开发者和用户为每个合约选择数据可用性模式,允许更多的控制并增强用户的交易体验。
Volition何时推出?
Volition计划在2023年第四季度(现已更改为2024年第一季度)在Starknet测试网上推出,并将在测试网上进行较长时间的测试和改进,以便根据社区的反馈来不断提高其安全性和性能。预计Volition将有助于许多用户和dApp开发者降低成本。
此外,Starknet还计划在未来引入其他数据可用性模式,例如Adamantium,这是一种利用委员会的数据可用性模式,适用于那些希望为其数据可用性选择受信任方的用户。
总结
Volition是Starknet的一项重要创新,旨在解决安全性和高昂的链上数据成本问题。它允许数据存储在Starknet的第二层上,从而为开发者提供了降低成本和提高可扩展性的机会,同时仍然保持了以太坊的可信安全性。这一创新有望为创新型应用程序开发打开新的可能性。EigenLabs计划在今年年底前推出数据可用性解决方案EigenDAPANews 9月15日消息,据The Block报道,重新质押协议EigenLayer背后的开发商 EigenLabs 计划在今年年底前推出数据可用性解决方案 EigenDA,以降低以太坊第 2 层 rollups 的数据存储成本。Celo、Mantle、Fluent、Offshore 和 Layer N 项目正在考虑将 EigenDA 集成到他们的 Layer 2 解决方案中。
此前,质押协议开发商EigenLabs完成5000万美元A轮融资,Blockchain Capital领投
DA=数据发布≠历史数据检索?一文探讨数据可用性的真实含义作者:Faust,极客web3
导语:到底什么是数据可用性?可能绝大多数人第一印象是“可以获取某个时刻的历史数据”,但这其实是对DA概念最大的误解。近期L2BEAT联创与Danksharding提出者、Celestia创始人都对这一误区做出了澄清,他们指出,Data Avalibity实际上应该指“数据发布”,但大多数人把DA理解成了“历史数据可检索”,而后者实际上涉及到数据存储问题。
比如,前一阵子Dankrad曾提到了Layer2的强制提款/逃生舱机制,他指出,Validium的强制提款需要获取最新的L2状态来构造Merkle Proof,但Plasma只需要7天以前的(这和两者的合法Stateroot判定方式有关)。
借此,Dankrad明确指出,Validium需要DA保障用户资金安全,而Plasma不需要。在此处,Dankrad用案例指出了DA和历史数据可检索的不同之处,即DA往往只涉及新发布的数据。
在L2BEAT那里,数据可用性DA与数据存储DS的区别被进一步加强。L2BEAT的Bartek多次强调,DA和数据存储/历史数据可查是两码事,而用户能够获取到自己需要的L2数据,只是因为那些提供数据的节点“对你足够好”。此外,L2BEAT还计划把“是否有权限开放的数据存储节点”当做DA之外的一个测评Rollup的新指标。
以太坊社区/以太坊基金会成员的上述言辞,表明了他们要在未来对Layer2相关概念进行规范化的梳理,并对Layer2本身进行更详实的定义。因为围绕着Rollup和L2的很多名词其实都没有被很好的解释清楚,比如多久前的数据算“历史数据”——有人认为,因为智能合约只能调用256个block内的过往区块数据,所以256个区块(50min)前的数据都算“历史数据”。
而Celestia和以太坊基金会口中的“Rollup”,严格来说都是两种东西。本文旨在澄清DA概念和数据存储的区别,从DA的来源、数据可用性采样、Rollup的DA实现方式,来为大家解释到底什么才是数据可用性——数据发布。
DA概念的来源
关于“数据可用性”问题到底指什么,Celestia创始人Mustafa如此解释:DA就是,当区块生成者提出新block时,如何确保区块里的所有数据都发布到了网络中?如果区块生成者不Release区块中的所有数据,就无法检测区块里是否包含错误交易。
Mustafa还指出,以太坊Rollup简单地将L2区块数据发布到以太坊链上,并依赖ETH来保障数据可用性。
而在以太坊官网,有关于DA的如下概括:可以把数据可用性难题概括为一个问题:“我们如何验证一个新区块的数据是否可用?”......对于轻客户端来说,数据可用性问题是指在无需下载整个区块的情况下,验证区块的可用性。
以太坊官网还明确区分了数据可用性与可检索性的区别:数据可用性是指区块被提出时,节点下载区块数据的能力。换句话说,数据可用性与区块尚未达成共识时相关......数据可检索性是指节点从区块链中检索历史信息的能力......虽然存档可能需要区块链历史数据,但节点无需使用历史数据就可以验证区块并处理交易。
在Celestia中国贡献者——W3Hitchhiker合伙人任泓毅看来,Layer2事先假设Ethereum足够安全和去中心化,排序器可以放心大胆的把DA数据发到以太坊,这些数据会无阻碍的传播给所有以太坊全节点。而L2全节点本身就要运行Geth客户端,算是以太坊全节点的子集,所以可以接收到Layer2的DA数据。
而在EthStorage的创始人Qi Zhou博士眼里,DA的定义是没有人可以把用户提交到网络里的交易数据扣留住。对应的信任模型是,我们只需要信任L1的协议本身,不需要再引入其他信任假设。
Qi Zhou指出,现在以太坊的DA实现方式其实就是P2P广播(gossip流言协议),每个全节点都会下载并传播新block,并存储Rollup的数据。当然,以太坊全节点并不会永久存储历史区块,在4844上线后可能会自动删除一段时间前的数据(貌似是18天)。存放全部历史数据的档案节点,现在全世界也没有多少,EthStorage则打算填补以太坊体系的这一空白,并助力Layer2设置自己专属的数据永存节点。
而以太坊基金会关于数据可用性Data availability的早期讨论,可见于Vitalik在2017年的推文与github文档。当时他认为,如果要保证区块链可拓展/高效率,就要抬高全节点的硬件配置(全节点就是下载完整block并验证其有效性的节点,做共识的Validator是全节点的子集)。但如果提高全节点硬件配置,就会提升运行成本,导致区块链变得中心化。
关于这一点,Vitalik说,可以设计一种方案,解决高性能全节点趋于中心化带来的安全隐患。他打算引入纠删码和数据随机抽样来设计一套协议,使得低配硬件的轻节点即便不获知完整的block,也可以得知block没有问题。
他最开始的想法其实和比特币白皮书里提到的idea有关。这个idea说,轻节点可以不接收完整block,而当block有问题时,诚实全节点会发出“警报”,通知轻节点。这个思路可以引申到后来的欺诈证明,但不能保证诚实全节点始终可以获得足够数据,也无法事后判断区块提议者是否扣留了某些数据没发布。
比如,某个节点A可以发布欺诈证明,声称从节点B那收到了不完整的block。但此时无法判断,这个不完整的block是A自己伪造的,还是B发出去的。Vitalik指出可以用数据可用性采样DAS解决这个问题(显然数据可用性实质涉及数据发布问题)。
Vitalik在"A note on data availability and erasure coding"一文中对这些问题及其解决方案进行了粗略讨论。他指出,DA证明实质是对欺诈证明的一种“补完”。
数据可用性采样
但显然,DA概念不是那么好解释的,因为Vitalik的这篇github文档前前后后进行了18次更正。记录显示,最后一次更正提交于2018.9.25。而就在前一天的2018.9.24,Celestia创始人Mustafa与Vitalik联名发表了日后声名大噪的论文——Fraud and Data Availability Proofs: Maximising Light Client Security and Scaling Blockchains with Dishonest Majorities.
有趣的是,这篇论文第一作者是Mustafa而不是Vitalik(另一名作者现在是Sui公链的研究员)。文中提到了欺诈证明Fraud Proof的概念,并解释了数据可用性采样DAS的原理,粗略设计了一套DAS +二维纠删码+欺诈证明的混搭协议。论文中则明确提到,DA证明系统实质是欺诈证明之上的必要补充。
如果我们从Vitalik的视角出发的话,这套协议的作用可以概括如下:
假设一条公链有N个高配硬件的共识节点Validator,它们的数据吞吐量很大,效率很高。这样的区块链虽然TPS高,但共识节点数量N比较少,是比较中心化的,节点串谋概率高。
但是,N个共识节点中起码会有1个是诚实的。只要至少1/N的Validator诚实,检查出block无效,并愿意在必要时刻广播欺诈证明,轻节点或诚实Validator都能知道网络出现了安全问题,并可以通过Slash恶意节点、社会共识分叉等方式让网络恢复正常。
可是,就像之前Vitalik提到的,如果诚实全节点接收到一个block且发现它缺乏某些部分,并发布欺诈证明,此时不好判断出是block提议者没发布这部分数据,还是中途被其他节点扣留了,亦或是发布欺诈证明的节点自导自演。
此外,如果多数节点串谋,1/N的诚实Validator被孤立,可能无法获取新的block,这算是一种数据扣留攻击场景。需要注意的是,此时诚实节点不知道是网络状况不好,还是其他人串谋搞数据扣留,他也不知道其他节点是否也被孤立,不好判断多数人是否已经串谋搞数据扣留。
综上,要有一种办法,以极高概率保证诚实Validator能获取到验证block所需的数据;同时,要能判断出是谁在搞数据扣留攻击——是block提议者没发布足量数据,还是说被其他节点扣留了,亦或是多数节点在搞串谋。显然,这种安全模型比普通POS链的“诚实多数假设”多了很多保障,而数据可用性抽样DAS就是具体的实现方式。
我们现在假设,网络中轻节点很多,可能是10 N,每个轻节点都连接了多个Validator(为了方便分析,假设每个轻节点都连接了全部N个Validator)。这些轻节点会向Validator多次发动数据抽样,每次随机请求一小部分数据(假设只占一个block的1%)。随后,它们会把抽到的碎片传播给没有这些数据的Validator。只要轻节点足够多,且数据抽样次数足够频繁,即便某些请求可能被拒绝,但只要大部分被响应,就可以保证所有Validator最终都能获取到验证block所需的足量数据。这样可以抵消掉Block提议者以外的其他节点扣留数据的影响。
而如果多数Validator搞串谋,拒绝响应大多数轻节点的请求,此时人们很容易意识到链出了问题(因为就算一部分人的网速不好,也不至于差到大部分轻节点的请求都被拒绝)。所以前述方案可以极高概率判断出多数串谋行为,当然这种情况本身极少发生。
到了这里,我们可以解决掉来自Block提议者之外的不确定性因素。如果Block提议者搞数据扣留,比如他没有在block里发布验证区块所需要的足量数据(引入二维纠删码后,一个区块里包含2k*2k个片段,而还原出区块的原始数据至少需要约k*k个片段,占1/4。提议者想让其他人不能还原出原始数据,最少需要扣留k+1*k+1个片段),最终肯定会被诚实Validator检测出来,而后者会广播欺诈证明警告其他人。
按照vitalik和mustafa的说法,他们其实是把此前就有人提出的想法结合了起来,并在此之上做出了一定的创新。而从整个构思的出发点与实现方式来看,显然所谓的“数据可用性”指的是验证最新block所需的那些数据,是否都有被区块提议者发布出去,且能不能被验证者们接收到。这关乎“数据是否完整发布”而不是“历史数据是否可以被检索到”。
以太坊Rollup的DA怎么实现
有了前面的论断,我们再来看以太坊Rollup的DA实现方式,其实就比较清晰了:Rollup里的区块提议者就是排序器Sequencer,它每隔一段时间就会在以太坊上发布验证Layer2状态转换所需要的数据。准确的说,是向指定的合约发起一笔Transaction,在自定义的输入参数里塞进DA所涉及的数据,并最终被记录进以太坊区块里。由于以太坊足够去中心化,可以确信定序器提交的数据会被“验证者”顺利接收到。但不同Rollup网络中充当“验证者”角色的东西是不同的。
具体而言,ZK Rollup采用以太坊上的Verifier合约充当“验证者”。ZKR最少只需要发布State Diff + Validity Proof,也就是状态变化情况+有效性证明,Verifier合约会检测有效性证明,判断它能否和State Diff对上号。验证通过后,定序器发布的L2 Block/Batch就被认作有效。
而乐观Rollup要在以太坊发布更多数据,因为它只能靠L2全节点去下载数据并验证Block有效性。这样的话,至少要披露 每笔L2交易的数字签名(现在一般用聚合签名)、如果有调用合约的话,还要披露输入参数,此外还要披露交易转账地址、防重放攻击的Nonce值等。但相较于完整的Transaction data,还是有一些修剪。
相比于ZK Rollup,乐观Rollup的DA成本更高,因为ZK Rollup只需要披露一批交易执行后的最终状态变化,附带一个有效性证明,利用到了ZK SNARK/STARK的简洁性;而乐观Rollup只能采用最笨重的方式,让所有交易都在其他L2全节点身上重新执行一遍。
此前W3hitchhiker曾粗略估算过,不考虑未来的4844和blob,ZKR的扩容效应可以达到OPR的数倍,而如果考虑到4337相关的智能钱包(用指纹、虹膜数据取代私钥签名),ZKR的优势会更明显,因为它不需要把指纹、虹膜的二进制化数据post上以太坊,而乐观Rollup需要)。
至于Validium和Plasma/Optimium,其实是用以太坊链下的DA层来实现DA。比如,采用了有效性证明系统的ImmutableX自己搭建了一组DAC节点(数据可用性委员会),专门发布DA涉及的数据;Metis则在Memlabs上发布DA数据,Rooch 和Manta则采用Celestia。而目前看来,由于有DAS和欺诈证明系统的存在,Celestia是以太坊之外可信度最高的DA层项目之一。
参考文献
1.https://coinmarketcap.com/alexandria/article/what-is-data-availability
2.https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding
3.https://www.youtube.com/watch?v=xV2XVCtQIGw&t=2977s
4.https://www.chainfeeds.xyz/feed/detail/45ca8444-113b-4d81-b3eb-cd90a1297f8d
5.https://arxiv.org/abs/1809.09044
6.https://ethereum.org/zh/developers/docs/data-availability/
解读EigenDA如何实现Rollup的超大规模数据可用性撰写:EigenLabs
编译:深潮 TechFlow
EigenDA 是一个安全、高吞吐量和去中心化的数据可用性(DA)服务,建立在以太坊之上,使用 EigenLayer 的再质押的基础模块。EigenDA 由 EigenLabs 开发,将成为第一个在 EigenLayer 上启动的主动验证服务(AVS)。一旦启动,再质押者将能够将质押权委托给为 EigenDA 执行验证任务的节点运营商,以换取服务支付,并且 Rollup 将能够将数据发布到 EigenDA,以便获得更低的交易成本、更高的交易吞吐量以及在 EigenLayer 生态系统中的安全组合性,其安全性和吞吐量的设计可随着再质押的数量和运营商选择为协议提供服务而水平扩展。
我们希望 EigenDA 对以太坊生态系统做出以下贡献:
为 Rollup 提供创新的 DA 解决方案,为以太坊扩展终极目标做出贡献,并从以太坊质押者和验证者那里获得安全性和价值。EigenDA 建立在一些核心思想和库的基础上,这些思想和库是 Danksharding 的关键升级,可以在对这些技术进行实战测试方面发挥作用。
提供高吞吐量和低成本的标准,促进新的链上应用案例的增长。EigenDA 将支持多人游戏、社交网络和视频流媒体等应用,具有灵活的成本模型,包括可变费用和固定费用。
保护去中心化的关键要素。在像 EigenLayer 这样的共享安全系统中,如果每个节点运营商都需要下载和存储使用该系统的每个链,很少有节点运营商能够跟上,系统最终有可能中心化。EigenDA 的设计就是为了防止这种中心化趋势;它在许多参与节点之间分配工作,实现高性能,要求每个运营商只需完成少量工作。
证明可编程信任的力量。EigenDA 试图证明以太坊质押者和验证者可以支持关键的以太坊基础设施,除了以太坊共识之外,AVS(如 EigenDA)和 AVS 用户(如使用 EigenDA 的 Rollup)可以在以太坊信任网络的模块化基础上成功实现新的商业和代币模型。
我们很高兴看到几个团队已经计划将 EigenDA 整合到他们的 L2 基础设施中,包括:Celo 在从 L1 过渡到以太坊 L2;Mantle 及其在 BitDAO 生态系统中的一系列互补产品;Fluent 提供 zkWASM 执行层;Offshore 提供 Move 执行层;Layer N 提供面向金融应用的 zk-OP 混合 Rollup 等等。
技术架构
下图显示了数据在 EigenDA 中的基本流程。
Rollup Sequencer 创建带有交易的区块,并发送请求以分散数据块。
Disperser 负责将数据块进行纠删码编码成块,并生成 KZG 承诺和 KZG 多重揭示证明,并将承诺、块和证明发送给 EigenDA 网络的操作节点。
Rollup 可以运行自己的 Disperser,也可以使用第三方(例如 EigenLabs)提供的分散服务,以方便和分摊签名验证成本。Rollup 使用分散服务可以在服务无响应或进行审查时,可以使用自己的 Disperser 作为备份,从而获得分摊效益,而不会牺牲审查抵抗能力。
EigenDA 节点使用多重揭示证明对接收到的块进行与 KZG 承诺的验证,将数据持久化,然后生成并将签名返回给 Disperser 进行聚合。
技术考虑
现在我们对 EigenDA 的架构有了基本的了解,让我们讨论一下该系统旨在实现的好处和特性。以下是我们认为对于 Rollup 来说,一个良好且有用的数据可用性层所必需的一些特性的简要列表:
经济性
吞吐量
安全性
可定制性。
我们将从 EigenDA 的角度来解释每个特性。
经济性
如今,许多 L2 使用以太坊作为其数据可用性层,因为它具有加密经济安全保证。这导致成本极高且波动性大,因为 Rollup 与所有其他以太坊用户竞争有限的区块空间,基于拥堵定价。例如,Arbitrum 和 Optimism 今年以来在以太坊上的数据可用性费用已经花费了数千万美元,而且每个月都没有一致性。数据可用性系统的主要价值主张之一是大幅降低这些成本,并为 Rollup 在成本结构方面提供更大的可预测性。
降低成本
运营数据可用性系统会产生三个基本维度的成本。让我们分析一下 EigenDA 如何在每个维度上最小化底层成本结构:
质押资本的成本。为了保护数据可用性层,质押者可能希望获得一定比例的收益,以抵消他们的机会成本。EigenDA 通过使用 EigenLayer 来降低质押资本的成本,EigenLayer 采用共享安全模型,允许相同的质押在各种应用程序之间共享,从而创造规模经济。
运营成本。EigenDA 不要求每个节点下载和存储所有数据,而是使用纠删码将数据分割成较小的块,并要求运营者只下载和存储一个单独的块,这是完整数据块大小的一部分。与存储完整数据块相比,这降低了每个运营者的成本,使得许多节点可以“轻量级”地运营 EigenDA。随着更多节点加入 EigenDA 网络,网络上每个节点所产生的资源成本也会降低。这使得 EigenDA 能够以较低的成本由大量运营者提供安全性,并实现成本的逐渐降低,从而实现丰富而不是稀缺的理念。
拥堵成本。当任何区块链的带宽利用率接近系统容量时,数据的成本开始上升。EigenDA 通过两种方式减少拥堵:1。 通过更高的吞吐量,它试图使拥堵成为一种罕见现象;2. 通过允许带宽预留,EigenDA 可以以折扣价格保证 Rollup 预留的吞吐量。为了保持灵活性,EigenDA 还允许 Rollup 按需支付吞吐量。
Rollup 经济学
Rollup 的经济学与 L1 根本不同,因为数据可用性成本不仅高且难以预测,而且是以非原生代币支付的。这使得 Rollup 很难向用户做出价格承诺并补贴初始采用,因为它们必须承担自己的 Rollup 代币与支付数据可用性费用的代币之间的“汇率风险”。相比之下,L1 支付固定的通胀金额,并可以免费提供一定数量的每秒交易来吸引用户。
EigenDA 正在探索,使 Rollup 能够以可预测的长期预留率以原生 Rollup 代币支付质押者,以 EigenLayer 质押者认可的条款。这将共享安全系统的固有规模优势与稳定的原生代币支付的固有优势相结合,以帮助推动 Rollup 的使用。
吞吐量
吞吐量是数据可用性系统的另一个基本价值主张。EigenDA 旨在实现水平扩展,即网络上的运营者越多,网络的吞吐量就越大。在使用具有标准性能特征的 100 个节点进行私人测试时,EigenDA 已经展示了高达 10 MBps 的吞吐量,并有计划扩展到 1 GBps。这为基于以太坊的带宽密集型应用程序(如多人游戏和视频流媒体)打开了大门。
EigenDA 通过其设计中的三个支柱实现高吞吐量:
DA 与共识脱钩。现有的 DA 系统将数据 blob 可用性的证明与数据 blob 的排序结合到一个“整体”架构中。数据的可用性证明可以并行进行,因为节点可以独立地证明不同数据块的可用性;然而,排序需要对数据块进行串行化,从而导致显著的共识滞后。虽然这种耦合对于那些被设计为最终排序来源的系统在安全方面可能是有益的,但对于旨在与以太坊区块链配套使用的 DA 系统来说,这种耦合既不是必需的,也不是有用的,因为以太坊区块链本身具有用于结算的排序系统。通过简化排序的不必要复杂性并设计一个纯粹的 DA 系统,EigenDA 在吞吐量和延迟方面有了显著的改进。
擦除编码。EigenDA 使得 rollup 可以将要发布到 EigenDA 的数据分解为较小的块,并在存储数据之前对这些块进行纠删码处理。使用 KZG 多项式承诺(ZK 证明的核心数学方案),EigenDA 只需要下载少量数据,而不是下载整个数据块。与使用欺诈证明来检测数据的恶意错误编码的系统不同,EigenDA 采用 KZG 承诺形式的有效性证明,使节点能够验证数据的正确编码。
直接通信而不是 P2P。现有的 DA 解决方案使用点对点(P2P)网络传输数据块,运营商从其对等方接收数据块,然后将相同的数据块重新广播给其他人。这严重限制了可实现的 DA 速率。在 EigenDA 中,Disperser 直接将数据块发送给 EigenDA 的运营商。通过依赖直接通信来分散数据,EigenDA 可以通过原生网络延迟确认 DA。这消除了 P2P 带来的显著八卦惩罚,并导致更快的数据承诺时间。
安全特性
我们将安全性作为一个总称,涵盖了安全性和活性,以及去中心化和抗审查性。以下特性证明了 EigenDA 的安全性:
EigenLayer. 通过使用再质押,EigenDA 从 EigenLayer 系统中借用了两个不同的安全方面:1、经济安全;2、去中心化。EigenDA 被设计为以协同的方式利用 EigenLayer 和以太坊生态系统中这两个不同的信任元素。
托管证明。EigenDA 中运营商的一个关键失效模式是节点在没有实际存储所需时间的情况下签署数据项。为了解决这个问题,EigenDA 使用了一种名为托管证明的机制,这个机制最初由以太坊基金会的 Justin Drake 和 Dankrad Feist 提出。通过托管证明,每个运营商必须定期计算并承诺一个只有在他们存储了分配的数据块块时才能计算的函数的值。如果他们在计算此函数之前对数据块进行证明,任何可以访问他们数据项的人都可以削减节点持有的 ETH。
双仲裁模型。EigenDA 还具有一个名为双仲裁的功能,其中可以要求两个独立的仲裁对数据的可用性进行证明。例如,一个仲裁可以由 ETH 再质押者(ETH 法定人数)组成,第二个仲裁可以由 rollup 的原生代币的质押者组成。
抗审查性。与耦合的 DA 层相比,EigenDA 提供了更高的瞬时抗审查性。这是因为耦合的 DA 架构通常依赖于单个领导者或区块提议者来线性排序数据块,从而创建一个瞬时的审查阻塞点。相比之下,在 EigenDA 中,rollup 节点可以直接向大多数 EigenDA 节点分散和接收签名,从而将抗审查性提高到大多数 EigenDA 节点,而不是受限于单个领导者。
安全分析
正如前面讨论的,EigenDA 是基于通过 EigenLayer 进行的 ETH 质押,并使用可由 rollup 设置的可配置编码比率的纠删码构建的。对于像 EigenDA 这样的区块链系统的安全性分析有三个不同的角度;我们描述每个角度以及它如何适用于上述 EigenDA:
拜占庭容错(BFT):假设一部分节点是诚实的并且完全遵循协议,而另一部分节点是恶意的并且可以任意偏离协议。
EigenDA 是安全的,即只要 X% 的节点是诚实的,就可以检索数据,其中 X 可以是 10% 到 50%,具体取决于编码率。
纳什均衡模型:分析每个节点或小的串通节点遵循协议的经济激励,假设不同串通节点之间的节点行为是独立的。
只要共谋规模小于 (1-X),向用户存储和提供数据就是纳什均衡:存储数据通过存储证明作为均衡得到保证,存储数据的节点的 ETH 将被削减;提供数据通过将数据分散到许多节点中得到保证,从而引发了一个竞争市场来提供数据。
纯加密经济模型:假设所有的股份都由同一个节点持有,并对经济腐败的成本进行建模。
只要数据可用,或者说,只要 X%的节点是诚实的,那么任何不托管数据的节点质押的 ETH 都将被削减。然而,EigenDA 没有无条件的加密经济安全性;如果所有节点串通并隐瞒数据,那么可能无法削减它们。在前面描述的双仲裁模型中,同时质押 ETH 和原生 rollup 代币的情况下,即使无法削减 ETH,rollup 也可以削减原生代币。
正如我们所看到的,EigenDA 建立在一个信任模型上,这个信任模型不仅需要来自 ETH 质押的经济信任,还需要运营商的去中心化和独立性才能安全运行。幸运的是,EigenLayer 允许 EigenDA 从以太坊中借用这两个信任机制。
可定制性
Rollup 开发人员可以根据需要实现具有灵活性的 EigenDA 并调整参数。EigenDA 的模块化特性使得 rollup 可以自定义安全/活性权衡、质押代币模式、纠删码、接受的支付代币等等。
正如前面的部分讨论的,EigenDA 中一些最重要的灵活决策是经济决策。例如,rollup 可以选择使用双仲裁质押,其中他们自己的代币被质押以保证数据的可用性;或者 rollup 可以选择按需或预留的成本结构。
战略考虑
最后,我们相信 EigenDA 在技术属性之外为 rollup 提供了战略价值。
以太坊的质押者和验证者是驱动 EigenLayer 的核心力量,因此也是驱动 EigenDA 的力量。通过采用 EigenDA,Rollup 可以与这些以太坊利益相关者保持一致,他们明确看重去中心化、抗审查、开放访问软件以及可组合的、无需许可的创新。
EigenDA 计划成为 EigenLayer 生态系统中首批推出的众多 AVS 之一。我们预见随着 AVS 数量的增长,它们之间将产生组合效益,这将使得 AVS 的最终用户受益,我们预计这些用户将包括各种类型的 Rollup。例如,在 EigenDA 之后,我们预计会看到具有诸如排序、快速确认、监视网络、桥接、公平排序甚至人工智能等用例的 AVS 推出。加密货币市场中,资金涌向衍生品DEX·数据可用性等技术深化板块,而在前一周表现强势的隐私和以太坊等核心基础设施领域则出现资金外流迹象。 据Artemis统计,截至21日,周度完全稀释估值(FDV)涨幅最高的板块是衍生品DEX,以24.7%的涨幅展现出压倒性上涨势头。随后数据可用性(22.7%)、社交(22.2%)、比特币生态(17.8%)均录得两位数涨幅,崛起为市场新主导主题。 上周上涨6.1%的公用事业与服务板块本周涨幅大幅扩大至17.2%,NFT应用(10.6%)和游戏(7.9%)板块的投资情绪也较前一周显著改善。质押服务(6.9%)、数据服务(6.2%)、DeFi(5.6%)、文件存储(5.5%)等数据与服务相关板块均呈现普遍的资金流入。 DeFi(4.6%)、预言机(3.3%)、第一代智能合约(3.0%)延续温和上涨态势,迷因币(2.7%)、交易所代币(2.2%)、比特币(2.1%)等主要资产类别也保持稳健走势。上周暴跌13.8%的RWA本周转为上涨1.9%,止住跌势,价值存储(1.4%)与智能合约平台(1.3%)同样维持正收益。 下跌板块中,桥接协议以-10.6%的跌幅表现最为疲软,资金外流加速。值得注意的是,上周涨幅居首的隐私币(-5.1%)与排名靠前的以太坊(-0.6%)均转为下跌,遭遇短期获利了结卖压。AI板块(-2.2%)延续上周跌势,持续呈现以科技股为主的调整行情这一特殊动向。
