WAGMi Ventures以太坊生态专题(一)5分钟了解Arbitrum发展历史与未来方向

作者:0xMoonda

随着DeFi与NFT的普及,以太坊在过去几年中已发展成为加密经济的主要结算层。但受区块链本身属性限制,其单次可处理的交易数量是有限的。在链上交易极度活跃的情况下,用户之间为了争夺有限的区块空间经常使网络陷入拥堵的状态。大大降低用户的体验 —— 高昂的gas费用与长时间的pending交易。为解决上述问题,以太坊社区采取了链上与链下扩容的方法。从2021年开始,开发者们开始将焦点转向链下 —— 在以太坊网络的基础上创建L2 rollups,Arbitrum就是一种这样的L2 rollup技术。

Arbitrum是如何解决以太坊扩容问题的?

Arbitrum网络主要由两类节点组成:batchervalidator。两类节点共同与以太坊主网交互,以维持独立链的状态,这条独立的链被称为L2。batcher负责记录用户在L2中的交易并将数据提交至L1。validator负责读取 L1中的数据,处理交易并更新L2的状态。随后validator会将更新后的L2状态数据发布到L1,这样其它节点就可以对新状态的有效性进行验证。整个过程大致如下:

· 用户将L2的交易发送至batcher,常被称为sequencer;

· sequencer在收到足量的交易后,会将数据打包并发送至L1;

· validator会读取L1合约中的交易并对在L2状态下的本地副本进行处理;

· 处理完成后会在本地生成新的L2状态,validator将新stateRoot发送至L1的合约中;

· 其它validator开始处理同批处于L2状态下的本地副本;

· validator将L2 stateRoot的结果与发送至L1合约中的原stateRoot进行比对;

· 如果validator获得的stateRoot与发布至L1的stateRoot不同,那么validator会在L1中发起challenge;

· challenge要求challenger与发布原stateRoot的validator轮流证明正确的stateRoot是什么;

· 无论哪方输掉challenge,其质押都会被削减。若原L2的stateRoot无效,则会被下一个validator销毁,不会保存至L2中。

batcher与L2交易数据

batcher使用两种不同的L1合约发布数据,一个是“delayed inbox”,另一个是“sequencer inbox”。任意节点都可以将交易发送至delayed inbox,只有sequencer可以将交易数据发送至sequencer inbox。sequencer inbox从delayed inbox中提取交易数据,并将其与sequencer提交的其它L2交易混在一起。因此,sequencer inbox是每个validator提取最新L2交易数据的主要合约。 batcher的类型分为三种:forwarder、aggregator、sequencer。用户可将L2的交易发送至三种类型中的任意一种。forwarder将L2交易发送至另一节点的指定地址。aggregator地址作为指定的节点既可以是sequencer也可以是aggregator。

aggregator接收传入的L2交易并将它们分批处理成单个信息发送至delayed inbox当中。Sequencer也会接收传入的L2交易并将它们分批处理成单个信息,但它会将信息发送至sequencer inbox。如果sequencer停止向sequencer inbox发送交易,那么任意节点都可以通过智能合约调用要求sequencer inbox中包含来自delayed inbox的交易。这样既可以保证Arbitrum网络的可用性,同时又可以抵抗恶意sequencer。目前,Arbitrum在主网运行的是自己的独立sequencer,未来计划将sequencer实现去中心化。

本质上来说,batcher的任务是将L2交易数据提交至L1。一旦这些交易在L2中被处理并生成新状态,那么validator也必须将该状态数据提交至L1。

validator与L2状态数据

使validator提交与存储L2状态数据的一系列智能合约被称为rollup。rollup的本质是由不同区块连接而成的链,也就是说rollup其实就是L2。值得注意的是,在Arbitrum的代码库中会将这些组成链的区块称为“节点”。为了防止与上面的validator与batcher混淆,在下面的阐述中会将rollup的“节点”用“区块”表示。

由于单个区块中包含L2状态数据的哈希值,所以validator可以从sequencer inbox中读取数据与处理交易,然后将更新后的L2状态数据哈希提交至rollup智能合约,rollup将会用更新后的数据创建一个新的区块并添加至链中。当validator将L2状态数据提交至rollup智能合约时,validator也会明确说明当前链中的哪个区块是新区块的父区块。

为惩罚提交无效状态数据的validator,流程中引入了质押系统。为了可以向rollup提交新的L2状态数据,validator必须进行质押,他们必须存入一定数量的ETH(或者根据rollup的要求存入其它代币)。这样的话,如果恶意validator提交了无效的状态数据,其它validator可以对该区块发起challenge,恶意validator就会失去质押物。

当validator成为staker后,可以在不同的区块上进行质押,质押规则如下:

· staker必须在他们创建的任意区块中进行质押;

· 多位staker可以在同一个区块上质押;

· staker不能在两个不同的区块路径上进行质押。 当staker在新区块进行质押时,新区块必须是之前所质押的区块的子区块(除非是staker第一次质押);

· staker在新区块上进行质押时无需增加新的质押物;

· 若某一区块在challenge中失利,那么所有在该区块上有过抵押的staker或者该区块的子区块有过质押的staker的都会失去抵押物。

若某一区块满足以下所有条件,那么该区块则将会永远被L1接收且不会重置:

· 区块创建时间超过7天

· 没有被其它区块challenge

· 至少有一位staker在其上进行质押

若某一区块满足以下所有条件,可以被销毁:

· 其父块比最新确认的区块存在时间更长(最新确认的区块在另一分支上)

· 有staker在其兄弟区块上进行质押

· 无staker在此区块质押 ·自区块创建之日起超过7天

validator的类型

每个validator可以使用不同的策略来保证网络安全。目前网络中支持三种类型的验证策略:Defensive、StakeLatest、MakeBlocks(在代码库中被称为MakeNodes)。Defensive validator负责对rollup中的区块进行监控,寻找分叉或冲突的区块。一旦检测到分叉,validator会切换至StakeLatest策略。因此,如果没有存在冲突的区块,Defensive validator也不会有任何质押。

如果区块中包含有效的L2状态数据,StakeLatest validator会在rollup中的现有区块上进行质押,并且会尽可能会在链中最正确的区块上进行质押。StakeLatest validator通常不会创建新区块,除非识别出包含错误状态数据的区块。在这种情况下,validator会创建一个包含正确数据的新区块并在新区快上进行强制质押。

MakeBlock validator也会选择在rollup中最正确的区块上进行质押。但即便是在没有无效区块的情况下,MakeBlock validator若在链的末端进行质押时也会创造新的区块,它们是负责用新的状态数据推进链发展的重要角色。

L1的交易与状态数据存储

交易数据存储

综上所述,aggregator与sequencer接收L2的交易并将其提交至L1的delayed inbox与sequencer inbox中,将数据提交到L1在L2的费用占有很大的比例。aggregator接收用户在L2中的交易,将calldata压缩至字节数组,然后将多个压缩的calldata组合成一系列的字节数组(这些数组被称为批量交易)。最后,aggregator将批量交易提交至delayed inbox。delayed inbox将批量交易进行散列处理并将哈希保存至合约中。sequencer与aggregator的工作流程类似,但sequencer inbox中还必须包含delayed inbox中消息数量的数据。该数据是sequencer inbox保存至合约中的最终哈希值的一部分。

状态数据存储

MakeBlock validator从sequencer inbox中读取与处理L2交易后,会将更新后的L2 状态数据提交至rollup智能合约。然后rollup智能合约对状态数据进行散列处理并将哈希保存到合约中。

检索交易与状态数据

即便只有交易哈希与状态数据保存在合约当中,其它节点也可以通过检索从以太全节点提交至L1的数据的交易calldata来查看原始数据。发送至delayed inbox或sequencer inbox的交易calldata包含所有经过aggregator与sequencer批量处理的L2交易数据。发送至rollup的交易calldata中包含了所有与L2相关的状态数据,对于validator来说有充足的时间来判断它们是否有效。为了使查询交易更加便捷,智能合约会向以太坊日志发送一个事件,允许任何节点可以检索L2交易数据或状态数据。

由于智能合约只需在其存储中保存哈希而非完整的交易或状态数据,因此节省了大量的gas。Rollup的主要成本来自将此数据存储至L1当中。因此,这种存储机制可以大幅降低gas费用。

Arbitrum的技术更新与进展

Arbitrum Nitro

Nitro是对Arbitrum的重大升级,在以下几方面进行了改进:

· 优化calldata的压缩方式:减少发布至L1的数据量从而降低在Arbitrum的交易成本;

· 将常规执行与错误性证明隔离:提高L1的节点性能,减少gas费用;

· 与以太坊L1的gas兼容:使EVM操作的定价及核算与以太坊完全一致;

· 增加与L1的互操作性:如与L1区块编号更加紧密地保持同步,支持对以太坊L1进行预编译;

· 保证retryable ticket的安全性:消除无法创建retryable ticket的故障模式;

· Geth追踪:支持更大范围的调试。

Arbitrum Nova

Nova是基于AnyTrust技术开发的新链,与EVM完全兼容,通过将数据发送至DAC(Data Availability Committee)的方式大幅降低成本,只有在DAC未能完成处理的情况下才会将退回的数据放到链上。Nova在处理交易数据的过程中添加了最小的信任假设——假设至少有两名DAC成员是诚实的。它用将数据与DAC进行共享的方式来替代由sequencer批量处理与发送calldata到L1的方法。DAC为批量交易签署数据可用性证书(DACerts),只有证书会被发送到L1,这样就大幅降低了对L1存储空间的要求。为保证数据的可用性,DAC负责运行数据可用性服务器(Data Availability Server),开放REST API允许通过哈希来获取数据批次。因此,Nova是为游戏、社交以及一些对gas成本较为敏感的应用而设计的。

Arbitrum Virtual Machine(AVM)

由于Arbitrum的L2交易不在L1中执行,所以不必遵循与EVM完全相同的规则进行计算。因此,Arbitrum团队构建了自己的虚拟机Arbitrum Virtual Machine(AVM)。AVM与EVM非常相似,目的是支持EVM编译智能合约的兼容性,但也有不同。区别是AVM必须支持Arbitrum的challenge。challenge要求交易执行的步骤必须是可证明的,所以AVM引入了代码点。当代码执行时,指令保存在一维数组中,程序计数器指向当前指令。使用程序计数器是为了找出哪一条执行指令需要对数时间,然后其将时间复杂度降低至恒定时间。数组中的每条指令都有代码点,这样AVM可以立即显示出在程序计数器上正在执行的指令。代码点虽然增加了AVM的复杂性,但Arbitrum系统只有在需要对交易执行进行证明时才会使用。一般情况下还是会使用普通的程序计数器。

ArbOS

ArbOS是Arbitrum的操作系统,负责管理与跟踪代码执行期间所使用的智能合约资源。ArbOS有一个账户表,用于跟踪每个账户的状态,还为参与rollup协议的validator运行资金模型。AVM的内置指令提升了ArbOS运行及其跟踪资源的性能。AVM对ArbOS 的支持使ArbOS可以在L2中运行某些规则,不一定非要到L1中去执行,因为任何从L1到L2的计算都会花费大量gas,这样可以节省大量成本。

Arbitrum生态发展数据

协议收入

该数据衡量的是用户在一段时间内支付总交易费用的美元价值。自8月完成Nitro升级之后,Arbitrum的协议收入为升级前的2倍,达到4万美元。10月末迎来高峰至7.5万美元。目前受宏观经济与FTX事件影响回落至3万美元左右,下降约60%。

独立地址

自主网上线以来,Arbitrum的独立地址数增长显著。进入10月日均新增地址为6000左右;11月后日均新增地址突破1万关口,约为10月的2倍,新增最高点在10月24日,日均新增为1.7万,且呈持续上升趋势。

日活跃用户

9月至10月间,Arbitrum的活跃用户数维持在3万左右。进入10月后出现爆发式增长,推测主要与搏取空投交互相关。近几日达到年内高点日活跃用户数超6.4万。

TVL

进入9月Arbitrum的TVL一直在9.3亿美金上下浮动,11月8日达阶段性高点超10亿美金。FTX事件发生后之后下跌至8.9亿美金,目前处于回升状态。

链上应用

Arbitrum生态中TVL排名前十的应用分别是:GMX、Stargate、Uniswap V3、Curve、Sushi、Synapse、AAVE V3、Radiant、Vesta Finance、Beefy。值得注意的是,GMX的TVL占前十位应用总TVL的48.73%,达3.94亿美元。GMX是一个现货与永续合约交易的DEX平台,聚焦于衍生品业务,前身为BSC上的Gambit,后迁移至Arbitrum同时支持Avalanche。

跨链

目前,使用Arbitrum进行跨链的用户约为45.4万人,跨链总金额为198.7万枚ETH(按市价折算约为23亿美元);截止至11月21日,7日内存款人数为2万人,7日内跨链总金额接近2万枚ETH。与其它L2协议Optimism、zkSync、StarkNet相比,除Optimism在7日内存款人数为10万之外,其余三个维度的数据均处于领先位置。

Gas

从gas费用来看,Arbitrum在众多L2协议中转账费用排名第三,比以太坊L1的转账成本低了93%。Swap的费用在L2协议中排名第二,比在以太坊L1进行swap的成本低96%。(注:下图中所显示的费用是浮动的,但变化幅度相对较小)

NFT

以Opensea为例,30天内Arbitrum中排名前5的NFT总交易额为1025 ETH,比同为L2扩容方案的Optimism高出103%。NFT最高地板价格为0.38 ETH,是Optimism生态中 NFT最高地板价格的38倍。

Arbitrum未来展望

综上所述,Arbitrum很好的继承了以太坊的DeFi基因,众多DeFi OG项目迁移至Arbitrum进行持续建设,它们的存在为生态带来了稳定的用户基础;Arbitrum与以太坊L1保持高度兼容,支持任何EVM语言为开发者带极大便利,同时可以共享以太坊生态庞大的开发者社区资源;比以太主网低超90%的gas增加了用户对链上交易的接受度,以上几方面为孕育DeFi创新应用创造了一个包容度很高的环境。其次,为适应游戏与社交的高频交互需要Arbitrum开发了新链Nova作为解决方案,与其DeFi生态隔离开也是一次不错的尝试,不过与Polygon目前已经相对成熟的游戏、社交生态相比还存在一定差距。从这个角度看,未来Arbitrum在DeFi层面的发展更加值得期待。

*本文以上内容均为观点阐述,非投资建议。

Subscribe to WAGMi Ventures
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.