以太坊 Layer-2 方案的现状
在我们 Layer-2 系列的第一篇文章里,我们讨论了比特币链下可扩展性方案,也分析了闪电网络和多种侧链方案。当我们把目光转向(以市场价值来衡量的)第二大密码学货币,我们可以看到以太坊也有相当多的链下可扩展性方案。这些方案,大多都是为了应对以太坊区块链在 2017 年频繁出现的拥堵情形而提出的。
以太坊协议本身的可编程性,让开发者能够设计出许多在比特币上不可能实现的扩展方案。在过去,这种可编程性往往只意味着可以创建智能合约、团队能够快速获得资金(通常是 ERC-20 形式的 token)然后全身心投入到可扩展性方案的开发中。好几个这样的方案都已经在一年以前甚至更早的时候发布了,但感兴趣者寥寥无几。惨淡的业绩既是因为市场下行、兴趣下降,也是因为他们无法在启动之前造出一定的势能。不过,到了 2019 年末,趋势开始变化。市场反弹、兴趣渐旺、网络利用率上升,多种技术的进步,使得 Layer-2 项目回到大家的视野中。
2020 年以太坊交易的平均手续费成本(以美元计)
以太坊网络使用率的增加,再加上交易手续费的 10 倍上涨,使得多支团队正式启动了他们已耕耘多时的项目。我们看到 —— 过去几个月间启动了许多项目,都在争夺社区的注意力和接受度。本文拿所有这些项目做成了一个图表,准备从投资的角度看这些项目(迄今为止)成功与否。
链下扩展方案进入白热化竞争阶段
以太坊 Layer-2 方案的分类
以太坊 Layer-2 项目很多,我们给它们分类如下:
第一类包括支付可扩展性方案,例如 Raiden、Liquidity Network 和 Spankchain (基于 Connext)。大多数方案都用到了状态通道技术,受启发于比特币的闪电网络。这些项目在 2017 年乃至 2018 年初通过 ICO 成功筹集到了资金。
第二类方案则源于对更灵活扩展方案(不止于支付)的需要。这些解决方案能支持任意的智能合约交易和 dApp,当然也包括 DefI 应用。打头阵的当属 Plasma 链技术—— 最终产生了包括 Loom Network、OMG network 和 Matic 在内的项目。因为 Plasma 实现的复杂性(尤其是数据可用性问题),一类新的通用可扩展性方案获得了大家的青睐:Rollup 方案。Optimism/OVM 是这个方向的先驱,ZK Rollup 方案也紧随其后。
第三类方案与前两类方案不是同一个维度的,目的是增加额外的功能,尤其是隐私性。最有前景的项目包括 Keep 和 Aztec。
链下通用可扩展性方案
此类方案是当前最活跃、讨论最充分的以太坊可扩展性方案。虽然 「通用可扩展性」 一词在技术上不够准确,但这个词确实反映了此类方案的目标:扩展任意以太坊交易(包括智能合约交易)的处理量。相较于简单的、实现链下支付的方案,这类方案要解决的问题要难得多。从技术角度来看,此类方案可以叫做 「承诺链」,可以扩展任意交易的吞吐量。
在这个领域内,虽然基于不同的技术维度可以细分为很多小类,但我们就简单分类成:
Plasma 链
交易分组及压缩方案(Rollup)
抽象地来看,Plasma 方案就是(在主链网络以外)创建了一个可以执行任意交易的空间。但是,在 Plasma 方案中,因为链下交易的数据对以太坊主链是不可见的,这就使得用户想离开侧链、回到以太坊主链的时候,会遇上麻烦。这就是所谓的数据可用性问题。
以太坊侧链的简化图示
另一方面,Rollup 方案可以被认为一种压缩技术。多笔交易可以压缩在一起,既能减少交易数据规模,又能降低交易验证负担,因此使得以太坊区块链能处理更多交易。此外,所有交易的收据都存储在以太坊区块链上,这就提升了 Layer-2 交易的安全性。
竞争
在这两个小类中,都有不同的项目,是向着不同的目标而且技术架构也不尽相同的。详尽的项目比较得写好几篇文章,所以我们仅聚焦于大略的事项。
以太坊通用可扩展方案的分类
译者注:虽然作者在这里将 ZK Rollup 也包括在内,但实际上,至少当前出现的 ZK Rollup 方案,都不像以太坊那样是通用的(general purpose),它们只能执行特定类型的交易,如需执行更多类型的交易,还得增加代码。
基于 Plasma 的方案
Plasma 方案是最早出现的,以 Vitalik 的 Plasma 论文为标志。Plasma 实现也因应用场景不同而大不相同。第一个 Palsma 的产品级实现是 Loom Network 于 2018 年使用 Plasma 的变种 Plasma Cash 做出来的。Plasma Cash 主打非同质代币(NFT)和游戏。这个项目最终离开了以太坊生态,创建了一条独立的区块链,而且转变方向做起了企业性应用。Loom 是一个很有趣的案例,显示了 Layer-2 项目所面临的艰难,尤其在他们所瞄准的主要应用场景(比如游戏)并没有与 ETH (作为一种金融资产)深度绑定的时候。
另外两个项目,Matic 和 OMG Network 加入了 「Plasma in the Production-Stage」 俱乐部,各自成功地启动了主网。两个项目都致力于扩展通用的以太坊交易。Matic 在侧链上使用了 PoS 共识机制(以他们项目的 token 为权益)。OMG network 在方向上与 Matic 相似,不过当前的网络依赖于一组固定的验证者。
Rollup 方案
Rollup 可扩展性方案算是初出茅庐。Rollup 方案通过把所有交易数据以 打包 / 压缩 过的形式存储在以太坊区块链上来解决数据可用性问题。交易合并为组的主要目的是节省验证成本。这些成组的交易不会由以太坊共识机制来直接验证,而是用另一种机制来证明这些交易的有效性。Rollup 方案有两大子类:Optimistic Rollup 和 ZK Rollup,证明有效性的方法也不同。Optimistic Rollup 方案使用错误性证明(Fraud Proof)来揪出无效的交易、惩罚允许通过这些交易的验证者。ZK Rollup 使用零知识证明(例如 SNARKs)来证明所处理 Layer-2 交易的有效性。证明本身也会跟交易数据一起存储在脸上。
Optimistic Rollup (OR)领域的一个主力是 Optimism。Optimism 正在开发 Optimistic Virtual Machine (OVM),意在使用 Layer-2 扩展任意的以太坊交易。他们团队近期跟 Synthetix 项目一同推出了一个扩展 DeFi 应用的 demo。这个 demo 实在是令人鼓舞。另一股开发 OR 的力量是 IDEX 的可扩展性方案。IDEX 团队也在去年的 10 月公开了一个他们方案的 demo。
另一种选择,ZK Rollup,用意则是实现以太坊 Layer-2 的更大规模可扩展性(更高的 Layer-2 交易 TPS)。不过,这门技术还是仅限于特定的应用场景,例如,支付或者交易所,被零知识证明在构造上的复杂性给限制住了。这个领域有两个项目在激烈竞争:Loopring 和 Matter lab 的 zkSync 项目。Loopring 一开始使用 ZK Rollup 来实现一个 Layer-2 上的去中心化交易,而且已经杀入 Layer-2 支付领域、启动了 Loopring Pay。但 zkSync 一开始是瞄准 Layer-2 支付方向的。他们最近也正式启动了产品。
其它可扩展性技术
还有其它可扩展性技术是放不进这个 Plasma/Rollup 的分类里面的。一个例子是 Starkware 团队,他们实现了一种可扩展性方案,既将交易数据放在链下(类似于 Plasma),又使用零知识证明来将链下交易打包在一起,而且,他们所用的零知识证明方案叫 STARKs,是一种不需要可信任启动设置(trusted setup)的方案。Starkware 和 Vitalik 管这种方案叫 Validum。
以太坊链下支付方案
支付扩展方法最早是在 2017 年和 2018 年提出的,而且都深深地受影响于比特币的闪电网络。这些方案旨在扩展支付交易的吞吐量,但并不允许在链下任意执行智能合约交易。因此,它们是不支持 DeFi、dApp 和游戏的。这在以太坊生态中是个致命缺陷,可能也正因此,这类解决方案没能成功获得牵引力。这些方案共有的主要底层技术就是状态通道。雷电网络、Connext/SpankChain 和 Liquidity Network 都在尝试开发链下支付网络。
雷电网络
Raiden Network 被认为是最接近闪电网络的方案。类似于闪电网络,它也是通过在网络上的不同节点间实现 1 对 1 的通道来创造一个运行在以太坊基础上的微支付网络。雷电网络第一次在主网发布产品是在 2020 年 5 月。使用雷电浏览器可以看到,截至本文撰写之时,网络中只有 25 个账户和大概 50 条通道。因为整个以太坊生态的注意力已经在很大程度上被更灵活的扩展方案吸引过去了,所以很难相信点对点的支付通道网络(比如雷电网络)有什么光明未来。
Liquidity Network
类似于雷电网络,Liquidity Network 也尝试在以太坊基础上实现支付通道。不过,他们没有跟随闪电网络和雷电网络使用同样的 1 对 1 通道模式,而是使用了 1 对 N 的通道模式。网络基于大家都可连接的支付中心来运转。因此,Liquidity 在分类上更接近于侧链而不是支付通道网络。这个项目是由几位来自伦敦帝国学院的学术研究员来领导的,他们以在项目网站上展示自己的学术研究为荣。项目于 2018 年在主网上启动,但在吸引用户上是一败涂地,仅在当前以太坊网络使用率和 Gas 价格飙升的时候,人气才有所回升。
Layer-2 支付方案相关 token 的投资回报率
功能增强型链下方案
最后一类以太坊 Layer-2 方案是为实现以太坊底层不能提供的功能而产生的。其中最流行的一个功能就是:隐私。隐私包括了隐藏交易的金额和完全隐藏参与交易的地址。这些隐私特性都不能在以太坊主链上直接实现,需要用独立的 Layer-2 方案来做。这个领域的两个主要项目是 Aztec 和 Keep。
Aztec 的目标是在以太坊基础上建立一个 UTXO 层、使用零知识证明来提升交易的隐私性。这个项目使用一个公开的、大规模的多方计算(MPC)仪式来完成可信任初始化工作(trusted setup),并且开发了 zk.money 来让社区尝试他们的产品。因为这些 Layer-2 隐私方案跟可扩展性方案是没有相关性的,所以 Aztec 团队正在努力将隐私增强型技术和 ZK Rollup 技术栈结合在一起,打造 ZK² Rollup。
类似地,Keep Network 也在为以太坊开发链下隐私层。这个项目不想做隐蔽交易,想做的是为私密数据创建存储空间(叫做 Keeps),可以通过以太坊的智能合约来访问和使用的那种。Keep 主网在 2020 年 5 月上旬就启动了,以支持该项目的龙头产品 TBTC。在上一篇文章中,我们说 TBTC 帮助扩展比特币网络的可行备选方案。为实现 TBTC 的高安全性保证,交易都仅由以太坊区块链来处理。不过,也没有根本性的问题让这些交易不能在链下处理。
多 Layer-2 方案的风险在哪?
在比特币区块链上,闪电网路是单一的一个 Layer-2 方案,它为许多来自不同项目的比特币开发者提供了统一的平台。来自 Lightning Labs、ACINQ、Blockstream、Zap、Bitrefill 等等项目的日积月累开发工作都汇集到同一条河流中。但在以太坊上,情形就大不相同。不同的 Layer-2 扩展方法都互不兼容,彼此之间有很多摩擦和竞争。这种竞争也有可能导致生态的分裂,进而延迟乃至阻碍 Layer-2 方案的接受度,使得没有一个方案能得到大规模接受。
但另一方面,以太坊生态中实验的广泛性,可能意味着大家能更快找出真正有用的防范。性能更强的可扩展性方案可能最终会打败乃至吸收效率较差的方案。
有一些意见认为在不同 Layer-2 链之间建立链下的桥接方案(也就是不需要回到以太坊主链的桥接方案)可以减少可能存在的摩擦。这让人联想到 Cosmos 的链间通信协议(IBC)的愿景。链下桥接也许能将不同的 Layer-2 项目黏合在一起,实现以太坊网络更大范围的可扩展性,然而,现在大多数项目都还很稚嫩,关于 Layer-2 桥接的讨论也很少。
结论
以太坊 Layer-2 可扩展性方案的第一波浪潮都集中在支付上,多数都是通过 ICO 来募资,大多数也都失败了。在 2017 年、2018 年之间发布的、很流行的 token,价格都一直在下跌,望也望不到尽头。不过,对可扩展性方案的需求只增不减。这就推动大家提出了更新一代的解决方案(比如 Rollup 方案),来提供更灵活的、不止于支付交易的框架。这些解决方案都尝试着避免前辈的错误、根据生态中不断成长的部分(比如 DeFi)不断改进自己的方案。Optisism 和 Synthetix 的 demo 和 Loopring 交易所就是这一趋势的鲜明例子。因为这些项目大部分都是近期才在主网上发布产品,所以评估和预测它们的走势都还太早了。更何况,这些项目之间还有强烈的竞争氛围,也许会有人黯然离场。在评估这些方案的时候,最后一个要考虑的问题就是它们跟以太坊 2.0 路线图的兼容性。虽然功能完整的以太坊 2.0 网络可能还要几年时间才能出现,但在根本上不兼容以太坊 2.0 的方案肯定也更难吸引到开发者。
虽然没人能言之凿凿说哪个 Layer-2 方案能笑到最后,我们还是希望本文能成为一个可靠的指南,让大家看到那些帮助以太坊成为更健壮网络的项目。
微信扫描关注公众号,及时掌握新动向
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场