Layer2中Data Availability的核心作用
作者:Haotian;来源:作者推特@tmel0211
有朋友让我分析layer2四大天王之外的新秀,比如Linea、Polygon zkEVM、Mantle、Metis等四小龙。大致看了下,发现大部分layer2的差异核心在两点:
1)Data Availability是否依赖以太坊主网;
2)EVM亲和度如何?
EVM是否等效容易理解,决定了开发者低门槛的生态转移;本文基于科普视角来探讨下,Data Availability到底是什么?为什么DA层是layer2的核心层?Celestia和Eigenlayer等第三方DA做了哪些取舍?
-先通俗解释下什么是Data Availability?
简单来说,Data Availability就是区块链网络中,所有节点都能获取到系统产生的全部历史数据的可用性。为什么这很重要呢?因为区块链是分布式的,记录在不同节点上。如果某些关键数据丢失或被隐藏了,整个系统的安全性就会被破坏。
举个例子,假如一笔交易的详细信息只有部分节点知道,其他节点无法获取,那么这笔交易就无法被全部验证者正确验证。再比如,要查询一个账户余额,必须遍历所有相关的历史交易,来计算出最终结果。如果中间缺少了某些交易数据,余额结果就错误了。
所以Data Availability确保了任何节点都可以获取全部历史数据,才能进行正确验证和查询,确保区块链系统中的数据不会丢失或隐藏,所有节点都可以获取完整数据。若DA层无法正常工作,以Optimism为例,其7天挑战期将无法进行,因为batch前后的state若Calldata无法正常可读取,Rollup合约就无法确认。归根结底,DA是为了确保区块链账本系统的安全性。
-谈下layer2以太坊为DA层的优劣分析
使用以太坊作为Layer 2的DA层确实可以利用以太坊的安全性和数据完整性,这是最大的优势,不然layer2的交易被恶意篡改和无序记账都没有任何约束,这样的layer2网络自然很难受到主流认可。但是以太坊自身的区块容量和交易吞吐量有限,长期来看可能难以支持高TPS的Layer2网络。
这种容量上的严重不匹配,意味着大量Layer 2交易排队等待区块确认,无法及时完成DA验证。同时也增加了Layer 2对以太坊区块空间的竞争,推高Gas费用。
所以仅依赖以太坊主网作DA层。长期来看一定会成为layer2发展的瓶颈,所以在layer2发展过程中出现了一些主流的DA解决方案:
1)压缩状态数据到L1,比如zkSync提交zkSNARK证明到主网,大量的原始交易数据由L2维持;
2)由第三方公链平台如Celestia提供DA层解决方案,数据提交到第三方分布式网络进行验证并同步结果状态到L1;
3)坎昆升级后加入了Blob额外存储空间,用KZB工具编码和验证。
-第三方DA模块化解决方案取舍
提到第三方DA模块化解决方案,最让人熟知的就是Celestai和Eigenlayer两个项目了(还有Ethstorage)。
Celestia网络本身可以容量的交易量很大,可确保layer2上的应用产生的大量数据可保证DA的有效性,只把交易状态批量上传到以太坊,因此是一种可高度模块化组合的DA解决方案;
Eigenlayer则将交易处理和数据存储进行了分离,交易快速处理在rollup中,但完整性数据存储在Eigenlayer自主构建的分布式网络中,Rollup只会将关键数据比如区块头和Merkle树根上传到以太坊。需要读取完整数据时,Rollup合约会实时读取Eigenlayer网路的数据。
目前这两个模块化DA方案都比较受欢迎,比如 Eclipse、Cevmos等Cosmos生态的应用链都以Celestia为DA层,Mantle等layer2网络则以Eigenlayer为DA层。
应该讲,模块化的DA方案是一种更定向于未来的DA解决方案,毕竟其嵌套了第三方外部共识,并没有直接以以太坊为DA共识更强,所以才有人提议把采用三方DA解决方案的项目逐出layer2梯队。
本质上,在于你是否信任这种外部嵌套进可以强化容量和性能的DA解决方案。在我看来,短期看一定是以太坊DA更受欢迎,但长期看尤其是应用多链时代起来,这类第三方模块化DA方案也可能会跑出来强共识。
简单系统谈了下Data Availability对于layer2的影响,在看来涌现的各类layer2,思路和框架就很清晰了,OP和ZK Rollup的方式核心是验证数据状态准确性方式的差异,而是否采用第三方模块化DA则是为了解决以太坊作为DA的容量局限性。而坎昆升级后的Blob额外扩展则是一个折中方案。
基于这个前提,再去看各种新锐layer2方案,基础的认知框架的判断标准也就有了。