下个月,Tracer将在?Arbitrum?上部署其永续掉期产品。本文将帮助你深入理解Arbitrum背后的机制,以便你在L2环境中通过Tracer交易时获得更好的体验。
架构摘要
由于Arbitrum是针对以太坊L1的L2可扩展性方案,Arbitrum的架构有部分在L1上,有部分在L2上。
Arbitrum在L1上的组件是EthBridge,由一组以太坊合约构成。
EthBridge负责对ArbitrumRollup协议进行仲裁,以及维护Arbitrumrollup在以太坊链上的收件箱和发件箱。
用户、L1合约和全节点可以通过以太坊链上的收件箱和发件箱将其交易发送至Arbitrum链,并观察这些交易的结果。
Arbitrum虚拟机是EthBridge提供的功能,是L1和L2之间的网关。
AVM能够读取输入,并基于这些输入执行计算,从而产生输出。
ArbOS运行在AVM上,确保智能合约在Arbitrum链上执行。
ArbOS完全存在于L2上,并像在以太坊上一样运行EVM合约。
-Arbitrum架构图-
ArbitrumRollup协议
收件箱内消息的顺序决定了交易的结果。
因此,任何查看收件箱的人都能知道交易的结果,只要亲自执行这些交易即可。
ArbitrumRollup协议负责确认已经发生的交易的结果。
参与协议的用户被称为验证者;如果验证者在质押合约中存入ETH,就会变成质押者,可以给Arbitrum链上的区块押注。
成为验证者和质押者都无需经过许可。
在安全性方面,只需要一个诚实的验证者来确保Arbitrum链正确执行。
这使得Arbitrum链具备与以太坊链相同程度的免信任性。
Arbitrum假设至少有一位验证者是诚实的。
ArbitrumRollup协议作用于ArbitrumRollup链。后者是一条由Rollup区块组成的链,独立于以太坊链。
验证者的职责是提议新的区块并将其添加到Arbitrum链上。
每个被提议的区块最终都会被协议确认或拒绝。
每个区块都包含多个字段。除了区块号字段之外,每个字段的数据都是区块提议者的断言,但不一定是正确的。
如果有任何断言字段不正确,协议最终会拒绝该区块。
凡是被提议的区块都有确认期限。
反对某个区块的验证者应提议正确的区块。成功提交欺诈证明的诚实验证者会获得奖励。
质押
要想将某个Rollup区块添加到链上,质押者必须押注该区块。
质押是无需许可的,任何人都可以押注任意区块。
一旦你押注某个区块,在该区块被确认之前无法取回押金。
一旦你押注某个区块,即表明你认定这个区块是正确的,且认定最新确认区块到你所押注的区块这段链上的每个区块都是正确的。
如果你押注的区块不正确,或最新确认区块到你所押注的区块这段链上的某个区块不正确,你的押金就会被罚没。
如果你不想押注某个区块,你可以押注最新被确认区块。
如果你押注了某个区块,可将押注延伸至跟在该区块之后的任何区块。
所需质押量是动态的。
Arbitrum链上有一个指定的基础质押量参数,在大多数情况下都会用到。
为了防止攻击者不惜牺牲押注也要拖慢网络的情况,质押量会乘以一个随超时时间呈指数级增长的因子。
这是为了增加这类攻击在攻击期间的成本。
这种质押翻倍是暂时的,只会在Arbitrum链的区块确认进程缓慢时发生.
挑战协议
当两个质押者押注不同的区块且这两个区块之间没有继承关系时,他们会在某个区块上产生分歧,从而引发挑战。
挑战主要发生在Arbitrum链上,由L1合约裁决。
挑战包括一个在L2上进行的交互型多轮切分游戏和一个在L1上执行的单步证明。
如果有质押者对某个区块提出争议,提议该区块的质押者将作为“被告”捍卫自己的断言。
“被告”质押者声称,以上一个区块为起点,在虚拟机执行N个指令之后,上一个区块的状态将推进至其所提议的区块的状态。
在切分游戏中,作为“被告”的质押者为先手,将N个指令切分成K段,每段的大小是N/K。
请注意,每段Arbgas消耗量相等,但步骤数量上不一定相等。
还要注意的是,每段都有一个起点和一个终点。
作为“原告”的质押者同样将N个指令切分成K段,并将它们与Alice的切分段一一对应,发现其中一个切分段的终点与Alice的不同。
数据:持有1枚ETH以上的地址数量达到一个月高点:金色财经报道,据glassnode数据监测,持有1枚ETH以上的地址数量达到一个月的高点,为1,563,050个。[2022/9/8 13:15:15]
Bob实际上是在找出他不认同的切分段。
接着,Bob会执行Alice最初的操作,将有争议的切分段再切分成K个子段,然后将这个切分段连同子段一起发送给Alice。
Alice执行Bob最初的操作,找到终点不同的那个子段。
切分流程继续下去,直到Alice和Bob找到他们产生分歧的那一个指令为止。
这个指令被发送给L1合约,并由后者执行它,然后决定这场争议的“胜诉方”。
“败诉方”将失去质押物,一部分质押物将被销毁,其余则奖励给诚实的“胜诉方”。
在整个切分流程中,作为裁决方的L1合约不知道任何关于指令的信息,只负责核实双方是否遵循游戏规则。
在争议期间,其他所有验证者都能在争议敲定之前自行断定争议的结果,这就意味着会发生软分叉,且验证者可以继续在正确的链上提交Rollup区块。
挑战期有一个强制的期限,即,每个质押者大约一周时间。
每个质押者必须在一周的限期内完成自己的任务,否则就会“败诉”。
就像棋赛计时器那样。
-上图显示了两位质押者在争议期间进行的多轮交互式切分游戏。实际上,有争议的断言包含的指令远比上图所示的更多,因此游戏的轮次也更多,但原理是一样的-
验证者
验证者是Arbitrum链上的节点,负责监控该Rollup协议的活动并推进整条链的状态。
并非所有节点都是验证者。
OffchainLabs预期验证者会采取主动、防守或观望策略;协议不会强制他们采取哪种策略。
“主动型验证者”会通过提议新的区块来持续推进链的状态。每条链上只需要一位诚实的主动型验证者;主动型验证者的数量增加并不会提高整条链的效率。
“防守型验证者”监控Arbitrum协议,只在发现不诚实行为时采取行动:要么自己提议一个正确的区块,要么押注其他验证者提议的正确的区块。
“观望型验证者”虽然也像防守型验证者那样监控Arbitrum协议,但是就算发现了不诚实行为,他们也不会提议或押注正确的区块,只会向其他验证者发出告警。
Offchainlabs会在他们的旗舰Arbitrum链上运行主动型验证者节点。
大多数时候,防守型验证者和观望型验证者不需要做任何事,因此攻击者永远不知道有多少防守型验证者。
虽然任何人都能成为验证者,但是根据预期,选择成为验证者的主要是那些在链上质押了大量资产的人,或他们雇佣的人。
全节点
Arbitrum链上的全节点与以太坊上的全节点作用相同,负责追踪链的状态,让其他人与这条链交互。
全节点内置AVM模拟器。因此,在全节点看来,Arbitrum链就是根据输入计算输出而已,无需了解实际的rollup协议。
全节点可以充当链上聚合器,帮助用户提高成本效率。
Arbitrum还通过某个设施从用户处收集费用来补偿全节点充当聚合器的成本。
全节点还可以通过压缩交易来进一步降低L1调用数据成本。
全节点将被压缩的交易提交至收件箱,arbOS收到该交易后会对其进行解压缩。
全节点通常会将压缩和聚合合二为一,即,提交一批经过压缩的交易至收件箱。
定序器模式
当Arbitrum链启动时,我们可以选择是否启用定序器。
定序器是拥有决定收件箱中交易排序特权的全节点。
该特权可以让定序器即时保证交易的结果。
如果Arbitrum链启用定序器,收件箱会分成两部分:
第一个收件箱会正常运行,仿佛定序器不存在一样,即,节点可以向该收件箱发送带有区块号和时间戳标记的消息。
第二个收件箱将由定序器控制,只有定序器可以向该收件箱发送消息。
在向收件箱发送消息时,定序器可以指定用来标记消息的区块号和时间戳。
这包括到指定增量区块为止的区块号和时间戳和增量秒数。
这些增量值通常相当于现实世界里的10分钟左右。
当arbOS查看收件箱时,会收到带有最低区块号的消息。这个区块号要么是普通收件箱的区块号,要么是定序器收件箱的区块号。
定序器可以回溯的区块数量取决于需要在以太坊上敲定arbitrum区块所需的确认区块数量。
如果arbitrum在以太坊上达成终局性需要等待X个区块,那么定序器就要回溯X个区块,以确定自己当前打包的交易会紧跟着哪些交易得到处理
当定序器模式在Arbitrum链上启用时,提交至定序器的交易会比没有定序器的情况提前x个区块敲定,但是提交至普通收件箱的交易会比没有定序器的情况落后x个区块敲定。
由于即时确定和5分钟确定与5分钟确定和10分钟确定之间存在很大差异,这是一种正向权衡。
但是,恶意定序器能够在一定程度上利用这些特权。
恶意定序器可以通过不把用户的交易放入定序器收件箱来审查它们,迫使用户在发现自己被审查后发送相同的交易到普通收件箱。
定序器还可以抢跑用户的交易。
初始Arbitrum链将启用由OffchainLabs运行的定序器。
CornellTech团队在开发去中心化的公允定序器算法方面已经取得了一些成果,只需要再完成一些研究工作就可以应用到Arbitrum的长期解决方案中。
-收件箱在定序器模式开启/未开启时的差异-
ArbGas/费用
ArbGas的原理与以太坊gas相似,用来衡量Arbitrum链上的计算成本。
但是,Arbitrum链上不设硬性ArbGas上限,而且ArbGas的消耗速度比以太坊gas快得多。
ArbGas的一个关键作用是预测验证计算结果所需的时长。
每个Rollup区块内都包含一个关于ArbGas消耗总量的声明,也就是说当前区块内的声明和前一个区块内的声明之差理应是当前区块的ArbGas消耗量的有效指标。
因此,在检查区块有效性时,验证者可以将这一差值设成gas上限,如果这么多ArbGas在区块执行完之前耗尽,就可以确定该区块是无效的,并成功挑战它。
因为这些交易的数据最终需要上链,用户需要支付费用。
如果该用户将交易发送给聚合器,部分费用会自动支付给聚合器作为补偿。
剩余费用将进入网络的费用池,用来支付保障整条链安全运行的服务费。
费用包含L2交易、L1调用数据、计算和存储成本。
费用以ETH的形式支付。
结论
Arbitrum是OffchainLabs开发的L2可扩展性解决方案:采用多轮交互式挑战协议的OptimisticRollup。
旗舰级Arbitrum链已于5月28日面向开发者开放。一旦这条链上运行的项目到达阈值,就会向用户开放。
从用户的角度来看,Arbitrum链的交互体验与以太坊并无差别。
下个月,Tracer将在Arbitrum主网上部署PerpetualSwaps,欢迎关注Tracer的?Twitter,并加入Discord。
如果你想更深入了解Arbitrum,请参阅这篇文档。
原文链接:
https://tracer.finance/radar/arbitrum-in-under-10/
作者:?NickCrow
翻译&校对:?闵敏&?阿剑
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。