Arbitrum Nitro 白皮书速读:如何更兼容 EVM 和降低交易成本?

Arbitrum Nitro 白皮书速读:如何更兼容 EVM 和降低交易成本?

免责声明:本文旨在传递更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表MarsBit官方立场。

小编:记得关注哦

来源:Foresight News

Offchain Labs 在最新发布的 Arbitrum Nitro 白皮书中,将 Arbitrum Nitro 视为第二代 Optimistic Rollup,相比之前的 Rollup,Nitro 能够提供更?的吞吐量、更快的最终确定性和更有效的争议解决?案。

Arbitrum Nitro 技术的核心是一个新的证明器(prover),可以在 WASM 代码上进行 Arbitrum 的交互式欺诈证明。也就是说, L2 Arbitrum 引擎可以在 WASM 上运行,取代一直定制设计的 AVM(Arbitrum EVM)架构,可以使用标准的语言和工具来构建和编译。

将 Geth core 直接编译到 Arbitrum 中是 Nitro 最酷的地方,Geth 实际上定义了以太坊标准的 EVM 引擎。所以本质上,Nitro 是在以太坊之上的 Layer2 运行 Geth,并且可以证明对编译为 WASM 的 Geth 核心引擎的欺诈。

Arbitrum 此前也表示,Nitro 有着优化过后的批处理和数据压缩组件,能进一步降低 Arbitrum 的交易成本,并且具有以太坊 L1 Gas 兼容性等,除此之外,欺诈证明、排序器、代币桥也是 Nitro 的组件。由于 Nitro 建立在 WASM 和 Geth 等标准技术之上,因此它更兼容 EVM。根据白皮书,改进过后的 Nitro 相较 Arbitrum One,效率更高,延迟性更低,激励兼容性也更好。

Arbitrum 实现这些属性的设计原则包括:

  • 将事务排序与确定性执?分开;
  • 将现有的以太坊模拟软件与扩展相结合,并实现跨链功能;
  • 分别编译执?和证明;
  • 使用基于交互式欺诈证明的 Optimistic Rollup 协议将交易结果放置在 Layer1。
  • 一、排序和确定性执行

    Nitro 分两个阶段处理提交的交易,排序器(Sequencer)进行交易排序,并将订单作为实时流和压缩数据批次发布在 Layer1 链上。这些交易会按确定性状态转换函数?次处理?个有序交易,该函数更新链状态并?成 Layer2 区块,这些区块稍后会结算到 Layer1 链。

    Arbitrum Nitro 白皮书速读:如何更兼容 EVM 和降低交易成本?

    具体来说,排序方面,排序器受信任且诚实地对传?交易按照先后顺序进?排序,目前以两种方式发布其事务排序,首先发布一个排序交易的实时流,代表排序器最终以特定顺序记录交易的承诺;其次,Sequencer 在收集一批交易后,然后使用通用算法 brotli 对其进行压缩来降低成本,并将结果传递给 Nitro 链的 Inbox 合约(在 L1 以太坊上运?)。?旦 Sequencer 到 Inbox 的交易在以太坊上具有最终性,Nitro 链的交易顺序就是最终的。

    目前排序器是由 Offchain Labs 运营的集中式组件,未来打算使?公平分布式排序协议过渡到基于委员会的排序器。

    确定性执行方面,在对传?交易进?排序后,Nitro 链会使?链的状态转换函数(STF)对其进?处理,输出更新的状态并生成 Layer2 区块。

    二、软件架构:Geth at the Core

    Nitro 将 Geth 编译进来是 Nitro 的第?个关键设计理念,Geth 指的是以太坊节点软件 go-ethereum。Nitro 中的 core 执?和状态维护功能由开源 go-ethereum (geth)package 代码处理,确保其执?和状态与以太坊?度兼容。

    构成 Nitro 节点的软件可以被认为是内置在三个主要层中,分别为基础层——Geth core(模拟 EVM 合约执行和维护构成以太坊状态的数据结构)、中间层(ArbOS)以及顶层,其中,ArbOS 是?个软件层,实现了管理 Layer2 链所必需的功能,包括记账功能、?持 Nitro 和 Layer1 以太坊之间的双向安全跨链调?以及特定于 Layer2 的费?跟踪和收集。

    跨链交互方面,Nitro 的跨链消息传递功能还可?于创建代币桥,这是?个允许在以太坊和 Nitro 链之间有效转移资产的应?。Offchain Labs 团队已经实施并发布了?个非正式代币桥,提供对可替代代币的存入或提款功能。另外,新的和改进的批处理和压缩系统也能最大限度地降低 L1 成本。

    顶层则由节点软件组成,处理来?客户端的连接和传?的 RPC 请求,并提供操作与以太坊兼容的区块链节点所需的其他功能。

    Arbitrum Nitro 白皮书速读:如何更兼容 EVM 和降低交易成本?

    三、执?与证明分开

    Nitro 通过对执?和证明使?相同的源代码,但针对这两种情况将其编译为不同的?标。在编译 Nitro 节点软件执?时,使?的是普通的 Go 编译器,为?标架构?成原?代码,当然对于不同的节点部署会有所不同。

    另外,状态转换函数部分的代码由 Go 编译器编译为 WebAssembly(WASM),这是?种类型化的、可移植的机器代码格式。然后,WASM 代码经过简单的转换和修改,转换成称为 WAVM 的格式。

    白皮书指出,WAVM 在三个主要??与 WASM 不同,分别为去除了 WASM 的?些 Go 编译器没有?成的特性;限制了 WASM 的?些功,包括去除了浮点指令和不包含嵌套控制流;添加了?些操作码以实现与区块链环境的交互等。

    如果对计算状态转换函数的正确结果存在争议,则通过参考 WAVM 代码的交互式欺诈证明协议来解决。

    四、具有交互式欺诈证明的 Optimistic Rollup

    在最初的 Arbitrum 设计的基础上,Nitro 使?改进的 Optimistic Rollup 协议,该协议使用优化过后的交互式欺诈证明协议。

    这个 Rollup 协议是 Nitro ?于确认 Layer2 链状态和 Layer1 以太坊上的相关数据的?法。 Layer2 ??通常不会等待 L1 确认,?是依赖确定性状态转换函数,该函数允许从记录的交易序列中得出交易结果。

    该 Rollup 协议产生了一条 Rollup Blocks(RBlock)链,与 Layer2 区块不同,一个 Rollup Block 通常包装(encapsulate)了一系列 Layer2 区块,因此 RBlock 的数量远少于 L2 块。最初一个 RBlock 代表某方声称称 RBlock 的数据是正确的。最终,每?个这样的声明要么被协议确认,要么被拒绝后从 RBlock 链中删除。这组已确认的 RBlock 将从创世 RBlock 开始形成?条链。

    链接:

    https://github.com/OffchainLabs/nitro/blob/master/docs/Nitro-whitepaper.pdf

    https://medium.com/offchainlabs/its-nitro-time-86944693bf29

    来源:MarsBit

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2022年7月21日
    下一篇 2022年7月21日

    相关推荐