2022-2-14
原文链接:
原文作者:Aditi、John Adler
译者:Evelyn|W3.Hitchhiker
区块链需要保证数据可用性(DA),特别是在rollup和layer 2(L2)链的情况下。区块链的数据可用性问题是这样的:当区块生产者推进系统的状态但扣留基础交易数据时,区块链网络的参与者可能会被锁定,并无法解释状态或进一步更新。
从开始利用链下和链上DA层的解决方案,以太坊L2的数据可用性解决方案的范围已经迅速增长。理解它可能是复杂的,但这就是我们在这里的原因。在这篇文章中,我们将特别关注以太坊L2生态系统的链下数据可用性。
所有针对以太坊 L2的DA解决方案都面临着一个权衡的困境。他们必须在成本和安全之间做出权衡。在这种情况下,成本指的是链下DA解决方案可以扩展到什么程度,而不会在gas中膨胀支出。安全性指的是每个DA解决方案的数据可用性保证的强度(即威胁模型)。
我们将按照上图中从左到右的顺序来介绍链下数据可用性的情况。请注意,这个分析是在考虑到几个假设的情况下进行的:
纯粹的validiums是上述DA图的最低角。Validiums使用零知识证明来证明交易的有效性,并使用中央数据提供商将交易数据存储在链下。在这个谱系中,Validiums在每笔交易的基础上是最便宜的。
在validium内访问最新状态需要链下数据可用。这很好,除了在数据提供者行为不端或离线的情况下。因此,没有DA保证的话安全性就很低。
由于这些安全问题,目前的validium设计时利用一个委员会(见下一节)而不是一个单一的提供者。
数据可用性委员会(DACs)可以被认为是具有多个节点的validiums。
节点或DACs的成员是受信任的一方,他们在链下保留数据的副本,并在rollup运营商进行恶意行为的情况下将其移植回公众。这些节点通过在链上发布签名,对L2的数据是可用的进行链上证明。
运营DAC的成本是适当的低。在DAC中设立一个节点是相对便宜的,DAC委员会通常由7-10名成员组成。
假设一个典型的DAC有10个成员,验证一个签名的成本是3000 gas,那么验证一个DA证明的成本大约是30,000 gas。在DA证明之外,没有交易数据被主动发布在链上,所以无论交易量如何,成本都相对较低且固定(假设DAC中的节点数量固定)。
从安全角度来看,要做一些权衡。一个可能不是可信的,中立的小型许可委员会要求终端用户信任这个固定的行为者群体来存储交易数据。如果委员会成员的一个门槛是恶意的,他们可以冻结(如果是zk rollup)或窃取(如果是optimistic rollup)链上的所有资金,并完全杀死链的活跃性,这是一个相当大的风险。
**DACs:**像DeversiFi和ImmutableX等项目使用了DACs。
Celestium是一个L2链,利用Celestia来实现数据的可用性,但使用以太坊来进行结算和争端解决。Celestium可以被认为是一个无权限的DAC,在数据可用性上有额外的经济保证,因为如果委员会行为不当,可以被砍掉。这是可能的,因为Celestia网络上的轻节点可以通过数据可用性采样来检测不可用的区块,因此与全节点类似,如果验证者集合成为恶意的,它们就可以自动停止。
此外,Celestia作为DA层是比DAC更可信的中立,因为它本身是作为一个独立的链存在的,是一个通用的DA层,而不是一个特定以太坊 L2的DA层。
对于任意数量的交易来说,Celestiums每个DA证明的成本大约为100,000 gas。每个证明大约需要30个签名,每个签名3,000 gas = 90,000 gas(签名来自 >⅔ 验证者集合的投票权)。这一估计是基于基于Tendermint的链。目前,Cosmos Hub的 ⅔ 投票权被委托给了22个验证者。
DA层:Celestia、Polygon Avail。
传统的以太坊rollups是图表中的最后一组。Rollups利用了链上数据的可用性,使其非常安全。然而,鉴于交易数据被发布到以太坊,其成本也很高。
以太坊上的大多数rollups都会遇到高额的calldata成本问题,它主导了其他成本。虽然有计划大幅降低calldata的成本,但这是否发生将需要时间,核心开发人员和rollup团队的重大社区努力。
在这个时间点上,发布到以太坊的calldata成本大约是每字节16 gas,这是以太坊rollup可扩展性的主要瓶颈。