扩容金牌种子选手Arbitrum优势解析
Rollup 终于来了!随着 Arbitrum 于 5 月 29 日宣布其主要网络测试版,以太坊社区终于要实现了期待已久的可扩展性。我们愿景是:将原始数据存放在以太坊Layer1上,而成本高昂的执行和存储将移至Layer2。同时,Rollup的安全性由Layer1保证,所以比侧链之类的其他解决方案更安全。不同Layer2解决方案的深度对比详见下图:
Arbitrum 的历史可以追溯到 2014 年。当时这只是学生项目,Ed Felten 教授是导师。在 2015 年至 2017 年期间,Ed Felten 在白宫担任顾问,这个项目也随之中断了一段时间。到了2017 年才重新开始运行,当时Ed Felten 教授回到普林斯顿大学,Steven Goldfeder 和 Harry Kalodner 说服他再次参与该项目。Arbitrum一直都是Rollup项目,只是当时还没有这个术语。接下来,我们将仔细研究Arbitrum Layer2的争议解决机制,这是所有架构的核心所在。
多轮争议解决机制
Arbitrum 的目的一直是解决交互式争议。因此 Arbitrum 命名指的是法律术语中的“仲裁员”,意为裁决争议的人。如果有人在交易执行后对结果提出异议,验证者就用这种裁决争议的方法来就达成一致。在多轮交互rollup中,程序会反复将N条指令分成大小为N/K的K个部分,直到找到有争议的具体执行步骤。以下是该过程的图解:
来源: Tracer.Finance
在发生争议的情况下,由L 1重新执行交易中最后产生争议的步骤,以解决争议并决定争议的赢家。程序将交易分成多个步骤,并且在L 1只运行有争议的步骤,减少了在L 1重新执行整个过程的成本。还有一个显著的好处是,在Arbitrum 上运行智能合约/交易不受以太坊的执行能力/gas 限制,我们只需在 Layer1 上为整批交易发布一个状态证明就足够了,从而降低了整体的成本。
而对于Optimism等单轮争议解决机制中,即使争议解决立即发生且因为多轮机制不计入额外的时间(Arbitrum的额外时间是一周),L 1都必须执行整个交易来验证。这意味着 Layer2 受到 Layer1 区块 gas费的限制。此外,每次交易后还需要在发布链上状态根,进一步增加了成本。
Layer2 最大的期望之一是低交易成本。Arbitrum 团队也提到他们已经将简单交易的 gas 成本降低到 2000 gwei。主要成本来自在 Layer1 上记录交易数据。Arbitrum 压缩了头部数据,且不需要在每次交易后将状态根发布到 L 1,从而提高了 gas 效率。
多轮交互争议解决程序有一个强加的时间限制,即为期一周的争议额外时间。它类似于玩家轮流换手的国际象棋时钟。验证人必须在这一周内做出行动,否则他们会在争议中失败。这意味着,在实践中解决争议的过程会更短。
Arbitrum架构概述
Arbitrum Layer2与Ethereum Layer1之间有一套名为EthBridge的智能合约。EthBridge一方面裁判Layer2链上的纠纷,另一方面监督Layer2链的收件箱和发件箱。以太坊L 1上的 Arbitrum 收件箱合约是 Arbitrum 架构的重要组成部分。收件箱收集所有交易,并按照先到先得的原则进行排序。
Arbitrum虚拟机(AVM)读取Layer1链上的收件箱合约,并以即定的方式执行计算。ArbOS(Arbitrum Layer2的操作系统)则在AVM上运行,并执行Arbitrum Layer2链上的智能合约。
除了上述的重要组成部分,验证者是Arbitrum生态系统中的主要参与者。验证者是节点,观察Arbitrum Layer2上的活动并推进rollup链状态。注意,不是所有的节点都是验证者。验证Arbitrum链是完全无权需许可的。如果要发布交易或提出异议,参与者只需要运行一个节点软件并在区块中进行质押。Arbitrum上有三种验证者:
主动验证者:持续关注Layer2链,并通过提出新的区块来推进其状态。
防御性验证者:经常关注Layer2链,只有看到另一个验证者提出的恶意区块才采取行动。
观望型验证者:与防御性验证者类似,监视Layer2链以发现不诚实的行为。与防御性验证者不同的是,他们不会对恶意验证者提出异议或验证正确的区块,而只是提醒系统中的其他验证者。
Arbitrum的验证者负责通过在新区块的质押,来推进链的延申和rollup的状态。验证者需要质押一定数量的ETH,以便在rollup链生成区块。一旦在一个区块上质押代币,验证者就不能撤销,直到该区块被确认。如果另一个验证者对某个区块有争议,他们应该提出他们认为正确的区块版本,并对其进行抵押。根据争议机制的结果,获胜的验证者将获得不诚实验证者的部分赌注,而其余的金额将被烧毁。
区块上的质押金额是由协议本身动态调整的。Arbitrum设置了一个基本质押参数。这个基础金额将乘以一个系数,如果由于攻击而导致链的速度减慢,这个系数将以指数增长。
来源: Arbitrum Official Documentation
为了更好地理解 Arbitrum 机制,让我们看一下 Arbitrum 交易的生命周期:
1)用户将交易发送到以太坊 Layer1 上的 Arbitrum 收件箱智能合约。
这些交易由AVM以先到先得的方式执行。
输入收件箱中的交易,进入Arbitrum Layer-2执行过程。
2) Arbitrum Layer-2 上的验证者在收件箱中读取这些交易,并以确定性的方式一起执行它们
一旦交易进入收件箱,任何查看收件箱的人都会知道交易的结果。
这意味着,用户的交易一旦到达收件箱,在 Arbitrum 和以太坊 Layer1 上是都是最终的结果。
– 终结点:每个人都知道交易结果的时间点。
– 确认点:以太坊第 1 层验证交易正确性的时间点。
3) 随后,Arbitrum 上的验证者将提出一个包含用户交易执行的Rollup块。
此时,每个关注Arbitrum链的人都已经知道该区块是否正确。
一旦产生 rollup 块,将会有一个为期一周的争议挑战,直到交易在 Ethereum Layer-1 上得到确认。
4) 在 1 周的争议窗口之后,如果没有人对区块内交易的正确性提出异议,则该区块将由以太坊 Layer1 确认。
需要强调的一个重点是,从 Layer1 到 Layer2 的交易很快就会得到确认,类似于正常的以太坊 Layer1上的 交易。但是,对于从 Layer2 到 Layer1 的交易,在 Layer1 确认交易之前有 1 周的争议期。尽管以太坊链仅在 1 周争议期后才知道 rollup 块的正确性,但由于 Arbitrum 虚拟机的确定性,一旦交易进入收件箱合约,每个观察第 2 层的人都已经知道结果。
另一个需要注意的重点是 Arbitrum 目前没有共识协议。权益证明中,占大多数的验证者可以强制确认正确的状态。与之相反, Arbitrum 有正确性证明。即使只有一个诚实节点(N 个中的 1 个)也可以证明大多数恶意节点是错误的。归根结底,是争议解决算法决定谁对谁错,而不管多数票。
Arbitrum的进展
Arbitrum 自 2020 年 10 月 4 日起进入测试网阶段,并于 5 月 29 日在以太坊主网上部署了 Abitrum 智能合约。自 10 月份首次发布测试网以来,他们已收到逾300个访问开发者发布的团队请求。
目前在Arbitrum One主网测试版上已经有超过700个账户创建,500个合约部署。在Arbitrum One上已经有了大量且不断增长的活动。
与该领域的其他Rollup不同,Arbitrum 没有项目的候补名单,每个人都可以访问,可以在此基础上进行开发。Arbitrum 也成功吸引了顶级项目,其中一些宣布在 Arbitrum 上构建的项目包括 Uniswap、Sushiswap、MCDEX、DODO、Biconomy 等,还集成了领先的基础设施提供商如 The Graph、 Etherscan 和 Chainlink。
结论
Rollup十分安全,并且可以集成 Layer1,是最有希望的以太坊扩容解决方案之一。Rollup还有了不同的方案,包括广为讨论的optimistic rollups和基于零知识的解决方案。我们相信,在不远的未来,Rollup的竞争将继续下去。这种公开和透明的竞争会使整个生态系统受益。
由于多轮交互的争端解决机制,Arbitrum在gas限制和 Layer2 链的虚拟机设计方面具有极大的优势。虽然陪审团还没有定论,但已经可以看到其潜力,Arbitrum将获得大量采用。然而最终无论谁是Rollup竞争的胜利者,以太坊生态系统都将从中获益,这一点是无可争议的。
我们相信Arbitrum会对以太坊最大的可扩展性提供巨大帮助。Arbitrum团队在过去的几年里一直努力钻研,目前看来他们将成功领先市场。从他们开放的开发方式和大量的合作关系来看,Arbitrum的推出是大获成功的。