# 从4个关键机制出发，理解Arbitrum的Nitro技术升级

By [mycpu.eth](https://paragraph.com/@mycpu) · 2023-01-26

---

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 一路走来的他们，会走向更大的生态。

---

*Originally published on [mycpu.eth](https://paragraph.com/@mycpu/4-arbitrum-nitro)*
