如何通俗理解Arbitrum的Nitro技术升级?4个关键机制

链茶馆 view 39643 2023-1-10 14:39
share to
Scan QR code with WeChat

Arbitrum 是把原本在以太坊上进行的计算工程转移到 Layer 2 进行,然后不需要进行任何验证就假设这些计算结果是正确的,并将数据发布回以太坊。但是为了避免有人作恶,设置了 7 天的挑战期来缓冲(如果发现有人欺诈就扣保证金)。

Arbitrum 在去年 8 月 31 日推出了升级版的 Nitro,它的费用更低、以太坊兼容性更好以及 zk 证明更简洁,总之是一次全面的升级(而不是针对特定的问题)。不过由于它没有重新发新链,而是从 Arbitrum One 无缝升级,所以还是叫 Arbitrum One。

支撑 Nitro 的关键创新可以概括为四点:证明程序、以 Geth 为核心、实现执行与证明分开、交互式欺诈证明的 Optimistic Rollup。

不需要共识机制的证明程序

Nitro 使用两阶段执行交易。

第一阶段:在 Layer2 自行处理

用户创建了一笔交易,经过钱包签名确认后,会发送给 Nitro 的 Sequencer(序列器)。

Sequencer 收到信息,通过「状态转移函数」过滤掉无效交易,并把剩下的交易公平地进行排队。

然后不需要任何额外的链上确认(如 L1 以太坊),就直接无条件地让节点在本地执行,并向客户提供交易收据(包括提交了恶意或者错误信息的用户),这个过程通常只需要一两秒钟。

但此时的交易还没有向 L1 以太坊提交,有更改的余地,所以称作「软确认」,不过对用户来说,到这一步就已经完事儿,其实后面还有很多步骤来确保安全性。

第二阶段

Sequencer 向以太坊发布排队序列,并最终确认,也就是「硬终结」。

一种发送方式是在给每笔交易排序时,都向所有订阅者发布即时通知。另一种方式是汇总起来在 L1 以太坊上按批次发布(间隔几分钟)。

需要强调的是,Sequencer 在第一阶段的「状态转移函数」操作是公开的,任何人都可以根据自己已知的交易顺序去计算状态转移函数,所有诚实方得到的是相同的结果。

因此,Nitro 的节点不需要共识机制,只需要获取交易序列(即时提取和在以太坊上批次提取),并自行在本地运行就可以了,所以会显著降低成本。

用 Go 语言重写的节点软件 Geth

Geth 即 go-ethereum,顾名思义,是用 Go 语言编写的以太坊节点软件,让矿工去执行交易,这是 Nitro 最核心的部分。

Arbitrum 的旧方案方案是通过定制的 Arbitrum 虚拟机(AVM)来模拟 EVM,它的一些内部逻辑在 EVM 不一致(例如 Gas 的计算),所以仅限于低级指令。

而 Geth 则基本完全支持以太坊的数据结构、格式和虚拟机,所以可以实现以太坊高度兼容。

值得一提的是,Geth 是抛弃了旧方案积累的堆栈(用自己定制的语言 mini 来实现自定义逻辑),直接另起炉灶用 Go 语言编写的,大部分开发工作都是借鉴了现有的开箱即用的代码,而且整体上也更精简。

执行与证明分别两套代码

Layer2 的任务有两个——执行和证明,这是两个侧重点,无法兼顾,因此 Nitro 用不同的代码来实现。

不过都是同一套源代码,刚才提到的让矿工去执行交易的节点软件 Geth 用的是源代码,执行速度更快。

但是关于欺诈证明的代码,则编译为二进制的 wasm 格式,特点是可移植、体积小、加载快并且兼容 Web。而且 Nitro 又对 wasm 格式进行了微调,让它更适合与链交互,称之为 WAVM 代码。

在 WASM 代码上进行 Arbitrum 的交互式欺诈证明,就取代了 Arbitrum 虚拟机(AVM)的架构,直接以标准的语言和工具来构建和编译。

互相检举的交互式欺诈证明

Nitro 采用的证明系统是他们首创的「交互式欺诈证明」。

简单来说,所有的交易完成后还要预留 7 天时间接受验证者的检查(是否为欺诈或无效),如果确实有问题那就重新执行。

验证者相当于以检举为生的赏金猎人,但是为了避免有人通过诬告来扰乱秩序,还允许赏金猎人之间相互检举揭发,这样双方不断举证,直到一方不再跟进为止。

最后把检举的这笔交易提交到以太坊上执行并验证到底谁是错误的,并把诬告者的保证金分给挑战诬告者的赏金猎人。

这就是交互式欺诈证明,相当于用市场化的手段引入了外部监管者,是一种治理机制上的创新,可以极大地提高验证效率和准确性。

总结

作为 Arbitrum 的迭代版本,Nitro 目前已协助启动数百个项目,积累数十万的独立用户,数百万笔的交易和数十亿美元的桥接资产,目前占市场优势地位。

除了使用 Nitro 这套技术升级了 Arbitrum One,Arbitrum 团队还希望用它创建特定应用的 Rollups,他们未来还想吸纳 Solana 和 Cosmos 生态的资源(尤其是开发者)。

Arbitrum 在生态孵化运营上的能力有目共睹,与此同时也攻克了大量技术上的瓶颈(尤其是以非区块链的方式来完美解决),充分展示了团队的创造力。相信从 Layer2 一路走来的他们,会走向更大的生态。

btcfans公众号

Scan QR code with WeChat

Disclaimer:

Previous: 比特币(BTC)挖矿哈希率在新年创下历史新高 Next: HK财政司长发言 即将开启Web3.0抢人“魔盒”?

Related