一. 概述
以太坊扩容方案有很多,以太坊官方有详细描述,其中把扩容分类为:
- 链上扩容onchain
代表方案sharding。需要直接对layer1进行修改,代价高昂,进展缓慢。
- 链下扩容offchain
这种方案的思路是把部分数据和计算从链上转移到链下,把运算结果打包上链。其中涉及两个相关名词:
- operator。offchain的运营方,又往往被叫做sequencer, validator等。
- DA, data availability。交易数据保存在哪儿。比如说da在offchain,即指交易数据保存在operator方,对以太坊不可见。
链下扩容方案分为两大类:
独立链方案:operator运行一条独立于以太坊的链,且管理DA。分为三类:
- sidechain。比较成熟的方案,但存在operator信任问题,如Polygon PoS。
- plasma。致力于解决operator的信任问题,但方案不成熟,逐渐被淘汰,如OMG network。
- validium。通过zk技术解决operator信任问题,逐渐被接受,如StarkEx,zkPorter。
layer2方案:operator不需要独立的链,仅负责运算,不管理DA。分为两类:
- op rollup。采用fraud-proving机制,如Optimism,Arbitrum。
- zk rollup。采用zkSnark/zkStark算法,如zkSync, Starknet。
二. 独立链介绍
独立链中operator运营一条独立于以太坊的链,由operator控制DA,而不是以太坊。
1. sidechain
sidechain是比较成熟的方案,但存在信任问题,即用户首先得信任operator。原因是sidechain独立保存了用户的数据,仅仅是把核心的状态根,更新到layer1。从layer1的视角,即不知道交易数据,也不知道交易数据的执行结果,因此layer1无任何手段防止operator作恶。
工作原理
以Polygon Pos为例,我们看下其官方架构图:

其中的核心模块有:
- rootchain。部署在以太坊上的合约。
- POS。通过POS机制选举validator,vadlitor负责打包sidechain和sidechain之间交互,以及sidechain出块。
- sidechain。负责出块和执行交易。
- bridge。用跨链桥在以太坊和polygon pos之间实现资产转移。
这期间,用户的资产完全由sidechain管理,以太坊上无检验sidechain作恶的机制,意味着用户必须无条件信任sidechain。
sidechain的特点总结如下:
- 彻底独立于以太坊的链,包括独立的共识,独立的区块结构。
- tps高,手续费低。因为operator可以采用不同的共识,比如dpos,中心化程度高就可以提高tps,以及降低手续费。
- 无法阻止operator作恶。
2. plasm
plasma在2017年,由Vitalik Buterin和Joseph Poon发表的paper中提出,算是ETH官方的亲儿子。
plasma致力于解决operator的信任问题,通过fraud proof机制,验证operator作恶,但DA问题却一直困扰着plasma本身,导致plasma慢慢退出主流市场。这里详细分析了plasma失败的原因。比如需要用户自己判断offchain数据是否安全,脆弱的用户退出机制等。
工作原理
plasma采用了fraud proof机制,来防止operator作恶。
这张图简单的描述了plasma的fraud proof流程(图片来源):

plasma需要把区块提交到RootChain(以太坊)。假设区块 1-3 已经被验证合法,而区块 4 中存在恶意交易,那么用户可以构造证明提交到主链,主链验证后将plasma链中的状态回滚到区块 1-3。
整个fraud proof的挑战期一般为7天,7天过后,区块最终上链以太坊(finality),此时该区块中的withdraw交易才有效。因此,从用户视角来看,需要7天才能从plasma撤回资产。
用户视角资产的进入和退出流程(图片来源):

在第3到4步,用户在从plasma撤回token的时候,不能马上成功,要等待数天(一般是7天)的fraud proof挑战期。
plasma的特点总结如下:
- 致力于防止operator作恶的链,但设计不完善,阻止operator作恶的成本太高。
- operator必须提交区块的执行结果到以太坊。
- fraud proof机制,以太坊先乐观接受operator提交的结果(state root),等待用户提交欺诈证明Fraud Proof。意味着以太坊上可能存在错误的state root。
- 欺诈的判定有对应的经济奖惩机制。
- 用户可证明operator作恶,作恶证据需要用户从operator获取。
- 撤回资产有7天窗口期。
- mass exit问题。operator作恶会导致大量用户退出plasma,进而堵塞以太坊网络。
虽然plasma失败了,但他们换种方式成功了,2017年plasma paper被发表的时候,一个叫做plasma group的非营利性组织宣称致力于plasma的实现和研究,2020年2月的时候,这个组织宣布改名了,他们转为了营利性组织,新的名字叫做Optimism,没错,plasma脱胎换骨成op rollup活下来了。
事实上,除了DA以及一些功能性的不同,如支持智能合约等,op rollup和plasma的机制是几乎一致的。
3. validium
validium和plasma的目标一致,解决operator的信任问题。validum采用了zk技术获得了成功。
工作原理
我们用StarkEx的结构来介绍validium(图片来源):

- 整体分为两条链:以太坊和StarkEx。
- 区块执行后,StarkEx往以太坊提交zk proof,等待以太坊上部署的合约验证。
- 验证通过,StarkEx往以太坊上更新State root,注意这里只更新State root,完整的state(默克尔树)和交易并不保存在以太坊,也就是DA还是在StartEx。
validium的特点总结如下:
- 用zk机制防止operator作恶的链。
- operator必须提交区块的执行结果到以太坊。
- 用zk验证防止operator作恶。以太坊上不可能出现错误的state root,解决了Fraud Proof和challege问题。
- 可直接在以太坊上撤回资产。但需要提交proof,而proof数据需要operator提供。
- 存在10~30min的finality time。主要是生成zk证明的耗时。
可以看到validium和zk rollup是非常相似的,事实也是如此,二者最大的差别,在于DA。
三. 独立链对比
概述:
- sidechain比较成熟,但需要信任。
- plasma存在设计缺陷,逐渐淘汰。
- validium和plasma目标一致,崭露头角,可能会取代sidechain,比如Polygon计划把Pos升级为Validum。
sidechain
优点:方案成熟支持EVMtps高,手续费低。
缺点:需要信任operator不可绕过operator从以太坊上撤回资产。
DA: offchain。
代表产品:Polygon PoS。
plasma
优点:可证明operator作恶。
缺点:
- 不支持智能合约(因为plasma设计为(owner,state)这样的机制,即每个用户都有对应的state,便于撤回资产,但是普适性的智能合约就过于复杂,无法定义(owner,state),这里有详细讨论)。
- 防欺诈机制不完善,作恶需要用户自己收集数据发现,而数据由operator控制撤回资产耗时数天。
- mass exit问题导致以太坊网络拥堵。
代表产品:OMG network(已废弃)Polygon Plasma Bridge(已废弃)
validium
优点:用zk防止operator作恶,Withdrawal耗时短
缺点:
- zk计算成本高,容易导致operator中心化对智能合约支持困难。因为用zk电路的方式处理EVM指令过于复杂。常用于payment,以及token swap场景。
- DA由operator控制,用户有无法撤回以太坊上资产的风险,需要一定程度上信任operator,这是和zkrollup最大的区别。
代表产品:
- StarkWare StarkEx。采用了Volition,支持在validium和zkr之间切换。
- Matter Labs zkPorter zkPorter现在仅有测试网,不是zkSync的主流产品。
回复 agodelo 取消回复