您当前的位置: > 山寨币 >
ZKSwap团队Layer2分解:Arbitrum如何改良Optimistic?
引言
最近一段时间,基于以太坊的 Layer2 产物可谓是层出不穷,市场体现极为火暖。不知各人注意没有,每个产物推出时城市先容 「其产物是基于某种主流 Layer2 方案,具有何种上风,可以给产物、某方面给用户带来更好体验」 等雷同的宣传语句。有心的读者大概会深思,这些方案到底是什么方案呢?背后的道理毕竟如何?是否存在劣势?今天,ZKSwap?团队就领导各人纵览 Layer2 全局,以技能为基础细分整个产物市场并深度分解背后的技能道理。
Layer2 概览
相信之前有诸多文章已经先容,按照数据的存储方式和生意业务有效性的证实方式的差别,Layer2 方案可以被划分为四大类,如下图所示:
Layer2 方案划分
数据存在链上,即具有链上数据可用性的方案有:ZK-Rollup、Optimistic Rollup;数据存在链下,即不具有链上数据可用性的方案有:Validium、Plasma;用零常识证实来主动包管生意业务有效的方案有:ZK-Rollup、Validium;用户需提交欺骗财证实来主动验证生意业务有效的方案有:Optimistic、Plasma;
跟着 Layer2 技能的不停成长,Plasma 和 Validium 方案在市场上逐渐的失往了声音。尽大部门产物都是基于其他两种方案上实现的,由于两种方案的优缺点比力明明,因此项目方会按照差别的考量来选择差别的方案,下面我们将通过一张表格来出现整个 Layer2 上的环境: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)。
两者的关系如下图所示:
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 上执行该笔生意业务,并更新状态根;
长处: 兼收留 EVM。
Arbitrum Rollup(ARU) -- Fraud Proof
ARU 协议的设计和 ORU 大要相似,主要的区分在挑战机制上。在 ORU 协议里,sequencer 和 verifier 之间只有一次交互,即 sequencer 提交一次状态转换,verifier 往完成后续的挑战。因为 sequencer 宣称就是“初始状态为 Si,执行完生意业务 Txi 后,状态根变为 Si+1”。因此,在 L1 上不得不完整的执行整个生意业务。
ARU 的协议对以上历程举行了优化,实际上,在 L1 上执行生意业务的历程,实在就是在虚拟机上执行某些指令的历程;ARU 协议认为,整个生意业务执行的历程中,状态更新的失败,肯定是个中的某些指令执行的失败,因此,只需要证实 sequencer 在执行某条指令时呈现异常,那就可以证实 sequencer 作恶。详细的历程如下图所示:
注:在 ARU 协议里,Asserter 对应 ORU 协议里的 sequencer,Challenger 对应 ORU 协议里的 verifier。
据上所知:
1. Asserter 和 Challenger 间举行了多次的交互,交互次数和 n 成对数关系;2. 把验证整个生意业务的执行历程,简化成了纯真的验证一条指令,大大的节流了验证成本;3. 同样兼收留 EVM;
固然,ARU 协议仍旧有许多细节还未在本篇文章里说明,本篇不计划过多先容,内收留已经很长,假如读者想相识 ARU 更多细节,请参考 offchainlabs 的官网。
写在最后
虽然以 Optimistic Rollup(ORU) 路线为主的 Layer2 扩收留方案逐渐的被市场上更多的产物所接管,可是将来的 Layer2 扩收留最终方案仍旧是兼收留 EVM 的 zkRollup(ZRU)。今朝的 Layer2 的产物市场上,对于 EVM 的兼收留性比宁静性和效率更受存眷,固然完美的方案是兼收留 EVM 的 zk rollup;在此之前,Layer2 扩收留方案应该会在一段时间内涵兼收留性和宁静性之间衡量选择。这有利于 Layer2 扩收留技能的成长,Offchain Labs 做了很好的模范;固然,ZKSwap 团队也会连续研究摸索,根据 ZKSwap 的路线图,将在本年公布兼收留 EVM 的 ZK Rollup 版本,取得更好的可组合性和宁静性,而不消像 optimistic 的解决方案,通过牺牲必然的宁静性来实现与 EVM 的兼收留。