Rollup 是以太坊解决网络拥堵问题的中场战事,从长期看,要根本性地解决扩展性问题还仰仗以太坊 2.0 分片技术的顺利实现。
原文标题:《欧易 OKEx 研究院:以太坊中场战事---Rollup 的实与虚》
撰文:欧易 OKEx 研究院
自以太坊诞生以来,其低下的交易处理能力,导致以太坊网络时常发生堵塞,且 Gas 费用高涨,严重地限制了以太坊生态的发展。为此,以太坊扩容问题一直被市场所关注,在 DeFi 大爆发的背景下,侧链、状态通道、Plasma 等 Layer 2 扩容方案都无法满足市场的要求, Rollup 成为了时代的宠儿。
当然,Rollup 并不是一种纯粹的 Layer 2 方案,而是更像 Layer 1 和 Layer 2 的混合体:数据在链下进行计算并打包压缩,随后链上进行存储。此外,为了解决数据的真实性和有效性,保障资产安全,Rollup 推出了使用「有效性证明」的 ZK-Rollup,以及沿用 Plasma「欺诈证明」的 Optimistic Rollup。
综合而言,ZK-Rollup 和 Optimistic Rollup 各有优劣,ZK-Rollup 适用于支付、交易等非合约领域,成本低且速度快;而 Optimistic Rollup 因为 OVM 的存在,目前适用于智能合约应用领域;但随着 ZK-Rollup 类项目推出图灵完备的 EVM,未来 ZK-Rollup 可能会取代 Optimistic Rollup。
但是,Rollup 的扩容上限取决于区块 Gas 消耗量的上限,因此只能成为以太坊在未来短中期的扩容方案,以解决 DeFi 生态的燃眉之急,从长期看,要根本性地解决以太坊扩展性问题,还仰仗以太坊 2.0 分片技术的顺利实现。
不过值得注意的是,Rollup 协议可以捕获价值,在经济上具有可持续性。可以预见的是,Rollup 项目发行的代币将具有巨大的投资潜力。
经过近两年的蛰伏,以太坊的 Rollup 扩容方案终于走到了要开花结果的黎明前夕:今年 2 月,Optimism 宣布完成了 A 轮融资,并将于三月上线主网;来自 Matter Labs 的 ZkSync,其主网也于去年上线,并将在今年推出支持图灵完备的智能合约;此外,另一个受行业瞩目的 Rollup 方案---Arbitrum,也将于今年上线主网。
表 1. Rollup 方案进展情况,资料来源:欧易 OKEx 研究院
在 Rollup 夜尽天明之时,市场也对其充满了期待与追捧。但从实际情况看,很多投资者和以太坊用户对 Rollup 的认知并不清晰,不过在总体上达成了共识:Rollup 很重要,是以太坊的未来。
这句话的前半部分是对的,Rollup 对当前的以太坊而言,确实是重要的;但后半部分却是不准确的,Rollup 并不是以太坊的未来。更切确地说,Rollup 只代表了以太坊的中短期扩容方案,是以太坊解决网络拥堵问题的中场战事,从长期看,要根本性地解决以太坊扩展性问题,还仰仗以太坊 2.0 分片技术的顺利实现。
想要正确地理解、预测 Rollup 的未来,把握其中的财富机会,我们还需要从 Rollup 的历史脉络、原理机制方面进行剖析。
以太坊的扩容战争和 Rollup 的崛起
自以太坊诞生以来,其低效的性能就不断受到市场的病垢:以太坊网络的 TPS (交易处理能力)约为 15 笔 / 秒,而 Visa 网络则是 2000 笔 / 秒,双十一期间支付宝更是达到 50 万笔 / 秒。低下的交易处理能力,导致以太坊网络时常发生堵塞,且 Gas 费用高涨,尤其是在 2017 年的大牛市,以及自 2020 年兴起的 DeFi (去中心化金融)浪潮期间这一现象尤为突出,严重地限制了以太坊生态的进一步发展。
图 1. 以太坊网络日均交易笔数和 Gas 消耗量变化,资料来源:Etherscan,欧易 OKEx 研究院
解决区块链网络的拥堵,提升公链的可扩展性,逐渐成为行业关注的重点。各种区块链的扩容方案也纷至沓来,主要包括两大类:
链上扩容方案,也叫 Layer 1 方案,主要通过提高区块链本身的交易容量来实现扩容。常见的 Layer1 方案有增大区块容量(如 BCH 使用 32M 容量的大区块),隔离见证(BTC,将数字签名与交易数据分开,改变原区块结构以实现扩容),分片技术(以太坊 2.0,将主链的状态和历史记录划分到不同分片上实现扩容)。
链下扩容方案,也叫 Layer2 方案,主要通过第二层协议在链下执行大部分交易,以降低成本提高效率。目前主流的 Layer2 方案包括状态通道、侧链、Plasma。
图 2. 区块链扩容主要方案,资料来源:欧易 OKEx 研究院
在以太坊发展早期,人们普遍认为侧链(Sidechain)技术是解决区块链扩容问题的最佳方案。所谓侧链,即平行于主链的另一条独立的区块链,通过将部分交易以托管的方式转移到侧链,以此实现主链扩容,但这带来两个严重问题:首先,侧链上的资金安全得不到保障,一旦黑客控制住了某条侧链,就可以将侧链上的资金盗走;其次,侧链不能保证数据的可得性,只要黑客控制了侧链,就可以拒绝分享底层交易数据,对主链安全性造成重大打击。
图 3. 侧链技术方案原理,资料来源:欧易 OKEx 研究院
为了解决侧链存在的问题,并实现以太坊扩容,以太坊创始人 Vitalik 在 2017 年推出了名为「Plasma」的 Layer 2 扩容方案。Plasma 的特别之处在于设计了一套欺诈证明机制:Plasma 将特定的底层数据发送给用户自己进行保管,解决了数据可得性问题;此外,Plasma 有一个「退出期」设计,即便黑客取得侧链的控制权并尝试取款时,任何用户都可以在「退出期」内提交证据来进行挑战,如果挑战成功,任何人都不能提取这笔资产,并且运营方也将被罚款,由此保证了数据的真实、有效和准确性,解决了资金安全性问题,。
然而,Plasma 解决了侧链的问题,却产生了新的问题:首先,用户必须每两周上线一次,以实现对 Plasma 链的监控,否则错过了「退出期」,黑客就可以取出资产;其次,用户必须自己保存底层交易数据,以保证数据的可获得性,但却给用户带来巨大的存储成本。因此,Plasma 对用户并不友好,体验极差。在 2018 年的大熊市背景下,曾经被以太坊社区基于厚望的 Plasma 方案也逐渐被抛弃。
事实上,即便没有 2018 年的大牛市,Plasma 也难以适应以太坊生态的发展---从 2019 年开始,DeFi 逐渐兴起,以 Uniswap 为代表的 AMM 更是成为其中的佼佼者。对于 Uniwap 上的流动性提供者(LP)而言,其存放在交易池中的资产,很容易发生改变,不可能满足 Plasma 方案中对 LP 每次交易时都进行挑战验证的要求。事实上,大量的 DeFi 协议都可以在不经用户同意下改变账户状态,因此 Plasma 在 DeFi 时代是注定没落的。
图 4. Layer 2 扩容方案的演化发展,资料来源:欧易 OKEx 研究院
同样地,状态通道也存在侧链和 Plasma 面临的问题:状态通道不能代表那些逻辑上没有明确所有者的对象 (如 Uniswap),需要对象都是明确的资产所有者。
因此,在 DeFi 对于以太坊生态越来越重要的今天,无论是状态通道、侧链,还是 Plasma,都无法满足以太坊的现实需求。与其说是 V 神对 Rollup 起到了决定性的推动作用,不如说是时代选择了 Rollup。那么 Rollup 的特殊之处在哪呢?
Rollup 原理解析
在解析 Rollup 之前,我们不妨了解 Plasma 的扩容方式:在链下,由 Plasma 运营者将等待批量处理的交易汇总起来,生成一个梅克尔树(Merkle Tree),树中每个叶子可以代表一笔交易资产的信息,如果没有交易,则叶子值为 0。随后,Plasma 将梅克尔树的树根发送给主链上链,同时将梅克尔树的分支发送给用户保管。
因此,主链实际上只保存了梅克尔树根的哈希值,而通过梅克尔树根的引索,可以找到分支叶子中的具体交易信息,但这些具体的交易信息,而是由用户在链下存储,因此节省了链上区块大量的空间,实现了主链的扩容。
图 5. Plasma 扩容原理,资料来源:Plasma 白皮书,欧易 OKEx 研究院
但正如前面所言,由用户在链下保存具体的交易信息,在数据可用性上打了折扣,也不适用于 DeFi 应用。为此,以太坊社区提出了一种新方案:将交易数据压缩并放在链上,这就是 Rollup (聚合)方案。
具体而言,Rollup 将交易数据进行压缩编制成梅克尔树,并存储在链上;同时在智能合约中保存梅克尔树的树根(状态根)。Rollup 的运营方可以将发布一批汇总交易(Batch),该交易即压缩过的交易集合,而且包含之前的状态根和新状态根 (处理交易之后的新梅克尔树根)。智能合约会对状态根进行检查并更新,由此实现资产的转移。
当然,从上我们可以看出,Rollup 并不是一种纯粹的 Layer 2 方案,而是更像 Layer 1 和 Layer 2 的混合体:数据在链下进行计算打包,但在链上进行存储。因此将 Rollup 称为半链下扩容或 semi-layer 2 方案更为合适。
图 6. Rollup 扩容原理,资料来源:Vitalik. An Incomplete Guide to Rollups,欧易 OKEx 研究院
用一个形象的比喻,现在我们要保存很多电影,Plasma 类似于我们将电影存储在电脑上,然后只在 U 盘上保存一个目录文件,根据这个目录文件的指引,我们可以方便地找到任何一部电影在电脑中的位置;而 Rollup 的方法则是先将电影进行压缩,随后再全部保存到 U 盘中。这样一来,我们就可以在 U 盘中存储更多的电影。
那么 Rollup 是如何实现压缩的呢?---主要是对交易的参数进行压缩,主要包括 Nonce,Gasprice,Gas,To,Value,Signature,如下表所示:
表 2. Rollup 压缩方式,资料来源:Vitalik. An Incomplete Guide to Rollups,欧易 OKEx 研究院
在过去,一笔交易需要占用 112 字节的存储空间,现在只需要 12 字节的空间,一个字节大约花费 16 Gas;而在以太坊上,Gas 上限是 1250 万,我们假设 Rollup 需要花费 50 万 Gas,那么在 Rollup 上,其交易处理能力是:
(区块 Gas 消耗量上限 – Rollup Gas 消耗量)/ 每字节的 Gas 消耗量 / 一笔交易字节数 / 出块时间 =(12,500,000 – 500,000)/ 16 / 12 /14= 4464 笔 / 秒
目前在以太坊上进行一次转账需要消耗约 21,000 Gas,这意味着如果全部用来转账,那么以太坊的最大交易处理能力为:区块 Gas 消耗量上限 / 单笔转账 Gas 消耗量 / 出块时间 = 12,500,000 / 21,000 /13 = 45 笔 / 秒
这意味着 Rollup 在转账场景下降以太坊的 TPS 提升了 100 倍。同样地,根据 Vitalik 的计算,在 ERC20 转账、Uniswap 运用场景,可实现同条件下以太坊 TPS 扩展 100-400 倍。
前面的分析一直很顺利,但我们忽略了一个与侧链技术类似的重要问题:如何防止 Rollup 运营方伪造数据进行盗取资产呢?以太坊社区提出了两个方案:使用「有效性证明」的 ZK-Rollup,以及沿用 Plasma「欺诈证明」的 Optimistic Rollup。
ZK-Rollup VS Optimistic Rollup
首先我们看实现有效性证明 ZK-Rollup 方案。ZK-Rollup 即采用 ZK-SNARK (简明的非交互式零知识证明,zero-knowledge succinct non-interactive argument of knowledge)来保证交易的安全性。
" 零知识证明(ZKP)" 是由 S.Goldwasser、S.Micali 及 C.Rackoff 在 20 世纪 80 年代初提出,指证明者能在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。
一个经典的例子:有一个缺口的环形长廊 ,出口和入口距离非常近(在目距之内),但走廊中间某处有一道只能用钥匙打开的门,Alice 要向 Bob 证明自己拥有该门的钥匙。采用零知识证明,则 Bob 看着 Alice 从入口进入走廊,然后又从出口走出走廊,这时 Bob 没有得到任何关于这个钥匙的信息,但是完全可以证明 Alice 拥有钥匙。
图 7. 零知识证明案例,资料来源:欧易 OKEx 研究院
从上我们可以看出,ZKP 具有计算的不对称性。在 ZK-Rollup 的方案中,由 Rollup 运营方投入大量资源以执行 ZK-SNARK 计算并放在汇总交易(batch)中,而智能合约(验证方)可快速低成本低证明交易安全性。因此 ZK-Rollup 有诸多好处:能在保护隐私的同时简洁快速地验证数据的真实有效性;但其缺点是计算量大,技术难度高且难以支持虚拟机。
在前面的 Plasma 方案中,我们已经介绍过其设计的「欺诈证明」机制,可实现交易数据的真实、有效和准确性,保证了资产的安全。Optimistic Rollups 正是沿用了该机制:这类 Rollup 会追踪所有历史状态根以及每个 batch 的哈希值。如果任何人发现某个 batch 的后状态根不正确,都可以向区块链发布一个证明,证明该 batch 计算错误。智能合约会对证明进行验证,并且对该 batch 及其之后的 batches 进行回滚。
Optimistic 选择了 Plasma 的欺诈证明机制,即意味着有像 Plasma 一样漫长的「退出期」(约一周时间),这极大地降低了资金的利用效率,但好消息是,随着 DeFi 生态的成熟,可以有大量的流动性提供者为用户在「退出期」内提供资金,可有效解决资金利用抵消的问题。此外最重要的是,Optimistic Rollup 也继承了 Plasma 的 OVM,这意味着可在 Optimistic Rollup 网络部署兼容以太坊 EVM 的智能合约,这一点对 DeFi 尤为重要。
表 3. ZK-Rollup 和 Optimistic Rollup 性能对比,资料来源:Vitalik. An Incomplete Guide to Rollups,欧易 OKEx 研究院
综合而言,ZK-Rollup 和 Optimistic Rollup 各有优劣,ZK-Rollup 适用于支付、交易等非合约领域,成本低且速度快;而 Optimistic Rollup 因为 OVM 的存在,目前适用于智能合约应用领域;但随着 ZK-Rollup 类项目推出图灵完备的 EVM,未来 ZK-Rollup 可能会取代 Optimistic Rollup。
Rollup 的未来与财富机遇
从上面我们可以看出,相较于其他 Layer2 方案,Rollup 能更好地保证数据的安全性和数据的可得性,然而 Rollup 真的是以太坊的未来吗?
并不是,从 Rollup 的扩容方案可以看出:区块 Gas 消耗量的上限即是 Rollup 方案的上限。这类似于早高峰时乘坐地铁,为了使地铁车厢(区块)能装更多的人,我们可是再挤更多的人进车厢(压缩)。然而,再怎么压缩,也是有上限的。在未来随着区块链应用的不断发展,我们仅仅会为了最多扩容 100 倍而满足吗?所以从长期看,以太坊扩容的未来还是取决于以太坊 2.0 分片技术的顺利实现。
然而,根据以太坊官方的规划,以太坊 2.0 分片的实现可能要等到 2030 年了。但即便在目前,由于 DeFi 的大热,以太坊早已拥挤不堪,Gas 费高企。几年前的状态通道、Plasma 等 Layer 2 方案无法满足 DeFi 的要求,分片技术又是一个遥远的目标。正是「往者不可谏,来者也不可追」,Rollup 自然而然成为了在短中期应对以太坊扩容方案的最佳方案,成为迈向以太坊 2.0 的中场接力手。
当然,Vitalik 主推 Rollup 的另一个原因在于:Rollup 协议可以捕获价值,在经济上具有可持续性。
先谈经济价值,Rollup 可以缓解以太坊的拥堵,降低 Gas 费。节约出来的成本,其中的部分就可以转化为 Rollup 协议的收入(如收费和 MEV 的方式),并具有经济上的可持续性。
那么 Rollup 为什么可以捕获价值呢?这与 Rollup 的特殊性有关:数据放在主链上,仅仅是在链下进行数据计算。这种介于 Layer1 和 Layer2 的混合方案,使得 Rollup 成为主链上一个特殊 Dapp 应用,因此 Rollup 项目是可以在主链上发行基于该 Rollup 协议的代币,能通过代币来捕获协议的价值。
可以预见的是,在未来几个月 Rollup 大爆发后,将会有众多 Rollup 发行项目代币,那些愿意将协议经济价值附着在代币上的项目,其代币将具有很大的投资潜力。