对话Offchain Labs工程师:Arbitrum在ModuLar Oriented中如何解决Rollup面临的问题?
原文标题:How does Arbitrum find its ecoLogicaL niche in ModuLar Oriented?
原文作者:Vision,MetastoneGroup
在MetastoneGroup 举办「RollupMeetup」活动前,我们邀请到了Offchain Labs 的工程师 Jason,来聊聊Rollup中包括DAC与Anytrust 等前沿技术话题。特别是当前比较火热的 EIP-4844 和可能在下轮叙事中爆发的 RaaS,另外,去中心化 Sequencer 和ModuLarOriented也是MetatsoneGroup 研究员比较关注的新方向。
Vision:目前整个的网络关于 Arbitrum 一些讨论也比较火热, Jason 能不能简单介绍一下 Arbitrum 从创立到今天整个的一个发展路程。
Jason:好的,我表达一下我对于Arbitrum整个进程的看法,首先我们是在 21 年的 5 月份上线了我们的一个测试网,在 5 月份的上了之后,这个测试网是还没有向公众打开的,只是邀请了一些项目方,来到我们上面部署,体验了一下我们上面的一些网络体验,同时的话也进行了一些改进。最后,我们是在 21 年的 8 月 31 号上线了我们的第一代主网,也就是我们现在称之为 cLassic 的一个技术栈部署的这个主网。虽然那个技术栈比较初代,但是那个技术栈其实已经实现了交互式欺诈证明,以及 Optimistic Rollups 的所有的相关功能都已经部署在上面了。当时就已经是完全这种 EVM 兼容的、Optimistic Rollups 方案,因此在我们发布后就看到了非常高的链上活跃度。
Jason:同时在因为当然我们在上线之后,可能因为这个技术栈比较初代,所以可能当时遇到了一些扩容上的一些问题,比如说在 22 年的 6 月份奥德赛的时候,因为 gas 的话会因为吞吐量的不足,所以导致 gas 的上升会比较多,我们也注意到这些问题。因此,也就是在同年, 22 年的 8 月 31 号上线了我们的第二代技术-Arbitrum Nitro,第二代技术栈我们是直接在第一代的主网升级得来,在 nitro 的主网上线之后,我们的吞吐量大概比之前过扩展了七倍。比如现在基于 nitro,现在我们的最快的每秒出快时间大概是 0. 25 秒一个块,然后每个块的最大的 Limit 是 3200 万个 gas,这个的话基本上是目前 EVM 里面能够达到的一个非常大的一个数量级了。
Jason:其实这个最好的一个例子是在上个月,我们的这个 token cLaim 的时候,那个时候的话,其实我们的这个 EVM 的这个吞吐量 TPS 是已经达到三位数了的,而且我们的主网没有发生任何网络宕机情况,就是我们的 sequencer 还在正常的出快。当时很多用户连不上主要是因为第三方 RPC 无法连接的问题。但是我们的这个 sequencer 的话,其实是非常平稳的在运行,也在不断地在向 L1 发送这个 batch。
Vision:目前整个区块链要承载一个比较大规模的这种用户量,除了要解决这个交易执行的吞吐量难题,同时还有一个大家都普遍关注的一个难题就是状态扩容,如果想在以后的亿万级用户上,让他们在链上持有很多种类型的这种资产以及应用的状态,状态爆炸的这个问题也可能也会出现。想问一下 Jason 这边对状态扩容有什么一个观点?
Jason:首先以太坊他本身也在做状态过期来解这个问题,然后其实包括 Layer 2 的话,我先解释一下L2 的一个机制,其实是我们把这个交易的 DA放在 L1 上面去,然后这个 DA 的话其实就是包括交易的输入和交易的这个顺序。因为大家知道现在 EVM 的话是单线程的一个执行环境,既然是单线程的执行环境,那么我们就可以知道,如果输入和输入的顺序已经知道的话,那么它输出的结果只能是唯一的,这也是为什么L2 能够把 DA 放到L1 ,然后同时就可以直接读 DA 来同步 L2 网络的一个原因,也就是说如果我们在Layer 2 上面的状态和大到一定程度的话,其实是可以引入这些状态过期的,并且这些状态过期之后的话,如果你之后想要查询的话,你可以在其他的一些托管方查询,或者是自己跑一个节点,读取L1 然后重新执行一遍这个DA,就可以重新获得这个状态了。
Jason:这个的话就你就不像其他的这个侧链这些,如果你丢失了侧链的这些区块信息,或者是区块头、区块体这些,没有办法从其他地方同步的话,那就状态的话就会完全失去了。但是因为我们把状态放在 L1 ,而且 L1 的话这个是以太坊的话,由于以太坊的节点已经大到足够的程度,且基础设施提供方多,所以的话是不用担心这个 Layer 1 是无法获取到这个数据的一个情况,所以 L2 的话在未来状态修剪上面的话,会比侧链这些会更具优势。
Vision:接下来一个问题就是目前专注于只做DA,就是数据可行性这方面的 Celestia 采用的就是DAS,就是对数据进行一个抽样进行检验,然后除了Rollup 扩容解决方案以外,还有一个链下的 Validium,在数据可用性上依赖于第三方委员会,然后我了解到的就是 Arbitrum Nova 这边也采用这种 DAC 的这种方式。想问一下 Jason 对 Arbitrum 在一开始这样设计的逻辑,还有一个问题就是会不会因为 community 这边委员会的数量较少,出现一个中心化的问题?
Jason:Nova 的一个技术栈是基于我们的 Anytrust,该技术其实和我们 Arbitrum One 所基于的 Arbitrum Nitro 是同一个 code base,只是就它们两个启动的这个模式不太一样,就同一个 code base 下面的不同的模式。然后对于数据可用性的话,Nitro 是直接把会把这个 DA上传到L1 ,但是 Anytrust 的话,它就会把这个 DA上传给DAC,然后DAC收到这个之后,再给这个数据进行一个签名,颁发一个证书,然后回传给sequencer, sequencer 再把这个证书上传到 L1 上面去。这个是 Anytrust 的一个基本的一个执行逻辑。
Jason:回到刚刚那个问题,就是说 DAC 会不会引入中心化很严重的问题。首先 DAC 的话,我们是一直在不断地扩展我们的这个 DAC 的一个数据,就是一个节点规模的,可以看到我们是现在的 DAC 的话有很多,不仅是Web3 ,还有 Web2 的一些大厂,都有在运行我们的DAC节点。除了这个 DAC 委员会,我们其实还有Mirror 的一个机制,就是说你如果不是DAC,但是如果想要参与到这个网络中,也可以运行一个普通的mirror,这个的话你是可以同步其他 DAC 一些已经存储的数据,然后其他人不仅可以在 DAC 那里获取数据,也可以在 mirror 的这里获取数据。
Jason:这样其实是一个双重保险,避免 DAC 在数据丢失的时候没有办法获得 DA 的一个这种情况,还有DAC将将证书递交给Rollup有个好处就是极大的减少了 sequencer 上传到 L1 的这个 DA 的这个开销。因为现在我们上传的只是需要一个证书,相对于这个 DA 的这个大小的话,其实是非常非常之小的,所以的话也可以极大的减少这个 anytrust 这个机制下面网络的 gas 计费。同时如果其实大家如果关注前两天那个以太坊 GoerLi 的那个测试网的一个情况,就会知道之前以太坊 GoerLi,它是因为出现了一些网络活动,所以导致 goerLi 的那个 gas 费会非常高,在那个时候,其实因为当时 GoerLi 已上面的那个 ETH 已经是有价格了,因为 Layer 0 的那个桥。
Jason:如果当时对比 Anytrust 上面 gas 开销,你可以发现 Anytrust 的开销甚至比当时的一个以太网测试网的这个 gas 消耗还要低。所以的话这就是 Nova 一个极大优势,就是说我们 Anytrust 这个 gas 开销的话是非常非常低,你甚至可以就如果是一笔 eth 的普通转账的话甚至可以达到低于 1 美分的一个价格,这个的话是目前其他的一些网络都没有办法达到的这个价格。
Jason:同时关于 Anytrust,如果在 DAC 作恶的情况下,因为我们有个机制就是 fall back to Rollups,我们可以紧急的回滚到Rollup,就我们发现那个 any trust 里面的 DAC 签名的数量低于了我们的假设门槛之后,网络会停止将DA放入DAC,而是和nitro 一样的机制放入L1 里。
Jason:对比侧链,在如果侧链他们做侧链的那个验证者低于了 66% 或者 51% 的一个安全机制之后,其实就会暴露到一个危险的环境,但是我们的话,它是可以紧接地回溯到Rollups,然后来继续正确地推进这个网面的状态,两者结合下,它不仅降低了这个链的一个 gas 开销,同时也增强了这个链的一个安全性。
Vision:还有一个问题就是目前我了解到的就是像 optimism 解决机制里面, op 推出了基于 op stack 的 Layer 2 Rollup as a Service 这种服务。其实它的设计逻辑就是类似于 Starkex 为其他的应用方,比如游戏或者是 sociaLfi 这种项目方定制一个 DApp chain 类型的服务,Arbitrum 在一开始设计的时候将 Arbitrum one 和 Abitrum Nova 生态属性也进行了分离,One 是负责了像 defi 和其他的链上的衍生品服务,Nova 是瞄准了游戏或者是 sociaLfi 这方面。想问一下,比如说我们当初当时在设计这套逻辑的时候,是否也考虑到RaaS的这么一个方向?然后对未来的 roLL up as a service,或者是专门制定这么一个生态应用链的方向又是怎么看待的?
Jason:其实关于这个问题,我们在上个月,也就是 3 月份的时候就已经重新更改了这个我们 Arbitrum 的一个授权机制,也就是说在之后,大家可以无许可的在 Arbitrum 上部署新的Layer 3 网络,该L3 网络你可以通过选择 Nitro 的方式部署,也可以通过选择 Anytrust 的一个方式部署,这些的话都是不需要我们的一个许可就可以直接部署的。但如果要直接部署在 Layer 1 上面的话,也就是说部署一个新的 Layer 2 的话,是需要向我们 Arbitrum 的DAo 进行一个申请,然后需要经过DAo 批准来运行的。
Jason:这样一来,大家可用在我们之上部署 AppLication Rollups,也可以很好地让自己的AppLication Rollups 捕获到 Arbitrum 以及 Ethereum 的生态价值。
Vision:考虑到整个 Arbitrum,目前生态内就是各个项目龙头主要是 defi 类的项目,包括比较出名的项目 GMX 和 RDNT 这种,所以目前整个的链上活动也主要集中在 Arbitrum One 这边,想问一下就是相比于 one, nova 这边有没有什么可以体验的一些好项目,目前整个的 gamefi 和 sociaLfi 这边的用户的留存度不是特别的高,想问一下 Jason 对 Nova 承载 gamefi 和 sociaLfi 的用户留存上持有一个什么样的观点?
Jason:OK,因为我是在这边时做技术的,所以的话生态的话我可能就不是这么专业,这我可以从技术上来回答一下。就其实刚刚我刚刚已经提到 Nova 的话,它是一个主导的一个 低 gas 价格的一个执行环境,其实正好就符合了一些高吞度量 Gamefi 的一些需求。因为在 Nova 如果有一些DApps 需要高吞吐量,因为每次交易都需要付 gas,因此也是对 gas 价格越低越好,因此这也很好的契合了其需求。
Jason:同时的话,就比如说你刚刚说的这些 Nova 上面的一些生态的话,其实可以到我们的那个 portaL (https://portaL.arbitrum.io/nova)上面去查询,我们 portaL 上面记录了现在一些Nova 上面比较火的一些生态应用,然后也有一些 gamefi 这些,所以这里还是建议大家去我们的 portaL上看比较好。
Vision:最近了解到前一段时间 3 月 24 号左右, zkSync era 主网上线了,但是他们的 Matter Labs 称目前整个的 zk-Layer 2 的 sequencer 还是不够去中心化,然后加上前段时间也了解到 Starkware 的一个开发者,他用了波卡那边的 substrate 创建了一个去中心化的 Starknet sequencer。想问一下 Arbitrum 目前在排序过于中心化这方面有什么样的一个观点?然后以及在解决这个问题上有什么样的方式?
Jason:首先的话,这个排序中心化其实和其他的一些节点中心化所带来的问题是不一样的。排序器它是没有作恶的一个能力的,因为排序器它只是简单的把这个交易打包起来,然后上传到 L1 里,你排序器是没有办法对状态进行一个签名,或者是对状态进行一个什么保证的,他只是简单的把交易聚合起来,然后把交易排好序之后把排好序的这些交易然后同步给网络中的其他的全节点以及上传到L1 。
Jason:也就是说 sequencer 它所广播的一个交易是没有对这个交易的最终一个状态进行广播的,它是不会阐述任何主观的一个意见的,只是简单的对这个交易进行一个排序,然后很多人可能就会说,如果排序的时候对这个交易进行什么审查,或者是故意拒绝一些交易进行上面的话,当然这个问题的话我们也是有解决的。
Jason:我们在 L1 上面同时还开了一个 deLay 的 inbox,在 deLay 的 inbox 里面的话就加入了一个功能,就是说你可以直接在 deLay 的 inbox 里面发送 L2 的一个交易,就当你发现 排序器在审查你的交易,或者是在故意拒绝或者是故意对你的交易进行 MEV 的一个情况下的话,你是可以通过那种方式来把你的交易打包进 L2 的,这样的话你就可以避免了 sequencer 进行一些潜在的一些作恶的一些机制。所以的话这里可以看到如果 sequencer 作恶的话,最多是使这个交易被审查,但这个被审查的话也是有一个机制来进行一个避免的。
Jason:所以 sequence 的一个中心化的一个问题并不是说像其他的网络的这个中心化的问题一样,可能会危害网络的安全,它其实是并没有的,就这些的话它都是有这些解决方案的。当然我们也会对去中心化的 sequencer 进行一定的探索,其实除了这一点的之外,我们还会对这个验证者的安全性进行推进。因为相比 sequencer ,可能验证者中心化的安全隐患会更大一些,因为验证者的话他是会对状态进行一个质押保证的,而这个状态的话其实就是在 L1 上面记录的 L2 上面的这个状态,这个状态是可以直接被 bridge 合约读取,然后以此进行一个 L2 到 L1 的资产跨出的一个处理。这也是为什么我们也正在对验证者的去中心化进行推进。
Vision:最后一个问题就是在完成整个的一个生态激励之后, arbitrum 是否会在未来新的一年还有什么能让大家在技术上值得期待的规划,可以详细再阐述一下技术上的roadmap。
Jason:好的,其实不用等 2024 年,在今年年底我们就会即将推出 styLus 这个技术,是我们把 Wasm 也加入到这个虚拟机里面来执行的。并且加入 WASM 之后,你可以通过 WASM 的方式,也就是你可以通过 C 或者是通过 rust 的方式部署部署你的合约,然后同时你使用这些语言部署的合约话,它和 EVM 部署的合约都是共享的同一个状态树。如果合约通过WASM 的形式部署的话,效率可以提升到现在的 10 倍。如果你的使用 EVM 并且现在有用一些Library,或者是用一些其他的一些组件的话,也可以放弃现在的组件,然后通过 WASM 的一种方式来部署新的组件,在这个合约里面进行一个重新调用。
Jason:这也是我们一直在提到的一个 EVM pLus 的一个战略,就是说在以后的话,我们就不仅能够完美的兼容EVM,还同时还可以支持一些EVM以外的功能,然后使得我们的可扩展性更高,用户体验度更佳的一个情况。然后在同时在上线之前的话,也就是不久之后,我们也会部署一个新的一个devnet,就是开发者网络,然后供开发者进行一个体验。
Jason:区块链想要接入下一个量级的用户规模,就必须要支持下一个量级的开发者来进入你的生态。然后其实现在很多很多 Web 3 邀请 Web 2 的话,加入现在的 Web 3 的一些开发者不习惯 soLidity,但通过WASM 方式就可以使用他们现在一些已经熟悉的一个语言来进行这个合约的编写,这样的话我们也能承载更多的开发者,也同时兼容了目前Web3 的开发者。
Vision:OK,感谢 Jason。今天既对 Arbitrum 某一些问题进行了解答,而且对区块链 Medura Oriented 的这个方向的比较重要的一些问题进行了解答。