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

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

引言

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

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

Layer2 概览

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

1.png

<center data-v-3a89953c="" class="italic" style="box-sizing: border-box; border: 0px solid rgb(226, 232, 240); font-style: italic; color: rgb(74, 85, 104); font-family: system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, system-ui, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">图1. Layer2 方案划分</center>

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

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

2.png

<center data-v-3a89953c="" class="italic" style="box-sizing: border-box; border: 0px solid rgb(226, 232, 240); font-style: italic; color: rgb(74, 85, 104); font-family: system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, system-ui, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">表1. Layer2 产品划分</center>

从表格中可以看出有有两个被标记的方案: 由 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 的兼容。

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

  • 发表于 2021-03-16 16:19
  • 阅读 ( 209 )
  • 学分 ( 10 )
  • 分类:零知识证明

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
ZKSwap
ZKSwap

16 篇文章, 121 学分