一文读懂ZK Rollup和Optimistic Rollup:以太坊重要的扩展方向

前言:多年来,扩展性一直困扰着公链。关于扩展性的解决方案有的在概念论证中,有的在研发中。OptimisticRollup和ZkRollup也是扩展性的解决方案,并引起了加密社区的浓厚兴趣。那么,到底什么OptimisticRollup和ZKRollup?哪一种技术路线会赢得以太坊扩展的未来?不管道路如何曲折,之前的努力是否有用,但以太坊的扩展之路一直在前进,满足主流场景并非遥不可及。本文作者AlexGluchowski,由蓝狐笔记社群的“JOKO”翻译。

简介

OptimisticRollup是一种很有希望在短期内扩展以太坊上通用智能合约的技术。如果构建足够快,它能够提供可以轻松迁移现有dApp和服务的方法,且能合理权衡安全和可扩展性。这将使得ETH1.0能够满足不断增长的需求。

ZKRollup是一种更加复杂的技术。它如今可以用于代币转移和特定应用。然而,要在通用智能合约上实现还需要更长一些时间,并且要想高效地将EVM包裹于ZKP中甚至还需要更多的研究工作。

不过,一旦ZKRollup完全开发出来,所有现有的以太坊dApp和服务都能够平滑且轻松地迁移过去。

ZKRollup将会解决OptimisticRollup上的几个基本问题:

消除让人讨厌的尾巴风险:通过复杂但可行的攻击向量盗取资金;

将提取资金时间从1-2周减少至几分钟;

支持快速交易确认并以无限制的数量退出;

默认引入隐私。

OptimisticRollup对ZKRollup来说是个好消息。向Layer2扩展的过渡要求对钱包、预言机、dApp、用户习惯的重大改变。OptimisticRollup有助于为这一行动做好生态系统的准备,将扩展性带入这些尚不能基于ZKRollup构建的dApp。这给予ZKRollup足够的时间发展成熟,并使其实现完全无缝的采用,与此同时维持以太坊的增长势头。

Rollup101

*什么是Rollup?

Rollup是类似于Plasma的Layer-2扩展性解决方案:单个主链合约持有所有资金,并对较大的“侧链”状态进行简洁的加密承诺。侧链状态由用户和运营商链下维持,且不依赖于Layer1的存储。

将Rollup和Plasma区分开来的是它解决了Plasms的巨大问题:数据可用性,其方式是通过Layer1网络为每笔交易发布一些数据。

美国众议院议长麦卡锡:我认为6月1日是债务上限的最后期限:金色财经报道,美国众议院议长麦卡锡:我认为6月1日是债务上限的最后期限。[2023/5/25 10:40:28]

因此可以在单个Rollup区块中将数千个交易捆绑在一起。尽管此方法的成本严格地呈线性增长,但它在吞吐量上实际可提升100倍,因为CALLDATA比Layer1存储和计算要便宜。

Rollup已经被VitalikButerin反复认可为其最喜欢的Layer2可扩展性解决方案。根据如何确保状态转换的正确性,有两种Rollup方式:ZKRollup和OptimisticRollup。

*什么是ZKRollup?

在ZK-Rollup中,运营商必须为每个状态转换生成一个SNARK,并由主链上的Rollup合约进行验证。此SNARK证明存在一系列由所有者正确签名的交易,这些交易以正确的方式更新了账户余额,并使得Merkleroot从旧到新。因此,运营商不可能提交无效或操纵的状态。

*什么是OptimisticRollup?

在OptimisticRollup中,新状态根由运营商发布,且无需每次都由Rollup智能合约检查。相反,每个人都希望状态转换是正确的。但是,如果发布了不正确的状态转换,其他运营商或用户将能够指出错误的交易,并还原错误的区块,消减恶意运营商的押金。OptimisticRollup的概念最初由JohnAdler提出的。

接下来,让我们比较一下ZKRollup和OptimsitcRollup。

灵活性:通用计算

*OptimisticRollup

尽管OptimisticRollup可用于特定的应用,但是PlasmaGroup最重要的创新是OVM。OVM支持任意智能合约逻辑的实现。

几乎任何在以太坊上能实现的同样可以在OVM上实现,这其中包括智能合约的可组合性。它基于EVM,EWASM或任何其他虚拟机。关于OVM的好处是,如果它与EVM一起使用,它将支持用Solidity编写代码。因此,大部分现有的代码库都可以轻松移植到OptimisticRollup上。

如果OVM可以直接重用现有的EVM字节码,那会是理想的选择,但这可能不是那么简单。正确的实现方式将要求更改交易数据格式,并要求复杂的Truebit/PlasmaLeap风格的挑战/响应协议的实现,以提供欺诈证明。

这可能会导致与EVM产生分歧,从而导致无法正确处理边缘情况,这意味着仍然需要做一些工作才能适应当前的OVM合约。实施的另外一个挑战在于,大型区块的欺诈证明可能需要比Layer1区块gaslimit所允许的更多的gas。那么,这些欺诈证明必须被分解为多个ETH交易。

过去24小时里三巨鲸向Morpho AAVE存入10100枚ETH,借入1150万美元稳定币并转至币安:金色财经报道,Lookonchain监测,三个巨鲸账户(可能是同一个人)在DeFi协议上做多ETH和WBTC。他们将ETH/WBTC存入DeFi并借入稳定币,然后将稳定币转移到币安以购买ETH/BTC。在过去的24小时里,他们总共向Morpho AAVE存入了10100枚ETH(1881万美元),然后借入了1150万美元的稳定币,并转移至币安。[2023/4/23 14:21:43]

*ZKRollup

迄今为止,所有现有的ZK-Rollup实现聚焦于特定的操作,例如代币转移或原子交换。这其中有几个主要原因。

首先,没有一种有效的技术可用于针对不同ZKP的简洁递归证明组合,这需要将不同智能合约的执行汇总到一个区块中。我们最好的方法是在椭圆曲线的循环上使用Groth16,这需要在较长的字段上进行计算,并且对于大型计算完全没有效率。

其次,即使我们的字段较短,Groth16也会为每个智能合约和每个新版本要求一个单独可信的设置仪式。显然,这绝对是不现实的。无须可信设置的唯一有效的ZKP技术是基于FRI的STARKs。但是,验证程序仅对有限的一类问题是简洁的。

STARK验证程序必须对被证明的计算语句的每个约束至少执行一次,这意味着我们无法迭代异构智能合约的集合。

随着SNORKs的出现,一切都发生改变。SNORK是基于稍微不同的一组加密原语的新一代ZKP。由SeanBowe在Sonic中率先开发,在2019年夏季PLONK和Marlin紧跟其后。所有这些都有一个共同点:尽管依然需要可信设置,但现在它是通用且可更新的。完成一次之后,它可以随时将其重用于任何数量的不同程序。

然而,在这些证明系统中使用的Kate多项式承诺方案依然需要高效的椭圆曲线循环来进行递归,而目前尚不可用。这就是我们为什么对最新的完全简洁和透明的证明系统感到兴奋,例如Halo、SuperSonic、Fractal,以及MatterLabs团队最近在折腾的让人兴奋的事情。

长话短说:在ZKP上构建通用智能合约的障碍现在已经被移除。ZKRollup完全能够支持与EVM相同的编程模型,包括无缝可组合性和可互操作性。尽管Solidity开发者的学习曲线不会超过一天,但最初的合约可能需要专用的DSL。最终,鉴于ZKP证明者技术的当前发展步伐,我们期望所有的现存ETH合约都能以最小的努力有效地移植过来。

Damus集成针对聊天优化的ChatGPT:4月3日消息,基于Nostr协议的开放社交应用Damus在社交媒体发文称,已集成针对聊天优化的ChatGPT,支持多名用户与同一个ChatGPT机器人交互对话,地址为“npub1tsgw6pncspg4d5u778hk63s3pls70evs4czfsmx0fzap9xwt203qtkhtk4”。[2023/4/3 13:41:34]

可扩展性&交易成本

*OptimisticRollup

根据JohnAdler的说法,在EIP2028/伊斯坦布尔之后,目前的估算是每笔转账tx大约4k的gas。

这意味着,相当于大约100tps。

使用BLS聚合签名,此数字最多可以上升到大约500tps。

如果EVM兼容性遭到破坏,则理论上吞吐量可能会增长到ZKP的极限。

实际吞吐量上限:500tps

目前可能还不错。

*ZKRollup

在MatterTestnet中每笔转移tx的公共数据成本当前是16bytes,这将在EIP2028/伊斯坦布尔后花费272gas费用。

此外,将会有证明的摊销费用,预计大约为30万gas。

即使我们假定最坏的情况,需要100万gas证明成本,但估算的转账上限仍将超过2140tps。

在一些讨论中,可以听到人们争论说ZKP会产生大量的计算开销,由此价格昂贵。实际上,与gas成本相比较,计算成本可以忽略不计,这是真正的瓶颈,因为抗审查的分散化。我们也期望这个因素会随时间的推移而显著下降。

实际吞吐量上限:超过2000tps——类似于Visa的规模。

但是,在许多用例中,ZKRollup将节省更多,因为可以从公共数据中省略大块部分,而无须重构状态转换增量。

核心见解是:尽管OptimisticRollup始终要求用户发布完全的交易输入,而在ZKRollup中,我们可以灵活地在如下两者间选择:1)交易输入减去不影响状态转换的见证人2)仅交易输出。可以非常优雅地实现这一选择,而无须太多复杂性。

著名的例子:

在多签钱包,具有Argent风格账户抽象的钱包或去中心化交易所,用户需要提交签名以获得合约的验证。这些签名对于状态增量更新是非必需的,可以从公开数据中省略。

消息人士:FTX调查可能耗尽SDNY法庭资源:金色财经报道,美国纽约南区地方法院的检察官表示,FTX案“过于庞大”,可能会耗尽法院的资源。据FOX Business记者Charles Gasparino称,检察官告诉参与FTX调查的各层人士,这涉及潜在的贿赂、违反竞选捐款、市场操纵、盗窃和欺诈行为。Gasparino没有透露他的消息来源,也没有提供有关调查状态的更多细节。[2023/1/10 11:03:19]

像Gnosis的DfusionDutchDEX这样的合约要求大量的数据集输入,这些输入不会直接影响存储,但仅用于验证计算结果。

*ETH2.0之后

由于任何Rollup将位于单个分片中,因此,CALLDATA的成本不太可能发生很大的变化,除非带宽通常变得更便宜。

元交易

两种类型的Rollup都非常适合支持元交易和账户抽象。

安全

*OptimisticRollup

与支付通道不同,Rollup中的所有资金都由单个智能合约持有。既然Rollup是最有希望的扩展方向,我们应该看到大量的用户迁移其中,且很多价值集中于这类合约。持有数千万上亿美元价值的资产,对于知名黑客来说,Rollup合约正变成非常有吸引力的蜜罐,如果攻击有机会,那么,无论多么复杂,都有可能会尝试进行。

OptimisticRollup的安全模型基于两个假设:

1.至少在n个节点中有1个诚实节点执行所有OptimisticRollup交易,并且在无效状态转换发布时提交欺诈证明;

2.底层Layer1网络有强大的抗审查性

*N个节点中至少有一个诚实节点参与者

对于第一点,现实的期望是,只有Rollup的运营商才会实际监控和执行交易。普通用户既没有动力也没有技术能力来处理高负载的交易幸运的是,运营商自然地有动力去检查彼此区块的正确性,因为基于无效区块上搭建区块会被消减资产。

有足够的可信参与者,N个节点中有1个诚实节点运营商是合理的假设。但是,既然活跃参与者的数量有限,一些复杂的攻击可能包括:针对所有运营商的基础设施,贿赂/勒索开发工程师秘密安装恶意代码,针对Rollup软件的更新分发渠道等,当然,还可能是这些攻击的组合。

这些攻击很难实现,但应该积极防御,但比起用同样的方式攻击以太坊矿工,这些攻击要更加现实,尤其是因为对OptimisticRollup的成功攻击直到完成后才会被注意到。

RippleNet 总经理 Asheesh Birla 宣布辞职:6月9日消息,RippleNet 总经理 Asheesh Birla在 Twitter 宣布辞职,Birla 于 2013 年加入这家总部位于旧金山的公司。作为公司创始团队的成员,他负责开发区块链驱动的跨境支付解决方案RippleNet 。Birla 将 On-Demand Liquidity 解决方案(前身为 xRapid)的推出描述为公司的“巨大里程碑”,该产品允许使用 XRP 作为桥梁货币来即时结算法定支付。虽然 Birla 尚未决定他的下一个职业发展方向,但他将与美国前财长 Rosie Rios 和摩根大通资深人士 Sandie O'Connor 一起成为 Ripple 的董事会成员。Ripple 首席执行官 Brad Garlinghouse 表示,另一位高管 Monica Long 将接任 Birla 领导 RippleNet 和 RippleX。(u.today)[2022/6/10 4:15:17]

*强大的Layer1抗审查性

第二个假设是棘手的假设。实际上,以太坊的设计提供了经济机制,它对抗普通审查非常有效。但是,在出现反机制时,这些机制会停止起作用。攻击者可以创建完全自动的贿赂机制来协调矿工的51%攻击,这会阻止诚实矿工将欺诈证明包含在其区块中。

有趣的是,对于参与的矿工来说,此次攻击的直接成本为零,如果可以明确地归因于审查,则不计入由愤怒社区反应所产生的社会成本。这部分也很棘手,因为该机制为攻击的参与者提供了合理的可否认性:“鉴于攻击者多数的可信承诺,如果我不参与,我的区块会被抛弃,所以,我必须这么做,不是为了利润,而是为了避免损失。”

不幸的是,在PoW下,这种攻击非常现实。没有什么有效的方法来惩罚参与其中的匿名矿工。在转向PoS后,社区将可以通过消减矿工的质押权益来惩罚他们,如果达成广泛的社会共识。

毕竟,这样的审查攻击可以被视为对整个网络的侵略,尽管也可以说,矿工只是简单地诚实地遵循协议,且没有义务以违背其最佳经济利益方式行事。

但是,在DAO分叉后,至少可以说,这将是非常有争议的讨论,其结果无法预测。在Vitalik最近进行的一次社区民意测验中,无论遇到什么程度的攻击,63%的投票者反对对不可变的区块链进行任何人工干预来救助用户。不用说,要清除即使一个验证者的权益也非常困难,更不用说清除大多数验证者的权益。

最近发布了更多关于串通合谋的研究,以及针对PoS环境中欺诈证明的新攻击,这表明在PoS中OptimisticRollup的审查攻击风险至少与PoW一样高。

抵抗这种攻击的更现实的方法是在UASF中社区的快速动员,以迫使矿工将某些交易包括进来。从工程和社会的角度看,这种场景都是复杂的,且将肯定要求相对长的挑战期窗口,以提供欺诈证明,至少一周,最好两周。

同时,鉴于主要的DeFi运营商在决定这种分叉的结果时处于有利位置,且避免吵闹的干扰事件符合其最大利益。所以,他们的最佳选择可能只是静静地遵循攻击者。

总的来说,欺诈证明审查的风险相对较低,但不可忽略。

由于存在1-2周的欺诈证明挑战期,并且没有太多资金的利害关系,OptimisticRollup可能是没有问题的:运营商/矿工合谋将不值得麻烦和冒风险。但是,如果rollup中的价值升高,潜伏的黑天鹅将会变得越来越让人担忧。

*ZKRollup

在ZKRollup中,在其变为有效之前,每个状态转换都通过Rollup智能合约进行验证。严格来说,运营商无法盗取资金或破坏Rollup状态。ZKRollup依赖于Layer1的抗审查性,只是为了其活性,而不是为了安全性。无须任何人来监控ZKRollup,在区块验证后,用户资金总是保证最终能被收回,即使运营商拒绝合作。

因此,ZKRollup更充分地体现了加密世界的基本理念:通过密码学和博弈理论激励机制来取代可信方,以实现弹性。但是,为了完整起见,我必须提到ZKRollup特有的一些潜在风险。

可信设置

如果在ZKRollup中使用的ZKP需要通用的可信设置,则我们将得出“N分之一”诚实参与者的假设。根据参与者的数量和质量,这可能是可接受的风险,也可能是不可接受的风险。但安全是安全的,这就是为什么我对高效无须信任的SNARKs最新进展感到非常兴奋的原因,尤其是MatterLabs正在进行构建上。

密码学

与Groth16相比,最新一代的SNARKs正在使用的是更多经过实践检验的加密原语。MatterLab的工作基于FRI,因此甚至可以说是具有后量子的安全性。但是,要完全冷静下来,应该应用两种缓解策略:

*与RSA挑战类似,必须以比实际产品版本更低安全参数来部署大量奖金。如果发现了实际攻击,研究者会在产品代码被破坏数年前克服挑战。

*所有状态转换必须仅由ZKR的运营商发送,而ZKR的运营商实质上充当双重验证的保护层。

延迟

*OptimisticRollup

由于上面安全性部分提到的问题,仅在1-2周欺诈证明的挑战窗口期内OptimisticRollup才能是安全的。在这段时间过去之前,任何交易都不能认为是最终的,内部Rolluptx和退出都不是最终的。

不幸的是,对于最终用户来说,检查交易是否具有最终性,没有比通过整个上一次挑战期执行所有交易更快的方法了。需要特别注意的是,用户无法单纯依赖博弈理论来保证区块的最终性,因为单个运营商节点中的漏洞或仍可能导致还原。

最终性的时间:2周

最终性的时间:1周

*ZKRollup

当前ZKP计算上很密集。目前,对于1000tx的区块,我们可以在普通服务器硬件上有20分钟证明生成时间。正在进行的GPU证明程序实现有望将tx速度提高至少10倍。在不远的将来,专用硬件可能会拥有更高的计算能力。最终,我们期望看到在一分钟内完成区块的最终性。

最终性时间:20分钟

最终性时间:1分钟内

Rollup交易内部的快速确认

在这两种类型的Rollup中,通过存入一定的安全保证金,运营商都可以向用户签发即时交易确认。这为最终性提供了经济保证。

这种方法有局限。它对于可互换代币的转移运转良好,但不适合于NFT和通用合约请求。该NFT可能没有市场价值,或者当这些资产的所有者不想在任何情况下立即“出售”它。通用合约请求不适用是因为如果链上的某些之前交易被还原,不容易准确量化货币价值。简单的例子:为接受稳定币预言机价格广播的最终价格,运营商应该质押多少资金合适?

快速提取资金

快速退出类似于快速内部Rollup确认。运营商可以与流动性提供商合作,以将可互换代币即时提取给用户,而无须等待退出交易在Rollup中成为具有最终性的交易。这要求大量的抵押品,这跟最终性达成的时间成正比。假设对OptimisticRollup来说,不久将来的现实的最终性时间为1周,而ZKRollup为5分钟,那么,OptimisticRollup将需要2000倍于ZKRollup的抵押品才能支持每周相同的提款量。

隐私

*OptimisticRollup

OptimisticRollup可以支持Layer2以太坊上的任何可用的隐私解决方案。既然OptimisticRollup本身也是Layer2,在其上实现的任何隐私解决方案将作为Layer3。这可能导致隐私服务更加分散,并导致较小的匿名集,这使得隐私的实用性非常低

*ZKRollup

为了获得真正的隐私,系统必须默认支持它。从技术的角度看,ZKRollup可以在某种情况下默认轻松支持在协议层面代币转移的隐私交易,也可以区分公共和私人智能合约。

同时,构建完全匿名的zcash风格交易,它将要求改变ZKRollup的存储模型,从基于账户模型变为基于UTXO模型,这会产生很多问题,且不太可能发生。

结论

OptimisticRollup目前处于PoC阶段。我们希望很快会实现产品级实施。如果证明它移植现有代码相对容易,那么,项目将逐渐开始采用它并构建新的基础架构:Layer2支持将在钱包中出现,预言机将开始广播到OptimisticRollup等。

ZKRollup在特定应用方面已经更加成熟,但会逐步向完全通用的智能合约方向发展。最终,移植任何基于EVM和WASM的智能合约到ZKRollup也是可能的,在当前的技术发展速度下,这可能耗费数年时间即可完成。

对于这两种类型的Rollup,类似的基础设施改变会发生在钱包、预言机以及其他智能合约组件中。这要求大量的工作,随着更多项目对Layer2扩展技术感兴趣,这些工作会加速。既然OptimisticRollup承诺比ZKRollup更早实现通用化的基于EVM的智能合约,它将极大地推动社区采用Layer2的动机。

对于用户和dApp,从一个Rollup跳到另外一个Rollup,将会比从ETH最初迁移到Layer2更容易。桥接会让这一过程更加顺畅。由于这种切换的简易,这种解决方案在UX方面会取得显著优势,从长远看,很可能会成为唯一的赢家。

不管结果如何,这都会是非常重要且让人兴奋的发展。无论如何,最终的赢家都是以太坊社区。

------

风险警示:蓝狐笔记所有文章都

不能作为投资建议或推荐,投资有风险,投资应该考虑个人风险承受能力,建议对项目进行深入考察,慎重做好自己的投资决策。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:15ms0-1:522ms