# 以太坊生态专题（一）5分钟了解Arbitrum发展历史与未来方向

By [Moonda](https://paragraph.com/@moonda) · 2022-11-28

---

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

> Arbitrum是如何解决以太坊扩容问题的？
> ----------------------

Arbitrum网络主要由两类节点组成：**batcher**与**validator**。两类节点共同与以太坊主网交互，以维持独立链的状态，这条独立的链被称为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中。

![](https://storage.googleapis.com/papyrus_images/e3a4171ec7ce43f26dd17ccfb0cdafed3b57bd40884e3f74354a77261e051662.png)

**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实现去中心化。

![](https://storage.googleapis.com/papyrus_images/0cd7dc8d9fcf48e87c5fcbff73c4c5cd4988a78e4187cfe51df03e3794e622c9.png)

本质上来说，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若在链的末端进行质押时也会创造新的区块，它们是负责用新的状态数据推进链发展的重要角色。

![](https://storage.googleapis.com/papyrus_images/17444d49073255daf7c3f50c960c91589ff66c6376638e9cbc2da7f29ac17369.png)

**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保存至合约中的最终哈希值的一部分。

![](https://storage.googleapis.com/papyrus_images/4576c8265a032fac621c6d0c2f74cddc77d55e5c65999a0dc35ffe0dea99b4d8.png)

**状态数据存储**

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

![](https://storage.googleapis.com/papyrus_images/c5191330df74b8aab184ca1007b051fa718627620292890bbbe9c1d322843ae0.png)

**检索交易与状态数据**

即便只有交易哈希与状态数据保存在合约当中，其它节点也可以通过检索从以太全节点提交至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%。

![](https://storage.googleapis.com/papyrus_images/3542b8294e8d2b8431cce079a0d4fd270585678e4fdac24c8c866fdd66ee1fc8.png)

**独立地址**

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

![](https://storage.googleapis.com/papyrus_images/1c5bba6d0809d2556374f8b23ef9f4c35ed8b95d36cb592e48b50b63f6ee092b.png)

**日活跃用户**

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

![](https://storage.googleapis.com/papyrus_images/ef1a8542f77f7f81c87d5dad1a6d63ab13750b94a011c4f3d3fa325085067d55.png)

**TVL**

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

![](https://storage.googleapis.com/papyrus_images/db679da37a43666af0bd48ff1c2cc157372eb20624c19cdc51fc4798eaefc244.png)

**链上应用**

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。

![](https://storage.googleapis.com/papyrus_images/da195bf785d2ff3241a7420e27cc99411ea8a92a43ed04ec0f36e829d7e259d0.png)

**跨链**

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

![](https://storage.googleapis.com/papyrus_images/4a79a1bd239029acb8fd76b5cf5a86220fa50636d2cbec77a5f8c3a0d8820720.png)

**Gas**

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

![](https://storage.googleapis.com/papyrus_images/bdef47192200f095eec8a304bec2206cec5ad983bc7ee9b21afd650a2fdcdcc8.png)

**NFT**

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

![](https://storage.googleapis.com/papyrus_images/04322ecde1e5427ac07de497ae3397160c7cb8c152ff297104fcee0f52ba814a.png)

![](https://storage.googleapis.com/papyrus_images/2824a4591696294e288c27d18295c0e15c7cc98c69580ece9987e119eae1a8e2.png)

> Arbitrum未来展望
> ------------

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

---

*Originally published on [Moonda](https://paragraph.com/@moonda/5-arbitrum)*
