EVM 兼容度和 Data Availability:为什么相关?
作者:HaoTian,加密分析师 来源:X(原推特)@tmel0211
:
科普完 Data Availability,大家一定疑惑 Data Availability 和 EVM Compatible 之间的关系。我先抛转引玉,EVM 兼容度越高,Data Availability 融合以太坊的程度也就越高。
为什么呢?细心的朋友应该注意到,同为 ZK-Rollup 解决方案,zkSync 只能做到把 state diff 状态转移证明上传以太坊,而 Linea 却可以全部数据都上传主网,答案或许就在 EVM 兼容度上。
之前 @VitalikButerin 撰写过一篇《the different type of ZK-EVMs》的文章,正好带大家一起回顾下。如下图所示,Vitalik 将各类 ZK 方案和以太坊的兼容程度划分了 5 个级别:
– 第一级和以太坊完全等效,不会改变以太坊系统的任何组件,哈希、状态树、预编译等逻辑近乎等同,比如,Taiko、Scroll 都以此为目标;
– 第二级和 EVM 虚拟机系统等效,只在块结构和状态树等数据结构上有一些差异,比如 Polygono zkEVM;
– 第三级,和 EVM 虚拟机近乎等效,可做到和大部分应用程序兼容,为了让 Prove 时间更短一些,仅做了一些牺牲,比如:Scroll、Polygon zkEVM;
– 第四级,采用更高级的语言编程序,再经过一层编译器转化,只为快速的 Prove 时间,比如:zkSync 和 Starknet。
如何通俗理解几种 ZK-EVM 的差异呢?以太坊作为一个成熟的公链系统,其 EVM 虚拟机,Solidity 编程语言以及其他数据结构等都算一种规范,若一个开发者做 ZK-EVM,重复使用以太坊系统组件的兼容度越高,则越趋近于 1 级。
反向理解下,为啥 zkSync,Starknet 要搞自己的语言和编译器来转化,还不是因为依赖以太坊自身组件生成 Prove 证明的速度太低,满足不了需求。假若有一天,以太坊底层支持了 SNARK 证明,这些 Layer 2 只需要批量收交易打包往以太坊提交就好了,何必再自己运作一套 EVM 等效的执行层。
有了关于 EVM-Compatible 等级的认识,再来思考其和 Data Availability 的关系?你会发现一个规律,Etherum 或 EVM 兼容程度越高,可实现的 Data Availability 程度就越高,简单理解,你想让以太坊给你做 DA,那你得和它高度兼容才行。
我大致总结了下,主流 Layer 2 的 Data Availability 的实现方式,大致分为五类:
1. 核心数据全部上传以太坊,由以太坊作为 DA 层;比如:Arbitrum、Optimism、Base、Linea
2. 只把 state diff 状态转换证明上传以太坊,全部历史数据由 Layer 2 自己提供 DA;比如:zkSync、Starknet
3. 由 Layer 2 自己的专属 Layer 1 强共识网络提供 DA 服务;比如 Polygon zkEVM
4. 由第三方共识较强的分布式存储网络比如 IPFS,提供 DA;比如:Metis
5. 由第三方专门构建模块化 DA 的公链服务方提供 DA;比如:Mantle
6. 由 Layer 2 自己提供独立的 DA 服务;比如:Abitrum Nova、Apex、ImmutableX
以上分类参考了 L2BEAT 的数据分析,Data Availability 在该数据分析平台上的标记分别为(On-chain,On-chain(SD), External、External(DAC),Optimism(MEMO)等)
若要基于 Data Availability 给他们分类,从 1 到 6 和对以太坊依赖度逐渐降低,安全共识也逐渐减弱。因为安全共识是一个比较模糊的概念,仅以以太坊参与 DA 的融合度作为共识强弱的标准,并不代表 Layer 2 自己依赖第三方 DA 提供共识或者独立做 DA 层就一定不安全。
总结
我们发现 Arbitrum 和 Optimism 等 OP-Rollup 对以太坊 DA 的应用程度就高,原因很简单,OP-Rollup 和 EVM 的兼容程度天然就高,他们只需要经营好 Sequencer 就可以了,交易处理本地运行下,关键验证和后期的 Challenge 都依赖以太坊系统。
身为 ZK-Rollup 阵容的 Linea 竟可以把核心数据全部上传以太坊,没看到官方有解释,但我猜测是因为 Linea 的 EVM 兼容程度高,所以 Linea 可复用以太坊的存储和合约执行等来协助 Prove 证明流程?而 zkSync 只能依赖自己的 Prove 系统生成证明,若 zkSync 也把全部数据往以太坊塞,后续 Rollup 合约根本验证不了其证明的有效性。
最后,有没有发现 Polygon ZK-EVM 是以自己的 Polygon Validium L1 网络做共识层,身为以太坊竞品,Polygon 的 L1 验证共识体系也很巩固,且其存储容量上限比以太坊优太多,用自己的 L1 做 DA 当然没问题。但 Polygon zkEVM 最后还是把状态转换证明同步到了以太坊,其实完全可以没必要,但这样做也无伤大雅,给以太坊上税获取更强的生态和安全共识。
说到此,应该会想明白为啥 Scroll、Taiko 都在发力做 EVM 亲和度,因为只有 EVM 亲和度越高其 DA 用以太坊才会更方便,也才符合更狭义的以太坊 Layer 2 定义。试想,若一个以太坊 Layer 2 解决方案,Collect transaction,Data Availability、Interoperability 等都依赖 Layer 2 和其他第三方模块化方案了,只是把数据同步给以太坊做个记录,必要性大吗?
共有 0 条评论