以太坊的扩容问题迫在眉睫,而以太坊 2.0 分片规划开发缓慢,Layer 2 上的扩容解决方案在短期内最有可能改变以太坊的拥堵现状。以太坊中践行 Layer 2 扩容的团队基于相同或不同的技术方案,例如 Rollup 和 Plasma,进行相应的产品化落地。目前大部分产品还处于开发阶段,它们之间的格局将影响到以太坊生态的格局。本文根据 Layer 2 开发团队对外披露的方案,对其实用性进行解读和评估,总结 Layer 2 项目的发展趋势以及目前 Layer 2 方案面临的问题。
Layer 2 解决方案的思路是将本应该在 Layer 1 上运行的计算过程放到链下,将结果传回链上确认。无论是普通的转账,还是复杂的智能合约,都可以通过 Layer 2 方案实现快速交易以节约 Gas 费。Layer 2 作为以太坊中的扩容工具,也是连接底层网络和上层应用的中间层。从这个角度看,人们对 Layer 2 有两方面的要求:应用需要 Layer 2 进行快速清算;主网和用户需要 Layer 2 保证计算结果的正确性以及资金安全。
一般来说,例如 Rollup 和 Plasma 技术,是通过主链上的智能合约来实现 Layer 2 层和主链之间的交流,用户通过与智能合约交互实现在 Layer 2 层上的充值与提现,Layer 2 通过更新状态将结果传回主链上。但是状态更新不是自动进行的,需要指定负责人来执行,也就是 Layer 2 的运营商。以 Rollup 为例,虽然任何人都可以进行 Rollup 的操作,但在链下进行计算和主链上更新需要花费资源,因此需要对运营商进行经济激励才能保证 Rollup 运行。尤其是对于需要欺诈证明和挑战期的方案来说,如果没有合适的激励方式,那么很难维持项目的可持续。Layer 2 上的交易费用由用户承担,运营商会收到这些奖励。侧链作为广义上的 Layer 2 方式也是通过这种方式运行,侧链有独立的验证节点,用户在使用侧链或进行跨链时要向侧链的节点发出请求。Layer 2 是底层与网络应用之间的中间商,会因提供便利而收取费用。
换一个角度考虑,Layer 2 与底层网络和应用这两者的发展都相关,如果底层网络以太坊出现问题,导致无人使用也就无需 Layer 2 扩容。如果 Layer 2 上没有繁荣的应用生态,也不会有用户使用,那同样没有存在的必要。既涉及到应用又涉及到用户,这样来说,Layer 2 方案之间的竞争颇具公链竞争的态势。但不同的是,用户退出公链生态就几乎无法转移到其他生态中使用,除非卖出所有公链中所有资产,而 Layer 2 上的用户可以自由在 Layer 2 上进入和退出。如果 Layer 2 上的应用不具有吸引力,用户可以随时转移到其他 Layer 2 上的应用中。在现在的环境下,对于用户来说 Layer 2 本身没有吸引力,使用 Layer 2 关注的更多是上面的应用。所以对于 Layer 2 要注重两个方面的体验,开发者的体验和用户的体验。
以太坊在开发者社区已经形成了护城河效应,因此对于 Layer 2 来说,越接近以太坊的开发环境,就越能获得开发者的青睐。尤其是 Layer 2 的很多目标应用都已经部署在主网上,如果需要开发者再针对 Layer 2 环境进行开发,那么十分耗费时间精力。就像每一种新技术,Layer 2 方案也具有先发优势,尤其是以太坊用户都在期待 Layer 2 网络上线,因此尽快地开发 Layer 2 解决方案并部署热门应用是 Layer 2 目前提高竞争力最有效的途径。
在提高用户体验方面,首先要做的是保护用户的资金安全。其次,要让用户无感地在主网和 Layer 2 之间移动,如果其中操作繁琐,则会造成用户门槛进而影响使用人数。还有 Layer 2 的立足之本,用户需要在 Layer 2 达到比主网更流畅的用户体验,并且能有效节约 Gas 费。
综合来说,人们为使用 Layer 2 付出的成本以及得到的便利的综合评估,就是各 Layer 2 的竞争力。
Layer 2 的技术解决方案可以分为几种,例如状态通道、侧链、Plasma 和 Rollup 等,同一种技术也会由不同的团队开发成不同的版本。下面是目前热门 Layer 2 解决方案及特点。
Optimistic Ethereum (OE)是由 Optimism 公司开发实现的基于 Optimistic Rollup 技术的 Layer 2 网络,计划主网于 2021 年 7 月上线。目前测试网上已经有 Synthetix 和 Unipig (Uniswap 的 Layer 2 版本)两个应用的 Demo 版本,他们也将成为主网上线后的第一批应用。
OE 上使用了自创的 OVM 虚拟机,相当于 Layer 2 上 EVM 的代替版。由于执行环境不同这两者不完全相同,在主链上执行的智能合约需要转义成适用于 OVM 的操作码。在 OE 中,需要通过欺诈证明和挑战期来确定状态的正确性,其中涉及在 Layer 1 上的多次交易,而且需要一定的时间。Layer 2 上状态的最终确认需要 7 天的时间,如果存在欺诈交易则会回滚。OE 的安全性也来源于欺诈证明的保证,那些揭示错误交易并在 OE 上提交证明的用户会因此受到奖励。为了防止运营者无成本作恶,成为运营者需要在以太坊上存入诚信保证金。如果他们的欺诈行为被验证者发现,那运营者的保证金就会部分交给验证者,部分被销毁,这是出于运营者可以在验证者提出证明前抢跑的考虑。
由于欺诈证明的存在和挑战期的限制,用户提现时有一周的等待时间,这也是 OE 现在的弊端,可以通过流动性提供者的方案解决。如果 OE 中的一个验证者证明了用户的一笔交易是正确的,在规定时间后会真实提现,那么他就可以充当流动性提供者,提前将资金预支给用户,等待用户提现完成再偿还,以赚取挑战期内的利息。或者用户所需的应用都在 OE 上,用户也就无需提现到主链上。
在费用方面,用户在向 OE 智能合约转账和提现时需要消耗 Gas 费,在 OE 中进行交易时也许支付 Gas 费给运营者。OE 中的 Gas 费计算方式与主网有所不同,例如在 OE 上的 Gas Price 是固定的常数,目前初始值为 1Gwei,无需用户再进行设置。
Arbitrum Rollup 由 Offchain Labs 团队实现,同样基于 Optimistic Rollup 技术,目前发布了测试网 V4 版本,这是未来主网的候选版本。Arbitrum 在 Offchain Labs 的规划中除了 Rollup 之外,还有未上线的适用于其他应用的状态通道和侧链。目前 Arbitrum Rollup 的测试网生态版图包括 Bancor,Balancer,Bounce,MCDEX 和 Arbiswap (Uniswap 的 Arbitrum 版本)等应用,也包括 Chainlink 和 The Graph 这样的基础设施。
图 1:Arbitrum 架构
如上图所示,Arbitrum 建立在以太坊之上,使用 EthBridge 维系 Layer 1 和 Layer 2 之间的连接,调用 EthBridge 合约可以实现主网与 Arbitrum 链的交互。AVM Architecture 之上是 Arbitrum 底层运行的虚拟机 AVM,ArbOS 完全在 AVM 中运行,负责管理和执行智能合约。最重要的是,ArbOS 为智能合约提供了与 EVM 兼容的执行环境。左上方的用户在使用钱包或前端工具与 Arbitrum 进行交互时,无需使用新的工具,开发人员也无需进行额外开发,可以直接将现有的 Solidity 合约转移到 Arbitrum 中。
与 Optimistic Rollup 的思路相同,Arbitrum Rollup 使用欺诈证明保证网络安全。相同的,Arbitrum 中也会有专门的运营者和验证者,运营者需要缴纳押金防止作恶。专门的验证者对运营者错误行为进行监督,否则每个交易参与者都亲自验证监督的话,会影响用户体验。在进行争端仲裁时,Arbitrum 会在链下对争议内容进行拆分,在确定了最小的争议范围之后再调用以太坊合约进行决策。因此在 Layer 1 层面的验证上,Arbitrum 的效率会更高。
在 Arbitrum 中,同样需要为使用虚拟机支付 Gas,这体现为 ArbGas,也是对 Arbitrum 运营者的经济补偿。ArbGas 用于评估 AVM 中执行计算所花费的时间,1 亿 ArbGas 大约等于 2020 年初 Offchain Labs 开发者电脑的 1 秒 CPU 时间。每条 AVM 指令的 ArbGas 成本是通过测量设置的,与以太坊中的 Gas 计算有所不同。目前在测试版本中,默认的费用设置为零。
zkSync 由 Matter Labs 开发实现,基于 ZK Rollup 技术,通过密码学证明链上数据的真实性保证资产安全。运营者在上传数据时会附加有效性证明,主网可以在数据上传时即时验证信息,所以让 Layer 2 达到和主网同等的安全性。目前 zkSync 的生态包括 Curve、AAVE、Balancer、1inch 等,已经上线了主网,2.0 版本的主网预计在 2021 年 8 月上线。
zkSync 以用户资金安全为首要目标,使用了加密技术 PLONK 和 RedShift。其中 RedShift 是一种透明通用的 SNARK,由纽约大学的 Assimakis 和 Matter Labs 的 Konstantin、Alexander 研究发现。在使用 zkSync 时,交易有两部分成本:1. Layer 2 上的状态储存和 SNARK 生成成本,这取决于硬件的使用;2. 运营者支付将数据传回以太坊主网上的成本以及验证 SNARK 证明的成本,这取决于以太坊上的 Gas Price 价格。ZK Rollup 最大的阻碍就是与智能合约相关的有效性证明的验证成本过高,因此不适用于智能合约的场景。zkSync 通过重新对智能合约编写让其适用在 ZK Rollup 中使用。但需要开发者重新使用 Zinc 语言部署合约,这将是目前 zkSync 未来最重要的计划之一。
涉及 zkSync 中的交易转账时,用户可以使用转账的代币支付 Gas 费,没有必须使用 ETH 的要求。目前 zkSync 网络是由集中管理的方式运营,未来将引入多个角色让网络更分散,例如引入 PoS 共识机制等。为了维持运营者的收支平衡,zkSync 中的费用会随着主网 Gas 费改变,但保证 zkSync 的使用费用始终比以太坊网络低,ETH 转账低 20 倍以上,ERC20 代币转账低 100 倍以上。未来 zkSync 还将推出自己的代币用于治理和抵押,并上线更手续费更低的平台 zkPorter。
zkPorter 将和 zkSync 2.0 版本主网一同上线,zkPorter 中的数据将被转移到链下,可以与 zkSync 账户无缝交互,其中账户的数据可得性将由守护者(Guardian)的 zkSync 代币持有者保障。守护者需要抵押 zkSync 代币并参与 PoS,如果数据不可得,他们将失去抵押的资金。
StarkWare 是基于 ZK Rollup 技术实现的扩容方案,目前的客户有 DeversiFi、iMMUTABLE,dYdX。不同于 zkSync,StarkWare 使用的是 STARK 技术,一种简洁全透明的零知识证明。Cairo 是 StarkWare 推出的图灵完备使用 STARK 证明的平台,以上的应用也是基于 Cairo 搭建的。除此之外,StarkWare 还推出了交易平台 StarkEx。
StarkWare 还开发了一种名为 Validium 的模式,在这种方案下,用户将交易数据发给委员会成员,他们的数据会被储存在链下,降低了 ZK Rollup 中的资金的安全性,但由此效率会有所提高,更适用于高频的场景。
Polygon 是 Matic 网络的升级产品,与 Matic 成为两个不同的扩容解决方案。Matic 使用了 Plasma 框架,来保证侧链的去中心化和安全性。Matic 在 Plasma 链中应用了基于账户的模型,不同于其他 Plasma 中的 UTXO 系统,这让 Plasma Matic 适用于以太坊系统,支持 EVM。Plasma 侧链使用 PoS 共识机制,质押 Matic 代币可以成为网络中的验证者。
Polygon 的独立侧链完全与以太坊适配,因此用户和开发者的学习成本为零,通过桥链接支持互操作性,侧链中有独立的验证者保证安全。Polygon (Matic)目前上线了侧链和 Plasma 两个以太坊扩容方式, ZK Rollup 和 Optimistic Rollup 产品在未来的规划中。这是为了实现不同用户的扩容需求,例如企业级应用、初创公司和专注网络安全的公司等。Aavegotchi、Easyfi、SportX、Aave 等应用使用了 Polygon 的架构。
图 2:Polygon 中的固定链模式(左)和独立链模式(右)
xDai Chain 是 MakerDAO 基金会推出的以太坊兼容侧链,以 xDAI 为网络交易的支付工具,xDAI 与 DAI 同比例兑换。由于兼容 EVM,以太坊中所有应用都可以直接迁移到侧链上。目前 xDAI 的生态应用有很多,包括 1Hive,Honeyswap,Perpetual Protocol,Sushiswap,Unique.one 等等。
xDai 侧链使用了权益证明机制 POSDAO 进行记账和治理,采用了双层代币模型,除了 xDai 作为支付代币外,还发行了 STAKE 代币作为治理代币。目前的验证节点还是中心化的受信任的节点,未来会逐渐开放。在以太坊 2.0 节点,xDai Chain 将成为一个分片或者 Rollup 加入到以太坊网路中。
除了专注以太坊 Layer 2 领域的项目外,还有一些原本目标是高速可扩展的公链,但实际中与以太坊运行环境不断靠近让其逐渐有了 Layer 2 项目的影子,如 Harmony,Celer Network,BSC,Heco 等。跨链协议 Polkadot 上的项目也在探索与以太坊上应用的适配,例如 Acala EVM 成功部署了 Uniswap 合约并运行。
最典型的例子是 BSC 和 Heco,这两者使用的虚拟机和以太坊相同,开发者可以直接将智能合约从以太坊上迁移过来。而且 BSC 和 Heco 在底层改变了公链的共识机制等参数,出块速度更快并实现了更大的承载量,用户可以在节约交易花费。如果其他公链在兼容性与以太坊相称的话,就可以被视为以太坊上的侧链,也就是广义上的 Layer 2。
各种 Layer 2 方案层出不穷,我们在第一部分指出,Layer 2 的竞争力在于降低开发者难度以及提高用户体验,因此未来所有 Layer 2 还将朝着这两个方向进行,例如 Optimistic Rollup 类产品改善欺诈证明和挑战期的用户体验,ZK Rollup 对虚拟机和智能合约方面进行开发,让其更适用于目前的 DeFi 应用。侧链的实现虽然较为容易,但要提高资金安全和去中心化方面的保证。
Layer 2 层面上,很难在降低手续费、可扩展性、去中心化、数据可得性这几方面同时实现平衡。随着 Layer 2 技术的不断发展,例如最新的 Rollup 技术,如果忽视挑战期或智能合约造成的不便,已经在去中心化和数据可能性方面实现了进步。然而为了追求更快的交易速度和降低手续费,比如 zkPorter 和 Validium 模式中,只能靠牺牲数据可得性来实现,不得不将数据转移到链下储存。不难理解,为了达成更高的效率,只能尽可能少地使用链上资源,也就是交给运营节点更多的权力,所以需要更完善的机制设计避免节点作恶。未来 Layer 2 方案会在速度、费用、去中心化和数据可得性这几方面进行取舍,针对不同的场景会出现不同的解决方案。
对于 Layer 2 的运营者或验证者来说,进行相关工作需要经济上的激励。对于大多数 Layer 2 网络来说,发行代币也是未来趋势,主要用于治理或激励。但对于使用同一种技术的项目来说,例如 OE 和 Arbitrum,经济激励的设计也是他们的竞争力之一。就像 DeFi 生态中的竞争,如果 Layer 2 的对参与者的激励更多,那就会因此吸引更多的运营者和验证者来保证网络安全。
Layer 2 只是以太坊上的工具,更重要还是运行在 Layer 2 上的应用。可以看出,与 Layer 2 项目合作最多的是需要高频交易的 DEX。随着 DEX 项目的升级,例如 Uniswap 的 V3 版本,在 Layer 2 上运行的需求就更强烈。未来 Layer 2 上的竞争也是 Layer 2 上应用之间的竞争,因此对于 Layer 2 来说争夺应用更为关键,尤其是需要高频交易的应用。
除了侧链网络,Rollup 技术的 Layer 2 解决方案的开发进度是低于预期的,因此难以判断上线之后是否能真正符合预期,开发难度是目前 Layer 2 面临的问题。Layer 2 之间的互操作性也是目前 Layer 2 方案面临的问题,不同的 Layer 2 是由不同智能合约控制的,因此在相同 Layer 2 中应用进行交互才能降低手续费。如果同一应用部署在不同的 Layer 2 中,则会影响它的流动性。因此跨 Layer 2 解决方案也是目前的研究方向。
上文是对目前以太坊 Layer 2 中主流项目竞争格局和趋势的分析,Layer 2 作为连接以太坊底层和应用的中间层,也是以太坊主链上的扩容工具。最需要关注的就是为应用开发者和用户层面上的使用体验,尤其是对应用的争夺。由于在不同的 Layer 2 会影响应用的交互性,形成 Layer 2 层面上完整的生态是理想的状态。
虽然各 Layer 2 方案都朝着提高可用性的方向发展,但最后不会出现统一的胜出者,这是因为在不同场景中会出现不同需求。例如在高频交易场景下人们会更对手续费更敏感,这就可以牺牲掉部分的数据可用性以经济机制来防止作恶。但在其他更需要安全性的场景下,就可以使用完全数据可用的方案。
为了维持 Layer 2 方案的可持续性,处理运营者和用户之间的关系同样重要。如果对运营者的激励过少,那么可能没有足够的运营者和验证者维持网络的去中心化和安全。如果对用户收费过多,也可能造成用户和应用的流失。尤其是大部分 Rollup 方案都采用了与主网不同的 Gas 费收取方式,是否能实现运营者收支平衡还需上线后再做评估。