Optimistic Rollups:以太坊扩容的现状与未来
时间: 2021-12-23 来源:极速科技
咱们听到了许多关于 ZK Rollups 怎样被以为是通用智能合同体系的未来的评论。但依据咱们从运转敞开、安全、EVM 兼容的 L2 链中取得的实践经验,且该 L2 链包括数百个 dapps、数十万个用户和数百万个买卖,咱们对此不予苟同,这篇文章将对此进行解说。
咱们将 Arbitrum 构建为一个 Optimistic Rollup 网络,由于咱们信赖 Optimistic Rollup 是运用户得到满意对安全、无须信赖、EVM 兼容的 L2 网络这一实践需求的最佳办法。咱们终究挑选 Optimistic Rollup 体系而不是 ZK Rollup,是由于 Optimistic Rollup 体系固有的可扩展性和本钱优势;鉴于此,假如让咱们再次做出挑选,咱们仍然会挑选 Optimistic Rollup。欲了解其间缘由,请持续往下读。
等等!这篇文章的篇幅有多长? 莱特币矿机
是的,这篇文章很长,并且有些当地很技能性。人们想从他们挑选的链中得到什么很简略,但谈到供给这些优势所需的技能,咱们该详细阐明。咱们咱们都期望技能社区能够了解咱们的观念。假如你不想读完好篇文章 (这无可厚非!),这里有一个简略的概要:
们想要一个可靠地供给安全、发展确保、可见性和快速敲定的区块链网络——他们期望这条链的运用本钱很低并且兼容于现有的东西。
经过与 ZK Rollup 进行比较,咱们深入研究了 Optimistic Rollup 怎样供给上述这些特点的细节方面。
Optimistic Rullup 能够以较低的本钱供给用户想要的这些特点,由于构建 ZK 证明很有昂扬的链下本钱。
由于 ZK 证明的构建本钱如此昂扬,因而彻底参加到 ZK 协议中在大多数状况下要专用的硬件设备和/或大规划并行性,因而导致 ZK Rollup 网络实践上愈加中心化。
ZK Rollup 所宣称的那些优势,要么相同适用于 Optimistic Rollup,要么要求献身重要的安全性或可用性特性。
Optimistic Rollup 在操作本钱上赢得了很大的成功,由于履行其代码比核算杂乱的加密证明要廉价得多。
让咱们从头开端
让咱们从以太坊开端讲起。以太坊用户要经过创立买卖来布置智能合约或与智能合约进行交互,你能够终究靠几种不同的办法来看待以太坊买卖:一方面,你能够将其视为一个不透明的数据块,但假如你查看其内容,你会发现买卖显着并不只是数据块;它是一个恳求,恳求智能合约做某件工作,比方记载一些信息,搬运一些财物等等。
当一笔买卖被发布到以太坊时,会发生两件重要的工作:首要,买卖会被打包,以太坊会对一组经摆放的买卖到达一致;其次,以太坊履行这些买卖,并核算由此发生的状况更新。
Optimistic Rollups 与 ZK Rollups 的共同之处
让每个以太坊节点履行每笔买卖的价值很高 (易引起网络拥堵和买卖本钱昂扬),而 Rollups 是一类能够显着减轻这种负载的可扩展性处理计划,能够显着减轻这种负载。经过这种计划,买卖的实践履行不是在以太坊上完结的,而是搬运到第2层 (L2),也即 Rollups 网络中。
但等等——Rollups 应该是由以太坊保护的。这在某一些程度上预示着 Rollups 需求以太坊以某种办法担保买卖履行的正确性,即便买卖发生在 L2 疆域中。那么以太坊怎样对 Rollups 的状况同意盖章呢?
简言之,答案便是:运用证明 (proofs)。Rollups 运用专门的证明 (proofs) 来向以太坊证明其正确性,该证明答应以太坊在不履行买卖的状况下验证其正确性。
Optimistic Rollups 与 ZK Rollups 的不同之处
这些证明看起来十分奇特:答应以太坊在无需实践履行买卖的状况下验证 Rollups 的状况。你或许想知道这些证明是啥样子的,以及它们在实践中是怎样完结的。这正是不同的 Rollups 的彼此差异之处。
ZK Rollups 运用有用性证明 (validity proofs):ZK Rollups 依靠于某一方发布简练的暗码证明,该证明能够标明该发布者知道这条以特定状况完毕的区块链的有用性。这要求该证明方需求履行这条链,然后才干知道怎样构建该证明,然后经过一系列杂乱的暗码操作来结构该证明。该证明经过一个链上 L1 合约进行全方位查看。ZK Rollups 的有用性证明是简练的,并且验证本钱满足廉价,能够终究靠一笔以太坊买卖来完结。
Optimistic Rollups 运用一种不相同的证明:诈骗证明 (fraud proofs)。望文生义,Optimistic Rollups 网络是“达观的”,由于当 Optimistic Rollups 将更新的状况发布到以太坊上时,它们不会发布任何证明。在 Optimistic Rollups 网络中,任何人 (节点) 都能够发布一个 Rollup 区块,其间包括了有关履行了某些买卖之后的正确成果的声明,其他节点在履行这些相同的买卖时,假如不同意该节点的建议就能够提出应战。一个有用的争议协议会处理任何不合,确保正确的那一方将会在该应战中取胜。这些参加方 (节点) 有很强的动机只发布正确的建议,而不是去应战不正确的建议,因而在一般状况下,一切节点便是简略地履行一切的买卖,而证明代码永久不需求被调用。这整个进程都是由一个 L1 合约办理。
那么哪种类型的 Rollup 更好呢?在本文的其余部分,咱们将从几个维度比较 ZK Rollups 和 Optimistic Rollups,并解说为何咱们咱们都以为未来是归于 Optimistic Rollups,以及像 Arbitrum 这样的 Optimistic Rollups 本质上有着更好的可扩展性。
Optimistic Rollups 比照 ZK Rollups:本钱
或许 Optimistic Rollups 和 ZK Rollups 最要害的不同之处便是本钱。
Optimistic Rollups 网络需求其节点简略地履行合约。比方,假如某个合约履行增加操作,那么网络中的节点就履行该增加操作。
另一方面,ZK Rollups 需求生成一个杂乱的暗码证明,需求成百上千次贵重的椭圆曲线运算来将该增加操作包括进证明中。在 ZK Rollups 中,每个合约中的每个指令都会发生这种本钱。由于需求对每个指令都生成一个杂乱的暗码证明,而不是只是履行指令,因而关于 ZK Rollups 而言这是一个固有的本钱下风,并且这是一个很大的下风。
ZK Rollups 的支撑者有时会争辩论,该处理计划只需求一方创立“证明”,而 Optimistic Rollups 则要求体系有许多节点。可是,假如你正在运转一条规划较大的区块链,不管你运用哪种证明体系,它都会有许多节点。真实的区块链需求许多节点来服务各类活动,比方非变异调用、查找工作日志、向用户显现买卖数据、为用户更好的供给将资金提取回 L1 (主链) 所需的数据等等。Optimistic Rollups 的安全性依靠于这些节点做它们现已需求做的工作——履行买卖并追寻区块链的正确状况。
另一方面,在 ZK Rollups 中构建贵重的、依据椭圆曲线的证明是一个十分大的附加本钱。假如想要大规划地证明 ZK Rollups,将需求专用硬件设备或许大规划并行——或许两者都需求。这都是十分贵重的。
小结:Optimistic Rollups 体系很有大的固有本钱优势。
Optimistic Rollups 比照 ZK Rollups:EVM 兼容性
当咱们在构建 Arbitrum 时考虑的一个首要的要素是其与 EVM (以太坊虚拟机) 的兼容性。Arbitrum 彻底兼容于 EVM;它具有相同的 RPC 接口,并承受与 EVM 相同的字节码。这在某一些程度上预示着在实践中,任何为以太坊编写的代码都能够在 Arbitrum 上开箱即用。
咱们已运转敞开的、兼容 EVM 的链 (包括测验网) 一年多时刻了,咱们已了解到真实兼容于 EVM 多么具有应战性。开始的 95% 的兼容性并不难完结,但这在实践中还不够好,而要做到更好则不只需求许多的努力工作,还需求一个不妨碍的产品架构。
就 EVM 兼容性而言,ZK Rollups 体系运转的规划很广。一些 ZK Rollups 以为 EVM 兼容性是是老派的东西,并鼓舞人们学习运用它们自界说的言语。一些 ZK Rollups 体系并不企图兼容于 EVM,当然这对那些不关心这种兼容性的开发者和用户来说,这也没什么问题。
咱们并不是说,在一个全新的国际里,EVM 兼容性是客观上最好的东西。但考虑到现已运用 EVM 的开发者、代码和开发者东西的数量,咱们咱们都以为 EVM 具有许多实践的优势。幻想一下,某个现已布置在以太坊上的项目想要扩展到一个 Rollup 网络中,若需求用一种新的言语重写代码,托付新的安全审计,并保护多个代码库,那么这将是很杂乱且简略犯错。但即便关于没有编写代码的新项目而言,EVM 兼容性也是一个巨大的优势,由于这答应这些项目运用环绕 EVM 的现有代码、东西和人才库。
一些 ZK Rollups 项目正在致力于完结兼容 EVM 的版别,尽管其声明闪烁其词,咱们还不知道迄今为止有发布任何代码答应人们在 ZK Rollup 上运转 EVM 合约。当时现已存在的首要 ZK Rollups 体系有着显着的 EVM 不兼容性。比方,一个宣称兼容于 EVM 的 ZK Rollup 并不能够在某些特定的程度上完结 ADDMOD、SMOD、MULMOD、EXP、SELFDESTRUCT 和 CREATE2 操作码;正在考虑撤销对 XOR、AND 和 OR 的支撑;不支撑规范买卖格局;不支撑任何预编译;且或许会约束单笔买卖中的合约调用次数。并且,ZK 模型好像存在底子性的 EVM 不兼容性,即便在最好的状况下,ZK 的 EVM 兼容性也无法像 Optimistic Rollups 那样支撑彻底的兼容性。
值得阐明的是,现在存在几个特定于应用程序的 ZK Rollup 体系的比如,例如 Zcash、ZKSync 1.0、Loopring。现实上,其间一些体系运转杰出。其间心不同之处在于,它们经过了微调,并针对很适宜 ZK Rollup 完结的特定应用程序进行了特别优化。当时还不存在一个通用的编译器,以答应人们以兼容的办法从 EVM 过渡到 ZK Rollup。尽管有一些团队宣称正在对此进行研究,但关于用户界说的 ZK-EVM 合约,当时没有可用的公共代码或证明本钱的基准。依据咱们清楚明了的状况和一切可揭露取得的数据,咱们咱们都以为这会十分贵重。
小结:只要 Optimistic Rollups 以最小的本钱支撑彻底的 EVM 兼容性。
Optimistic Rollups 比照 ZK Rollups:无须信赖的可见性和紧缩
在规划 Arbitrum 时,咱们考虑的一个要害特点是无须信赖的可见性 (trustless visibility)。简略来说,无须信赖的可见性意味着任何人都能够在无需某个中心化的参加方的协助下查看或获取区块链的内容。重要的是,这不只意味着任何一个人都能战场的看到偶然的状况快照,还意味着任何一个人都能战场的看到区块链的完好前史——即它是怎样抵达当时状况的。一个有用的区块链链能够让任何人运转一个节点,它能支撑非骤变调用、查找工作前史记载和查看每一笔买卖——而不需求依靠一个中心化的数据供给商。无须信赖的可见性使之成为或许。
坦率地说,有些 ZK Rollups 体系在可见性方面走了捷径,并企图逃避它们没供给完好区块链功用的现实。当你听到“紧缩”这个词时,请当心弄清楚:他们是否说他们正在更有用地编码链的内容 (这正是 Arbitrum 所做的,并且将在咱们的 Nitro 版别发布中做得更好)?或许,他们是在说,部分区块链前史底子就不会被供给给你,除非一个中心化的数据供给商乐意稍后与你同享?
回想一下,ZK Rollups 证明其实只证明了“证明者”知道的有用链,但“证明”自身不会告知你那条链是什么,即便你有满足的数据来验证该“证明”,或许也只要少量的数据来重建区块链的前史。
举个比如,假定 Alice 提交了一笔支交给 Bob 1 ETH 的买卖,很快又呈现了 Bob 提交了一笔支交给 Charlie 1 ETH 的接连买卖。接下来,你需求验证一个证明:Alice 比曾经少了 1 ETH,Bob 的余额没改动,而 Charlie 比曾经多了 1 ETH。
可是详细发生了什么?Alice 付钱给 Bob 了吗?Bob 付钱给 Charlie 了吗?或许是 Alice 直接付钱给 Charlie,或许是 Alice 销毁了 1 ETH,而 Charlie 所取得的 1 ETH 是由其他人付出的,或许这个“其他人”名叫 Diana,而不是 Bob。假如咱们从区块链中寻觅 Bob 的付出依据,但关于一些不供给区块链可见性的 ZK Rollups 来说,底子没办法区别并找到 Bob 付出的买卖。
许多智能合约应用程序所需求的不是只是知道某个偶然的查看点,而是有必要了解整条链——了解发生了什么以及怎样到达终究状况。ZK Rollups 有时揄扬自己有着比 Optimistic Rollups 更好的“紧缩”,但它们会躲藏区块链的数据,这样只要“证明者”知道这并不是紧缩,而是删除了重要的数据。假如 ZK Rollup 供给商表明他们“不需求”发布整条区块链的前史,其实他们真实的意思是他们没办法确保区块链的可见性,而抛弃区块链可见性确保并不是 Optimistic Rollups 乐意做出的退让。
小结:Optimistic Rollups 以最小的本钱供给无须信赖的可见性。
Optimistic Rollups 比照 ZK Rollups:无须信赖的、及时的终究性 (finality)
在评价某个 Rollup 网络时,咱们该承认一个要害要求,即该 Rollup 是否供给无须信赖的、及时的终究性 (finality)。简略来说,这在某一些程度上预示着在你提交买卖后,你和其他一切人都应该及时且承认地知道该买卖的成果,并且没有人能够篡改或吊销该买卖。
在咱们看来,完结及时的终究性的最佳办法是将买卖排序与买卖履行分隔。排序便是对被提交的买卖出产一个敲定的次序,履行便是企图以该次序来履行这些买卖。假如买卖履行是承认的 (正如在 Arbitrum 上那样),那么敲定买卖排序就足以敲定成果,由于这些成果便是买卖次序确实认性函数。假如每个人都知道买卖的次序,那么每个人都能够轻松承认成果。
敲定一个买卖次序需求将该次序发布到 L1 链上,并包括满足的信息以答应任何人自己履行这些买卖,以便以无须信赖的办法知晓其成果。抱负的 Rollup 是尽或许频频地将排序的买卖数据发布到 L1 链。
在 Optimistic Rollups 体系中,发布到 L1 链的本钱最低,实践上 Arbitrum 一般会在每一分钟左右将排序的买卖数据发布到 L1 链,为用户更好的供给快速的终究性 (finality) 并确保没有人能够吊销他们的买卖。此外,Arbitrum 还会每隔一小时左右就发生一个新的 Optimistic Rollup 成果建议 (result assertion),但由于拍下现已被敲定,且履行是承认性的,因而彻底不会减慢终究敲定的速度。
原则上,ZK Rollups 体系也可依据相似的办法运转;行将买卖的排序 (能够频频发布到 L1)与稍后进行的验证以及偶然的有用性证明分隔。但是,与 Optimistic Rollups 体系发布数据相同,以这种办法运转的 ZK Rollups 需求将根本相同的数据发布到 L1 链上,但关于上文中评论的 (所谓) “紧缩”技能并不支撑这么做。ZK Rollups 为了让“紧缩”技能起作用,有必要在同一笔 L1 买卖中实时证明一系列 L2 买卖的有用性,并且每次发布一批 L2 买卖时都有必要这么做。
因而,寻求运用备受吹捧的“紧缩”技能的 ZK Rollups 只要两个挑选:
1) 每分钟左右发布排序买卖和履行证明:这能坚持快速的终究性 (finality),但需求每分钟在链下生成 ZK 证明并在 L1 链上进行验证。依据完结状况,在区块链链上发布 ZK 证明的本钱估量在 500,000 gas 到 500 万 gas 之间。
2) 每小时发布排序买卖和证明:这样的做法尽管能够使 ZK 证明的查看本钱变得稍微合理,但将终究性 (finality) 的时刻会延长到一个小时。在用户向 ZK Rollups 运营者提交买卖和其发布到链上之间的时刻里,用户没办法确保他们的买卖是否会被打包在内,并且只能信赖 ZK Rollups 的运营者。
假如你正在构建一个 ZK Rollup 体系,会发现上述两个选项其实都是不行承受的——第一个本钱太贵重,第二个无法供给及时的终究性。因而,假如你终究会运用与咱们在 Optimistic Rollup (即 Arbitrum) 中运用的相同类型的定序器 (sequencer),并在一个 ZK Rollup 版别的 Arbitrum 中发布根本上相同的数据。
假如你听到有人吹捧某个 ZK Rollup 能够将数小时的数据紧缩为一个点,要有必要慎重。假如他们只在很长一段时刻完毕时发布单点数据,那么这在某一些程度上预示着他们在最近一段时刻内没供给终究承认性。
小结:出于实践考虑,ZK Rollups 体系不得不以与 Optimistic Rollups 相同的办法来完结及时的终究性。
Optimistic Rollups 比照 ZK Rollups:无须信赖的活性
无须信赖的活性 (trustless liveness) 是指任何人都能够推动体系进程 (无须信赖的安全特点能确保这种进程的正确性)。
Optimistic Rollups 答应任何节点声明正确的买卖履行。提出该声明只要求节点履行该链的买卖,然后存入一笔质押金 (stake),当该声明被协议承认之后能够交还该质押金。
在 ZK Rollups 体系上,发展要求任何节点都能够创立并发布推动区块链状况所需的 ZK 证明,但这有必要是运用任何人都能获取的硬件和软件就能完结,因而有必要不能要求构建或购买共同的专用型硬件,也不能要求做大规划并行核算。有必要有一条在一般的设备上就能构建一个适宜的 ZK 证明的途径。假如某个 ZK Rollup 供给商无法做到这一点,或许没有发布用于生成体系证明的代码,那么该 ZK Rollup 就无法供给无须信赖的活性,该体系也就没有活性确保。他们的体系是中心化的,由于只要具有专用设备的参加方才干推动体系进程。(现在还不清楚的是那些抢先的 ZK Rollups 供给商是否将让证明对一般用户可行。)
小结:Optimistic Rollups 体系更简略供给无须信赖的活性。
Optimistic Rollups 比照 ZK Rollups:桥接
ZK Rollups 的优势范畴是与以太坊 L1 的桥接。Optimistic Rollups 体系在将资金从 Rollup 取款至 L1 方面有一个为期一周的推迟,而 ZK Rollups 则答应在 ZK 证明发布至 L1 之后当即完结桥接。在实践中,这并不是一个很大的差异,由于 Optimistic Rollups 用户都可运用快速桥接服务,以此来完结将资金从 L2 撤回至 L1 的低推迟。因而,ZK Rollups 在这方面的优势首要是,其用户都可避开付出桥接服务收取的小额费用 (这些服务在费用上将会彼此竞争)。这并不是理论上的:制剂室,当时有许多上线的桥接服务,供给从 Arbitrum 即时取款的服务。
需求着重的是,ZK Rollups 在桥接方面的优势十分狭隘:仅限于从 L2 桥接回以太坊 L1。早年 (大约是2019年),许多人以为 Rollups 的推出将很缓慢,且只会有一到两个上线的 dApps,在这样的状况下,Rollup 用户将会常常发现了自己在 L1 和 L2 之间来回桥接。但咱们并不处于这样的国际中。Arbitrum 具有一个欣欣向荣的生态体系,其间包括了数百个 dApps,规划覆盖了整个 DeFi 范畴,且许多用户正在桥接至 Arbitrum 并长时刻留在这个网络中。此外,在某一些程度上,用户不单单是去以太坊,而是跨过多条链。他们也在前往其他 L1 链和侧链,且关于这种直接桥接,ZK Rollups 比照 Optimistic Rollups 并没什么优势。
小结:ZK Rollups 体系在桥接至 L1 方面有一点优势,但由于快速桥接服务和多链运用形式,因而在实践中这种优势在很大程度上被削弱。
写在终究
经过比照 Optimistic Rollups 和 ZK Rollups,咱们咱们都以为 Optimistic Rollups 体系是显着的赢家。Optimistic Rollups 更廉价,具有彻底兼容 EVM 和现有的东西,且在实践中仅有的缺陷是在没有快速桥接服务的状况下桥接至 L1 较为缓慢。ZK Rollups 的其他优势需求献身链的可见性或终究性时刻,咱们咱们都以为这并不是用户想要的。
关于 ZK Rollups 体系来说,这些都不太或许改动。兼容于 EVM 的合约履行的 ZK 证明将坚持着比 Optimstic Rollups 的履行愈加贵重,且完结无须信赖的活性、链可见性和去中心化的要求也将坚持不变。尽管假如状况呈现改变,咱们也乐意将 Arbitrum 切换到依据 ZK Rollup 的履行,但咱们咱们都以为不会。
咱们将以一个正告完毕。现在有一种趋势是,人们将 Arbitrum 今日供给的东西与 ZK Rollups 体系说他们将来会供给的东西进行比较。但这种比较没什么含义。假如咱们将现有的体系来进行比较,就会发现只要像 Arbitrum 这样的 Optimistic Rollups 支撑通用智能合约的敞开布置。或许,假如咱们在比较未来的体系,那么咱们该将 Arbitrum 的未来与未来的 ZK Rollups 体系来进行比较。
咱们正在一直在改善 Arbitrum——例如,咱们行将发布的 Nitro 版别包括更低的本钱和更好优化的链上数据无损紧缩。咱们正在孜孜不倦地改善 Arbitrum ,将本钱降低到理论极限。正如咱们在这篇文章中所展现的,咱们信赖,当考虑到这两种体系的现状以及它们各自的理论局限性时,Optimistic Rollups 显着是赢家。
共执行 177 个查询,用时 0.217296 秒,在线 9 人,Gzip 已启用,占用内存 4.326 MB