7

ZKSwap团队剖析L2现状:Arbitrum如何改进Optimistic?

 3 years ago
source link: https://learnblockchain.cn/article/2274
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

ZKSwap团队剖析L2现状:Arbitrum如何改进Optimistic?

ZKSwap 团队带领大家纵览 Layer2 全局,以技术为基础细分整个产品市场并深度剖析背后的技术原理。

最近一段时间,基于以太坊的 Layer2 产品可谓是层出不穷,市场表现极为火热。不知大家注意没有,每个产品推出时都会介绍 “其产品是基于某种主流 Layer2 方案,具有何种优势,可以给产品、某方面给用户带来更好体验” 等类似的宣传语句。有心的读者或许会深思,这些方案到底是什么方案呢?背后的原理究竟如何?是否存在劣势?

今天,ZKSwap 团队就带领大家纵览 Layer2 全局,以技术为基础细分整个产品市场并深度剖析背后的技术原理。

Layer2 概览

相信之前有诸多文章已经介绍,根据数据的存储方式和交易有效性的证明方式的不同,Layer2 方案可以被划分为四大类,如下图所示:

1.png

图1. Layer2 方案划分

数据存在链上,即具有链上数据可用性的方案有:ZK-Rollup、Optimistic Rollup;
数据存在链下,即不具有链上数据可用性的方案有:Validium、Plasma;
用零知识证明来主动保证交易有效的方案有:ZK-Rollup、Validium;
用户需提交欺诈证明来主动验证交易有效的方案有:Optimistic、Plasma;

随着 Layer2 技术的不断发展,Plasma 和 Validium 方案在市场上逐渐的失去了声音。绝大部分产品都是基于其他两种方案上实现的,因为两种方案的优缺点比较明显,因此项目方会根据不同的考量来选择不同的方案,下面我们将通过一张表格来呈现整个 Layer2 上的情况:

2.png

表1. Layer2 产品划分

从表格中可以看出有有两个被标记的方案: 由 Offchain Labs 研发的 ARU 扩展方案,和 ORU 方案一样被归类于 Optimistic Rollup 的范畴,但与 ORU 主要的不同之处在于欺诈证明的交互过程,这将在后续的技术剖析环节给与分析。本篇主要剖析 ORU 和 ARU 的挑战原理,以更好的呈现它们之间的主要差异。

Optimistic Rollup(ORU) -- Fraud Proof 欺诈证明

首先简单介绍 ORU 协议里的两个概念: CTC(Canonical Transaction Chain):存储所有的交易信息,保证了数据可用性(更细节的描述可以参考链接 Optimistic Details)。 STC(State Commitment Chain):存储了一系列的状态根,和 CTC 里的交易顺序逐一对应(更细节的描述可以参考链接 Optimistic Details)。 两者的关系如下图所示:

3.png

S0 为初始状态根,图中绿线表示:交易 Tx1 执行后,状态根由 S0 => S1。这些操作都是由 sequencer 来执行,sequencer 在 ORU 协议里扮演者重要角色,主要负责三件事情:

  1. 接受来自用户的交易;
  2. 将这些交易 Rollup,并添加到 CTC 上;
  3. 计算每笔交易提交后的状态根并添加到 STC 上;

假如 sequencer 作恶,提交了错误的状态根(后续的状态根自然也是无效的),如下图所示,Verifier 如何验证 sequencer 作恶呢?

Verifier 的挑战过程主要分为三个步骤:

  1. 宣称要挑战的交易,并且提供在此交易执行前的状态根;
  2. 上传 L2 上所有和该交易相关的状态到 L1(因为挑战的思想是在 L1 上重新执行 L2 上已经执行过的交易,并比较执行后的状态);
  3. 在 L1 重新执行挑战的交易,计算新的状态根,并判断 sequencer 是否作恶;

如果 sequencer 确实作恶,那么将罚没其押金,并将其部分奖励给 verifier。

Optimistic 具有的缺陷是:

  1. 由于不是主动保证交易的有效性,因此 sequencer 提交的每一次状态更新都要设置挑战期,大概在一周左右,时间太长;
  2. 用户挑战的成本很高,具体包括:

(1) 发送所有和挑战交易相关的数据到 L1; (2)在 L1 的 EVM 上执行该笔交易,并更新状态根;

  1. 兼容 EVM

Arbitrum Rollup(ARU) -- Fraud Proof

ARU 协议的设计和 ORU 大体相似,主要的区分在挑战机制上。在 ORU 协议里,sequencer 和 verifier 之间只有一次交互,即 sequencer 提交一次状态转换,verifier 去完成后续的挑战。由于 sequencer 宣称就是“初始状态为 Si,执行完交易 Txi 后,状态根变为 Si+1”。因此,在 L1 上不得不完整的执行整个交易。

ARU 的协议对以上过程进行了优化,实际上,在 L1 上执行交易的过程,其实就是在虚拟机上执行某些指令的过程;ARU 协议认为,整个交易执行的过程中,状态更新的失败,必定是其中的某些指令执行的失败,因此,只需要证明 sequencer 在执行某条指令时出现异常,那就可以证明 sequencer 作恶。具体的过程如下图所示:

4.png

注:在 ARU 协议里,Asserter 对应 ORU 协议里的 sequencer,Challenger 对应 ORU 协议里的 verifier。

据上所知:

  1. Asserter 和 Challenger 间进行了多次的交互,交互次数和 n 成对数关系;
  2. 把验证整个交易的执行过程,简化成了单纯的验证一条指令,大大的节省了验证成本;
  3. 同样兼容 EVM;

当然,ARU 协议仍然有很多细节还未在本篇文章里说明,本篇不打算过多介绍,内容已经很长,如果读者想了解 ARU 更多细节,请参考 offchainlabs 的官网。

虽然以 ZK-Rollup Rollup(ORU)路线为主的 Layer2 扩容方案逐渐的被市场上更多的产品所接受,但是未来的 Layer2 扩容终极方案仍然是兼容 EVM 的 ZK-Rollup(ZRU)。

目前的 Layer2 的产品市场上,对 EVM 的兼容性比安全性和效率更受关注,当然完美的方案是兼容 EVM 的 ZK-Rollup,在此之前,Layer2 扩容方案应该会在一段时间内在兼容性和安全性之间权衡选择。这有利于 Layer2 扩容技术的发展,Offchain Labs 做了很好的榜样。

ZKSwap 团队也会持续研究探索,按照 ZKSwap 的路线图,将在今年发布兼容 EVM 的 ZK-Rollup 版本,取得更好的可组合性和安全性,而不用像 ZK-Rollup 的解决方案,通过牺牲一定的安全性来实现与 EVM 的兼容。

本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK