ArbitrumOne主网将于8月31日迁移至Nitro,这是Arbitrum的对吞吐量、交易成本、效率改善的一次重大迭代,将与半个月公开发布的ArbitrumNova共存。这意味着此前备受关注的Odyssey活动也可能会并行重启。OffchainLabs在最新发布的ArbitrumNitro白皮书中,将ArbitrumNitro视为第二代OptimisticRollup,相比之前的Rollup,Nitro能够提供更?的吞吐量、更快的最终确定性和更有效的争议解决方案。ArbitrumNitro技术的核心是一个新的证明器,可以在WASM代码上进行Arbitrum的交互式欺诈证明。也就是说,L2Arbitrum引擎可以在WASM上运行,取代一直定制设计的AVM架构,可以使用标准的语言和工具来构建和编译。将Gethcore直接编译到Arbitrum中是Nitro最酷的地方,Geth实际上定义了以太坊标准的EVM引擎。所以本质上,Nitro是在以太坊之上的Layer2运行Geth,并且可以证明对编译为WASM的Geth核心引擎的欺诈。Arbitrum此前也表示,Nitro有着优化过后的批处理和数据压缩组件,能进一步降低Arbitrum的交易成本,并且具有以太坊L1Gas兼容性等,除此之外,欺诈证明、排序器、代币桥也是Nitro的组件。由于Nitro建立在WASM和Geth等标准技术之上,因此它更兼容EVM。根据白皮书,改进过后的Nitro相较ArbitrumOne,效率更高,延迟性更低,激励兼容性也更好。Arbitrum实现这些属性的设计原则包括:将事务排序与确定性执?分开;将现有的以太坊模拟软件与扩展相结合,并实现跨链功能;分别编译执行和证明;使用基于交互式欺诈证明的OptimisticRollup协议将交易结果放置在Layer1。一、排序和确定性执行
Nitro分两个阶段处理提交的交易,排序器进行交易排序,并将订单作为实时流和压缩数据批次发布在Layer1链上。这些交易会按确定性状态转换函数?次处理?个有序交易,该函数更新链状态并?成Layer2区块,这些区块稍后会结算到Layer1链。
具体来说,排序方面,排序器受信任且诚实地对传?交易按照先后顺序进?排序,目前以两种方式发布其事务排序,首先发布一个排序交易的实时流,代表排序器最终以特定顺序记录交易的承诺;其次,Sequencer在收集一批交易后,然后使用通用算法brotli对其进行压缩来降低成本,并将结果传递给Nitro链的Inbox合约。?旦Sequencer到Inbox的交易在以太坊上具有最终性,Nitro链的交易顺序就是最终的。目前排序器是由OffchainLabs运营的集中式组件,未来打算使?公平分布式排序协议过渡到基于委员会的排序器。确定性执行方面,在对传?交易进?排序后,Nitro链会使?链的状态转换函数对其进?处理,输出更新的状态并生成Layer2区块。二、软件架构:GethattheCore
Nitro将Geth编译进来是Nitro的第?个关键设计理念,Geth指的是以太坊节点软件go-ethereum。Nitro中的core执?和状态维护功能由开源go-ethereum(geth)package代码处理,确保其执?和状态与以太坊?度兼容。构成Nitro节点的软件可以被认为是内置在三个主要层中,分别为基础层——Gethcore、中间层以及顶层,其中,ArbOS是?个软件层,实现了管理Layer2链所必需的功能,包括记账功能、?持Nitro和Layer1以太坊之间的双向安全跨链调?以及特定于Layer2的费?跟踪和收集。跨链交互方面,Nitro的跨链消息传递功能还可?于创建代币桥,这是?个允许在以太坊和Nitro链之间有效转移资产的应?。OffchainLabs团队已经实施并发布了?个非正式代币桥,提供对可替代代币的存入或提款功能。另外,新的和改进的批处理和压缩系统也能最大限度地降低L1成本。顶层则由节点软件组成,处理来?客户端的连接和传?的RPC请求,并提供操作与以太坊兼容的区块链节点所需的其他功能。
三、执行与证明分开
Nitro通过对执?和证明使?相同的源代码,但针对这两种情况将其编译为不同的?标。在编译Nitro节点软件执?时,使?的是普通的Go编译器,为?标架构?成原?代码,当然对于不同的节点部署会有所不同。另外,状态转换函数部分的代码由Go编译器编译为WebAssembly,这是?种类型化的、可移植的机器代码格式。然后,WASM代码经过简单的转换和修改,转换成称为WAVM的格式。白皮书指出,WAVM在三个主要??与WASM不同,分别为去除了WASM的?些Go编译器没有?成的特性;限制了WASM的?些功,包括去除了浮点指令和不包含嵌套控制流;添加了?些操作码以实现与区块链环境的交互等。如果对计算状态转换函数的正确结果存在争议,则通过参考WAVM代码的交互式欺诈证明协议来解决。四、具有交互式欺诈证明的OptimisticRollup
在最初的Arbitrum设计的基础上,Nitro使?改进的OptimisticRollup协议,该协议使用优化过后的交互式欺诈证明协议。这个Rollup协议是Nitro?于确认Layer2链状态和Layer1以太坊上的相关数据的?法。Layer2??通常不会等待L1确认,?是依赖确定性状态转换函数,该函数允许从记录的交易序列中得出交易结果。该Rollup协议产生了一条RollupBlocks链,与Layer2区块不同,一个RollupBlock通常包装了一系列Layer2区块,因此RBlock的数量远少于L2块。最初一个RBlock代表某方声称称RBlock的数据是正确的。最终,每?个这样的声明要么被协议确认,要么被拒绝后从RBlock链中删除。这组已确认的RBlock将从创世RBlock开始形成?条链。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。