本文写作于21年7月,可能项目有新进展,但基本逻辑不变,可以参考。
投资概要
Arbitrum 是在 Optimistic Rollup 框架上进行改进的二层扩容方案。
探讨二层扩容方案时,主要涉及 3 个方面:1)安全性;2)性能;3)生态发展。
Arbitrum 的安全性是相对较高的,其安全性主要来自:
- Rollup 的安全性根植以太坊,用户资金是存储在 L1 的合约中,在数据正确的情况下,用户可以强制退出网络,而任何人都可以检查网络状态是否正确,因为链下数据会压缩上传并存储在一层(以太坊链)的数据负载区;
- Arbitrum 通过挑战机制保证链的安全性,即网络中只要存在 1 个诚信的节点,就可以对错误数据进行挑战,保证网络正确运行;
- Arbitrum 还引入了质押机制,在有人发起挑战的情况下,作恶者必须对错误数据进行质押,从而增加了作恶成本。
但需要注意的是,网络目前或一开始运行会采用中心化运行,关键节点都由团队运行,因此可以保证较高的安全性。但在网络去中心化的情况下,需要有合理经济激励保证一定会存在诚信的节点在网络发生错误数据时发起挑战。目前设定是挑战对方的 50%质押金,(非生产环境)质押金参数暂设定为 1 ETH 或网络锁仓量 20%(后续可能会更改参数),奖励是否有足够的吸引力还需要观察网络后续状况。
性能方面,Arbitrum 可以同时处理多个争议,争议结束后再对错误的数据进行修剪,攻击者只能延缓网络运行速度,但不影响网络的正常运行,而非对历史数据进行回滚,提高了网络的运行速度。同时,Arbitrum在Gas费用和运行速度方面做了权衡,Arbitrum 的挑战是在链下进行,挑战者和被挑战者需要进行多轮次交互,过程相对复杂,因此争议处理的时间可能相对较长,但发起挑战的节点只需要将最终争议点和一步式证明发送到链上进行验证,减少了上链的数据量,从而减少 Gas 费用。
生态发展方面,影响生态发展的因素主要是:
- 开发进度快带来的先发优势。Arbitrum 已经发布主网,允许开发者进行预部署,属于 Rollup 方案中进度较快的方案,能够获得一定先发优势。受此因素影响,DEX 龙头 Uniswap 通过社区投票宣布部署在 Arbitrum 上,除此之外,Sushiswap、Bancor、Balancer、 DoDo 等 DEX 也将部署在 Arbitrum 上。Chainlink、the Graph、Metamask 等基础设施也已支持 Arbitrum。
- 兼容 EVM 对开发者部署的便利性和 Dapp 可组合性。Arbitrum 的 AVM 兼容 EVM,部署在 Arbitrum 上的 dapp 具备可组合性,与目前的以太坊生态高组合性的特性更适配。头部 DeFi 应用能为 Arbitrum 带来较多用户和流量,具有较大的发展空间。
同时,二层扩容竞争非常激烈,Uniswap 等 Dapp 同时在 Optimism 部署了合约,从这种迹象来看,部署在 Arbitrum 链上的 Dapp 可能是多链部署战略,或有迁移到其他二层的风险,如果 Arbitrum 的生态没有头部应用或更高的组合性,带来的流量可能也比较有限。
Arbitrum团队为Offchain Labs,大部分成员都来美国高校,包括普林斯顿大学和康奈尔理工学院等,核心成员在矿工可提取价值等方面有比较深入的研究,具有较强的区块链研究背景。Arbitrum原是普林斯顿大学的研究项目,在 2018 年商业化,在 2019 年获得了 370 万美元融资,由 Pantera 领投,Compound VC、Coinbase Ventures 等参投。暂无其他融资信息。
综上,此项目值得关注。
基本概况
项目简介
Arbitrum是基于Rollup技术的二层扩容方案,采用挑战机制保证安全性,其亮点是:1)采用了多轮交互的挑战机制;2)流水线的区块处理方式;3)对赌的质押经济模型。
Arbitrum 团队为Offchain Labs,大部分成员来自美国高校。Arbitrum 目前没有发行代币,链上基础代币暂定为 ETH。
基本信息
成立时间 | 2018 年 |
发行时间 | 代币未发行 |
所属国家/地区 | 美国 |
所属板块 | 二层 |
项目详解
团队
团队共 11 人,核心成员 3 人,2 名高级软件工程师,4 名软件工程师,1 名运营经理,1 名客户经理。
Ed Felten,联合创始人兼首席科学家,普林斯顿大学的计算机科学教授,2015 年至 2017 年间(奥巴马任职期间)担任白宫首席技术官和高级顾问。
Steven Goldfeder1,项目联合创始人兼 CEO,康奈尔理工学院 IC3 博士后,专注安全与隐私、密码学和区块链协议研究,曾发布 20 篇相关论文,近 2 年的论文是关于交易排序、矿工可提取价值等内容。他曾于2017 年出版《比特币和加密货币技术》。学术能力和研究能力出色。
Harry Kalodner,联合创始人兼 CTO,他以博士候选人的身份加入普林斯顿大学,研究方向是加密货币的经济学、隐私性和激励兼容性。
Lee Bousfield,高级软件工程师,曾参与 Kraken 和 Nano 的开发工作,目前负责 Arbitrum 虚拟机开发。
资金
2019 年获得 370 万美元种子轮融资,由 Pantera 领投,Compound VC、Coinbase Ventures、Blocknation、Stone Bridge Ventures 董事 Jake Seid 参投2。
暂时没有获取到其他融资的信息。
代码
代码提交总体比较密集,项目大框架完成后代码提交数略有减少。代码提交和审核人数比较稳定,但作者数量从 2020 年 7 月开始减少,可能与大部分开发工作已完成有关。
技术
Arbitrum 的基础框架是 Optimistic Rollup(简称 OP Rollup),并在此框架上进行了改进,形成了 Arbitrum Rollup。
Rollup是将多笔交易聚合打包,利用一笔链上交易完成,同时将交易数据压缩后提交到主链上保存。Rollup将交易的计算和聚合、数据压缩等过程都放在链下,并且链上可以检验数据,增加了安全性。
OP Rollup 具有一个前提假设,即只要不发起争端就默认数据有效性,因此被称为“乐观Rollup”。但是节点存在作恶的可能性,因此需要检查数据。对于二层网络来说,重点是链下活动具有最终确定性,并且是正确、有效的。OP Rollup 和 Arbitrum Rollup都采用欺诈证明来确保数据有效性,当验证者检查到错误数据时,会提交有效欺诈证明,如果挑战成功,可获得奖励。
Arbitrum Rollup主要的技术亮点:1)流水线的区块处理方式,确保网络出现争端时不会陷入僵局;2)多轮交互的争议解决方式, 减少了链上需要验证的信息,减少了 Gas 费;3)采用质押对赌模型,增加攻击网络成本;4)排序器功能。
1、网络架构:
Arbitrum 整个网络分为一层(L1,以太坊区块链)、二层(L2,Arbitrum 网络)和 L1-L2 中间层。
L1-L2 中间层是指 L1 与 L2 之间的桥接合约,在 Arbitrum 中称为 Ethbridge,这些合约部署在 L1 上,搭建出了 2 层网络,同时支持 L1-L2 之间的数据传输。Ethbridge 系列合约主要包括 inbox 合约(用于存储交易信息)、Outbox 合约(包含 L2 传输到 L1 的信息)、Lockbox 合约(资金存放合约)、Rollup 合约(Arbitrum 链状态)和挑战合约(欺诈证明/挑战机制)。链下活动在运行过程中会调用这些合约。AVM 是 L2 的执行环境,类似 EVM。ArbOS 运行在 AVM 之上,主要实现了 EVM 的模拟环境,类似于编译器,因此 Dapp 开发团队在 Arbitrum 上部署时可以减少大量工作。
网络框架如下:
网络中主要有 3 个角色:
a、用户,发起 L1 交易、L2 交易;
b、聚合节点(Aggregator)或排序器,负责压缩和打包交易,聚合节点和排序器的权限存在一些差别:
c、验证者,积极验证者负责提出 Rollup 区块,消极验证者负责检查区块并在有错误时提出挑战。
我们可以将Arbitrum运行分为3个部分:
a、交易打包、压缩、执行(用户只涉及这部分的内容);
b、Arbitrum 链状态:已提议、接受或拒绝的 Rollup 区块,以及节点质押情况;
c、Rollup 区块/断言争议及仲裁。
网络流程如下:
交易打包、压缩和执行:
①当用户第一次从 L1 发送一笔资产到 L2 时,Arbitrum 链上原生、预编译的地址注册表合约(由 ArbOS 维护和更新)会允许注册一个地址,然后将地址映射到一个索引,可以通过索引检索到地址。用户在 L1 的资金存放在 Lockbox 合约中,L2 会生成相应的金额;
②用户与合约交互或用户之间发起交易,交易会由聚合节点(Aggregator)或排序者(可选)打包和压缩,并将打包的交易作为一个单元传输并存储到 L1 的合约中;
③Arbitrum 系统组件 ArbOS 会同步 L1 合约内的数据并解压,同时验证交易签名、账户余额等信息,验证无误后执行交易。此时交易已经被确定(determined),但不具备最终确定性。
用户支付的费用中有一部分需要支付给聚合节点作为服务费,覆盖聚合节点将数据上传到 L1 的成本。为了防止重复提交同一笔交易, 聚合节点必须确保交易随机数是正确的。每个账户都会设置一个“优先选择的聚合节点”,防止同一笔交易被 2 个聚合节点同时打包。目前优先聚合节点设置为 Arbitrum 团队运行的节点。
排序器是 Arbitrum 中有对交易进行排序特权的全节点,作用类似于聚合节点,即打包和压缩交易,排序器节点最初由团队运行。 排序器的区别在于 Ethbridge 中存在只有排序器有权输入的 inbox 合约。在常规 inbox 合约中,允许任意节点输入,因此交易排列顺序是随机的。而排序器可以排列 inbox 内的交易顺序,因此状态默克尔树的哈希值是确定的,从而可以即时确定交易的结果。
排序器打包的交易可回溯一定数量的区块,最长可回溯时间为 delta_blocks,是指交易从产生到在以太坊上确认需要的区块数量。ArbOS 从 inbox 中读取信息时,会优先读取最小的区块信息。
用户交易可以通过聚合节点的 Batch 发送到常规 inbox,通过平摊节省了一部分费用,也可以单独发送到常规 inbox, 但需要自行承担费用。而排序器 inbox 只有排序器可以输入。
假设 1 笔交易获得最终确定性需要 C 个区块,假设同一时间发生的交易,如果使用常规 inbox,假设交易区块标记为 B,那么使用排序器时,交易区块会标记为 B-1。使用排序器打包交易会比使用常规 inbox 早 C 个区块具有最终确定性。因此,在此设定下,大部分人都会使用排序器。如果排序器作恶,可以故意不打包某用户的交易,迫使用户使用常规 inbox,从而抢跑交易。团队当前每 1 小时向排序器 inbox 发送一个 batch,网络向普通用户开放后,将 15 分钟或更短时间发布一次 batch。
在此情况下,聚合节点和排序器收费的规则影响网络上的交易抢跑。而聚合节点和排序器都可以通过重复提交一笔交易进行作恶,排序器也可以故意不打包某区块,为了防止这种情况,团队未来可能会设置聚合节点和排序器都需要质押一定数量的代币才可以进行工作。
Arbitrum 链状态和区块争议:
Arbitrum 链是由 Rollup 区块组成的一条链,区块由验证者提议并添加到 Arbitrum 链上。
① 当 ArbOS 执行完指令后,会生成一个网络状态,验证节点会根据执行完的状态提出一个断言(即一个 Rollup 区块),断言包含 3 个部分:inbox 断言、执行断言、状态断言,详细信息包括当前区块高度、继承为有效的上一个区块高度、ArbGas 等等,除当前区块高度外,其他字段均为验证节点的断言内容,不一定是正确的。要提出一个断言,必须质押一定数量代币;
② 其他节点可以对区块进行质押,质押一个区块即认可该区块是正确的,节点也可以不进行质押;
③ 当系统内出现 2 个并列关系的区块(例如出现了 2 个第 100 个区块,两个区块内信息不一致,且两个区块都有人进行质押),那么就会进入争议阶段,在争议阶段,挑战者和被挑战者需要不断将发起争议的范围缩小,直到找到最终的分歧点。随后发起挑战者向合约提交争议点和证明;
④ 由合约对证明和争议点进行验证,正确的区块被 Arbitrum 链接受,错误的区块被拒绝,质押错误区块的代币一半销毁,一半奖励给挑战者和正确质押的节点;
⑤ 窗口时间结束后,Rollup 数据通过一笔交易发送到以太坊链上,获得最终确定性。
2、流水线处理方式:
流水线处理是针对出现争议时区块处理方式,类似于一条链分叉出现了 2 条子链,网络同时运行 2 条子链,当网络分辨出错误的链时将错误的链修剪掉,剩下了一条唯一延续运行的网络。这种方式能够加快网络的运行速度,不需要先分出对错再继续,也不是沿着错误数据运行一段时间再进行回滚。
Arbitrum 原来的处理方式是当某方提出一个断言时,就会有个挑战窗口时间,在此期间,任何人都可以对该断言发起挑战。如果没人发起异议,该断言就会被 Arbitrum Chain 确认;当有人发起争议时,且挑战正确的话,错误区块后的交易会删除回滚。这种处理方式使得网络每次只能处理一个断言,并且只要出现争议就会进入一个停滞的状态,网络运行速度受限。
在流水线处理过程中,有 3 个参与角色:1)Proposer,即提出 Rollup 区块/断言的节点;2)验证节点,监控前者提出的区块,当发现前者提出的区块存在错误时,将发起另一个区块进入争议;3)Staker(质押者),通过质押代币的方式对 Proposer 和验证节点的区块进行投票,投给作恶方的代币将被罚没。
如果没有人作恶或没有人提出争议时,区块排列为下图:
95 Rollup 区块已通过一笔交易提交到以太坊链上的 Arbitrum 链状态,因此 95 之前都具有最终确定性。在 96 之后均为Proposed Blocks,尚无最终确定性。后一个区块会包含前一个区块的区块高度和哈希值,这意味着认同前一个区块是正确的。没有出现争议,该区块被Arbitrum 链接受。
如果区块 100 的数据是错误的(除区块高度外的任何字段),那么系统中会存在一个节点提出另一个断言,并且该区块认为前一个可信的区块为 99。由于网络中的全节点可以看到交易信息,以此可以对产生争议的区块进行质押,质押即认为该区块是正确的。如果 2 个区块都有人质押,那么区块 1001 和 1002 就会进入争议。在争议未得出最终结果前,网络通过流水线的方式继续运行。
如上图所示,
① 理论上,如果区块 100 还未完成争议时,可能会出现 2 条链同时运行,即继承 1001 或 1002 状态的断言。当后续再次出现区块争议时(例 1021),质押在 1001 上的代币可以选择质押给 1021 或者 1025,但是不能质押在下标为 2、3、4 区块链上,以此类推。假设,押注 1034 区块,即表明你认定这个区块是正确的,且认定最新确认区块(区块 99)到你所押注的区块这段链上的每个区块都是正确的。
② 假设,区块 100 的争议结束,且 1001 被确认为是正确的区块,那么以 1002 后的所有区块均被认为是无效区块,质押在下角标为 2、3、4 区块上的代币为被罚没,而质押在 1 链上的代币则可以收回,质押者可以获得一定奖励。 ③ 图 2-7 为理论情况,因此可能会出现树状分叉的区块链。但实际情况下,系统可通过 ArbGas 估算一个大致解决争议的时间,同时会规定一个争议解决的最长时间,因此能比较快的确认哪一个区块是正确的。同时,正常运作的全节点会跟寻正确的区块。因此实际上,Arbitrum 链的区块流水线运行为下图。
在流水线区块处理方式下,攻击者只能拖慢网络的处理速度(对每一个错误区块进行质押),而不能使网络停滞。对赌质押的经济模型能够在一定程度上可提前确定争议中哪一方是正确的,并且增加了作恶成本,确保大部分人能够维护网络正常运行。
3、多轮交互的争议解决方式:
Arbitrum 的多轮交互是相对于一轮交互/单轮产生的概念。
一轮交互是 Optimistic Rollup 使用的争议方式,是指由合约调用数据并在链上模拟全部交易的执行,以检查结果是否与提交的数据相同。由于模拟执行在链上执行,因此会消耗更多的 Gas,增加验证需要成本。
多轮交互是指提交断言的节点和验证者多轮举证,以查找到最终产生差异的争议点,多轮交互在链下进行,最后向合约发送争议点和一步证明以确定最终结果是否正确,减少了链上合约需要处理的计算量。
简单来说,多轮交互就像是猜数字游戏,假设有 1-100 的数字卡牌,其中有 1 张的颜色是不同的,挑战者需要不断将猜数的范围缩小,直到找到那张不同颜色的卡牌。假设,挑战者最初先确定不同色卡在 1-50 之间,再缩小范围到 5-25 之间,随后再缩小范围到 10-25 之间,以此类推,直到找到不同颜色的卡牌。而在多轮交互中,ArbGas 是不断缩小挑战范围的关键参数。
具体过程如下:
断言中的ArbGas 参数为整个Arbtrum 历史使用的ArbGas,区块 X 的ArbGas 参数 – 区块(X-1)ArbGas 参数=区块X 消耗 ArbGas(假设为 M)。因此验证者可以使用 M ArbGas 在链下模拟计算,如果模拟计算需要更多/更少的 ArbGas,那么验证者可以提出挑战。(不涉及特殊指令的运行。)
争议步骤如下:
① 断言者提出:从旧链状态哈希 H 到新链状态 H’,虚拟机需要执行 N 个指令,消耗的 Gas 为 X;
② 根据 ArbGas 将 N 个指令分为 K 个子断言,那么每个子断言就需要执行 N/K 个指令;
③ 挑战者查找出与自己不同的子断言 Q;
④ 断言者将子断言 Q 再分为 K 个子段言,挑战者再找出不同的子断言;
⑤ 重复上述过程,直到找到产生分歧的指令;
⑥ 提交争议信息和一步证明到 Ethbridge,由挑战合约完成验证和状态更新。挑战必须在规定时间内完成,预计时间为 1 周。
Arbitrum 的安全性基于挑战机制,那么验证者就需要有一定的时间检查每个 Rollup 区块,以便发起挑战。因此 Arbitrum 虚拟机设置了 Arbitrum 链的运行速度,即 Arbitrum 虚拟机的速度不可以超过验证者模拟计算的速度。
4、相关参数:
目前团队设置类生产参数(并非主网实际参数)为:
运行速度:1,即一台普通开发者电脑运行的速度;
质押要求:1 ETH 或链上总价值的 2%,以较高的价值为准;
断言大小:50 秒;
挑战期:360 分钟,允许验证节点发起挑战的时间,超过时间后不允许再提出挑战。
产品
Arbitrum 主网于 2021 年 5 月 29 日激活。截至 6 月 22 日,Arbitrum 主网区块高度为 12,704,平均每分钟产生 3 笔交易。由于目前主网为 Beta 版本,还未向普通用户开放,当前交易可能是测试或合约部署等。
桥接网站是代币从 L1 转移至 L2 的客户端,目前主网桥接网站只针对白名单开放,上图为测试版本界面。根据上图可见,团队将代币转移分为 ETH、ERC-20 和 ERC-721。
总结:Arbitrum 团队为 offchain Labs,主要成员来自普林斯顿和康奈尔理工学院等美国高校,区块链领域有较深的研究。
Arbitrum 技术具有创新性。Arbitrum 采用 Rollup 的基础框架,采用挑战机制确保 Arbitrum 链的安全性。在此基础上有多个改进点:1)在链下进行多轮交互找到最终争议点,向链上提交最终争议点和一步式证明,以此减少链上验证的 Gas 费;2)采用了流水线区块处理方式,可以同时处理多个争议,不影响网络的正常运行;3)采用对赌的质押经济模型,节点可以对区块(无论有无争议)进行质押,加快了网络运作速度,增加攻击者的作恶成本。
发展
历史
时间 | 事件 |
2014 | 普林斯顿大学开启探索性研究项目 Arbitrum,随后停滞 |
2018 | Arbitrum 项目转为商业化项目 |
2019.09 | Offchain Labs 获 Coinbase 投资,发布 Arbitrum 测试版本,每秒可处理约 500 笔交易 |
2020.02 | Arbitrum Rollup 层测试网上线并开源,并带有 Solidity 编译器 |
2020.10 | Arbitrum Rollup 完成重大更新,不再需要自定义工具或编译器对代码进行编译 |
2020.11 | Arbitrum Rollup 推出 Uniswap 测试版本 Airswap DeFi 衍生品交易平台 MCDEX 在 Arbitrum Rollup 上启动测试网 |
2021.01 | DAOStack 与 Offchain Labs 达成合作 Offchian Labs 启动基于 Arbitrum 测试网的 DeFi 生态系统 demo 产品 Arbotrum Rollout,支持 Bancor、Hop Protocol、MCDEX |
2022.02 | Cometh 游戏内交易平台 Comethswap 集成了 Arbitrum Rollup |
2022.03 | Arbitrum 放弃专利。Arbitrum 最初是普林斯顿大学的学术项目,原计划是技术商业化。Arbitrum 第四个测试网,并作为主网候选版本,新增 BLS 签名,降低了 L1 交易成本。 |
2021.05 | OKEx 宣布将支持在 Arbitrum 网络上的直接充提 Arbitrum 向开发者开放主网(Arbitrum One),并称超过 250 个团队接入Arbitrum 发布文档、开发者工具和 API |
现状
6 月,Uniswap、Sushiswap、DODO、dForce 宣布已在 Arbitrum 上部署,The Graph 的托管索引和查询服务已在 Arbitrum 主网上线,路印钱包 2.0 已部署至Arbitrum 主网。
团队宣称已有 250 个 Dapp 团队在 Arbitrum 上进行部署。
未来
预计在近两个月向普通用户开放。
总结:Arbitrum 在 2014 年就已经开始研究,但中断了 4 年,实际上 2018 年组建了 Offchain Labs。团队在近两年完成了主要的开发工作,预计于 7 月或 8 月对普通用户开放主网。整体来说,进展比较顺利。后续可重点关注主网开放后的发展情况。
经济模型
目前 Arbitrum 暂未发行代币,根据团队文档记录,使用 ETH 进行质押和支付交易费使用。如果未来有发币,可能用于质押和支付交易费。影响用户支付的交易费的因素与以太坊相似,包括:1)网络拥堵程度,采用竞价模式;2)运行计算量(交易、Calldata、计算和存储)。
竞争
Arbitrum 的细分赛道为:以太坊 Layer-2 扩容方案。
赛道概述
1、背景:
以太坊的容量是有限的,平均每秒能处理 20-25 笔左右的交易。而以太坊是一个竞价机制的网络,矿工会优先打包确认出价高(Gas Price)的交易。2020 年 8 月,以 Uniswap 发布代币为契机,DeFi 应用爆发,为了获得更多的空投或进行流动性挖矿,链上用户和交易开始增加,网络拥堵成为常态,Gas Price 开始居高不下,加之以太坊价格上涨,每笔转账需要几刀甚至几十刀的交易费。
2、定义:
以太坊扩容,就是提高以太坊每秒能够处理的交易数量。Layer 2 扩容是改变区块链的使用方法,将原先放在以太坊链上执行的计算、存储等活动放在主链外的“二层(Layer-2)”协议中执行。二层的所有活动需要生成一个证明并提交到主链上,证明主链外发生的 一切活动是可信的。
无论是何种方案,首先需要确保:
1)二层和主链之间资产安全转移;
2)能够验证链下活动是准确可信的。
在此基础上,我们可进一步对比各个二层方案的其他方面:
a、二层网络的性能;
b、开发进度;
c、生态发展。
3、二层扩容方案分类:
目前 Layer 2(链下)扩容方案主要包括:状态通道、托管型侧链、非托管型侧链(Plasma、Rollup)。
a、托管型侧链:
托管型侧链和状态通道属于比较早期的扩容方案。
托管型侧链是指主链上的资产都发送到一个合约中,合约中的资产由一个或多个托管方进行保管,再由托管方在侧链释放出等量的相应代币。资产的进出都需要经过托管方的同意。侧链是一个独立的区块链,侧链上的资金安全由节点/共识机制保障。这种二层扩容方式在技术上比较容易实现,但是处理方式过于中心化,托管方可以罚没和冻结资金,因此用户只能相信托管方是可信的。
典型:xDai Chain、PoA Network。
b、状态通道:
状态通道是双方建立一个通道并在通道内存取一部分资金,定时更新最新状态,双方可通过相互商定来确定通道的最终状态,并将账户最终状态更新至主链,同时关闭通道。
典型:比特币的闪电网络、以太坊的雷电网络。
状态通道技术存在资金利用率低、可扩展性有限等问题。状态通道近期出现了新的发展方向:作为各个二层解决方案的连接方。
c、Plasma:
17年,Plasma方案被提出,缓解了对侧链运营方的信任问题和可拓展性问题。Plasma的侧链不具备托管性质,用户只要检测到错误,就可以自行退出。但每个人在退出二层网络时,都需要经历一个挑战期。其他人发现退出者离开网络会损害自己的资金时,就需要提交欺诈证明(包含自己交易的默克尔树数据),从而保障自己的资金安全。这种方案虽然减少了对侧链运营方的信任,但二层的交易数据无法在主链上进行广泛的监控,提交的哈希值缺乏数据有效性,用户退出的过程比较复杂。
具体过程:Plasma 链上的交易数据会组成一个默克尔树,只有默克尔树树根的状记录在主链上,主链上无法查看二层交易的具体内容,其他人也就无法验证当前的全局状态是否有效。默克尔树的计算和交易信息存储都在链下进行,只有默克尔树根记录在链上。在这种情况下,用户就必须自行监控网络的状态。
d、Rollup:
Rollup是Plasma 的演进方案,理论上解决了 Plasma 方案中数据有效性验证的问题。
Rollup原理是:将一段时间内的交易打包成一个汇总交易(Batch),交易数据存储在 Rollup区块的只读区域并发布到主链上,从 而使所有人都可以随时在主链上获取到二层上的交易数据,实现监控交易并对二层的状态形成共识。Rollup使用一系列的压缩方案将原始数据进行处理后,只上传一部分数据。默克尔树的计算、可信证明计算在链下进行,但默克尔树的树根哈希和交易的部分数据存储在链上。Rollup 系列解决方案包括:zkRollup、Optimistic Rollup 等。Rollup 是目前最理想的二层扩容解决方案。
Rollup 扩容方案
1、数据压缩:
压缩技巧是 Rollup 方案扩容的关键。在以太坊链上,一个区块最大消耗 Gas 总量将近 1,250 万(目前扩展到了 1,500 万),它限定了一个区块中包含多少交易。一笔交易里每个字节的数据花费 16 gas。也就是说,一个区块最多包含约 78~90 万字节。如果每笔 Rollup 交易只消耗 20 字节,那么每个区块就可以包含 39,000~45,000 笔交易,每秒大概处理 2,600~3,200 笔交易。一个 Rollup 区块(Batch) 中,每笔交易消耗的字节越少,能够包含的交易数量就越多,对以太坊的扩容效果就越好。Batch 中每笔交易的字节不同,也影响着二层的交易手续费的消耗量。
一笔交易通常包含签名(64 字节)、目的地址(20 字节)、交易金额、手续费和随机数等(25 字节)内容,除去这些,与合约交互的合约会带有数据负载。因此一笔以太坊主链上的交易通常需要超过 109 字节。
数据 | 用途 | 消耗字节 | 压缩方式 |
Nonce | 交易序列随机数,用于防止重播交易 | ~3 | 省去随机数,验证时从前状态哈希中恢复 |
Gas Price | 发起人愿意支付的 Gas 价格 | ~8 | 允许用户按固定 gas 价格范围进行支付或在每个batch 中收取固定的 gas 费用或者让交易者使用通道向 batch 创建者支付相应费用 |
From | 交易发起以太坊地址 | 0(从签名中恢复) | N/A |
to | 交易目的地以太坊地址 | 20 | index 来替换 20 字节的地址 |
value | 交易数值 | ~9 | 可以用科学记数法储存值 |
v.r.s | 发起人签名的三个组成部分 | ~68(2+33+33) | 使用 BLS 聚合签名将大量签名聚合成一个约为32-96 字节的签名。可以依据消息集和 batch 的发送者集,一次性进行检查。 |
2、验证方式:
验证链下活动有效性证明方式的差异产生了 ZK Rollup 和 Optimistic Rollup 这 2 种主要方案。ZK Rollup 使用 ZK Snark 密码学证明,而 Optimistic Rollup采用欺诈证明/挑战机制。后者需要设计合理的经济模型,使验证者有动力参与验证、作恶者的作恶动机降低。Arbitrum Rollup 的验证方式同样采用欺诈证明,但改进了挑战过程。
表 5-2
验证方式 | 优势 | 缺点 | |
ZK Rollup | 每个 Rollup 区块( Batch)都包含一个 | 退出网络的时间相对比较快 | 生成零知识证明需要大量计算, |
Zk-Snark 的密码学证明,用于证明后状态 | 对硬件要求可能比较高,需要投 | ||
根是正确执行 Batch 的结果。无论计算量多 | 入比较多的计算资源。零知识证 | ||
大,该证明都能够在链上得到极速验证。 | 明中涉及电路的计算,因此在支 | ||
持通用型合约/兼容 EVM 上的 | |||
开发难度比较大,即使可以支持 | |||
也需要用新的语言重写大部分 | |||
代码库。 | |||
Optimistic Rollup | 提交欺诈证明。验证人会追踪历史状态根和每个 Batch 的哈希值,如果发现 Batch 的后状态根不正确,就向区块链发送一个证明,证明该 Batch 计算错误。合约通常会模拟全部交易过程进行验证,如果确定事实欺诈,那么会对该 Batch 和之后的 Batch 进行回滚。 采用单轮交互。 | 比较容易支持通用型合约/兼容 EVM,对于团队来说,开发难度会相对低一些。迁移成本也比较低。 | 采用欺诈证明,退出的时间比较长。 单轮交互需要在链上模拟全部交易执行过程,增加链上成本。 网络进入挑战争议时,网络运行会停滞。 |
Arbitrum Rollup | 提交欺诈证明。| | 比较容易支持通用型合约/兼 | 采用欺诈证明,退出的时间比较 |
在链下进行多轮交互,将最终的争议点和证 | 容 EVM,对于团队来说,开 | 长。(Arbitrum Rollup 提出了 | |
明上链进行验证。 | 发难度会相对低一些。迁移成 | 快速退出的方案,引入一个在 | |
采用流水线区块排列方式,多个争议可能会 | 本也比较低。 | L1 提供流动性的第三方。) | |
形成树状结构,完成争议后不会对交易进行 | 无需模拟全部交易,从而减少 | ||
回滚,将修建树状结构中错误数据的内容。 | 了链上 Gas 费用。 |
竞争项目
目前 Rollup 技术主流项目包括:ZK Sync、Optimism 和 Arbitrum。
1、ZK Sync:
ZK Sync 是采用ZK Rollup 的扩容方案,团队为 Matter Labs。ZK Sync 已发布了 1.0 版本,支持简单转账。
团队在 5 月公布了 2.0 版本内容,增加了 3 个资金保护措施,分别依赖隔离/冗余、最小信任的可升级能力以及引入安全委员会机制。
- 隔离和冗余:只有授权的排序者(区块打包者)才允许提交状态转换数据,任何提交的数据需要在进入区块前进行简单执行以验证;
- 最小化信任的可升级能力:无论用户是否接受协议的升级,都有权使用协议预留的紧急退出功能,退出 ZK Sync 网络;
- 设立 ZK Sync 安全委员会机制:如果协议遭受严重问题,将可以触发至少 4 周的全局锁定状态,但是由 15 个具有声望的社区领袖组成的安全委员会可以通过多签缩短这一过程,不过后期也会逐渐弃用该委员会。
ZK Sync 2.0 预计在 8 月上线。
2、Optimism:
Optimism 前身为 Plasma Group,是 Optimistic Rollup 扩展技术背后的原开发团队。Optimism 于 2020 年 1 月获得了 Paradigm 和 IDEO CoLab Ventures 的 350 万美元融资,并于当年 2 月发布了 Optimistic Virtual Machine(乐观状态虚拟机)的 beta 版本。同年 5 月,Synthetix 在 Optimism 上进行了测试。11 月,完成了由 a16z 领头的第二轮融资。团队于 2021 年 1 月完成主网软启动。
竞争分析
1、性能:
项目 | ZK Sync | Optimism | Arbitrum |
TPS(理论) | 2,000 | 300~500(预计) | 创始人 Steven 声明 Tps 将达到 4,000,但实际上可能会低于这个数值,根据 DeGate 团队采访预计 Tps 为 70 |
二层手续费 | 0.1~1 U | N/A | 不会低于以太链上的万分之一,根据 Dapp 开发团队采访预计为以太链费用的百分之一 |
目前每区块的交易量 | 50~100 | N/A | 3(未对外开放) |
退出时间 | 大约 5~10 个小时 | 1~2 周 | 1~2 周 |
资产安全性 | ZK Rollup 是通过 ZK Snark 技术对链下活动/数据可用性进行验证。 ZK Sync 退出时需要多个Batch 被主链验证后才能实现退出。 | 采用欺诈证明。 | 采用欺诈证明,且增加了质押机制,增加了作恶成本 |
开发进度 | 1.0 支持简单转账,开发了Sync VM 等工具,但以太坊上的应用的迁移仍不方便。预计在8 月上线2.0 主网并支持 EVM。 | 预计 7 月份部署主网。主网上线时间曾延迟过 1 次。Synthetix 目前是Optimism 上测试的主要项目。 | 主网预计 7 月或 8 月对普通用户开放。团队宣称已有超过250 个Dapp 在Arbitrum 上预部署。 |
可得出以下几个结论:
1)由于 Rollup 方案需要上传部分链下数据,因此 TPS 受限于以太坊单个区块消耗 Gas 上限,交易费可能因计算量比较大而更贵;
2)ZK Rollup 方案能够提供更快的退出时间,能够满足用户L1-L2 之间资产即时转移的需求,而Optimistic Rollup 和Arbitrum Rollup都采用欺诈证明,需要较长挑战时间;
3)开发进度更快的网络具有先发优势。
2、生态:
目前 Polygon 的锁仓量排名靠前。
ZK Sync:已集成 imToken 钱包;Gitcoin 支持使用 ZK Sync 进行捐赠;Curve 曾创建 ZK Sync 的测试版本。目前支持 41 种主流代币。
Optimism:2019 年 10 月,与 Uniswap 合作创建了 Unipig.exchange(无法使用)。2020 年 5 月,与 Synthetix 合作集成测试。借贷协议 Compound 、以太坊波动率指数 volmex.finance、Coinbase Wallet。Metamask、MathWallet 已支持集成。Arbitrum:首批应用包括中心化交易协议 Bancor 、去中心化拍卖工具 Bounce.finance 、自动做市商 Burgerswap、Hop Protocol、去中心化永续合约交易所 MCDEX、去中心化交易所 Swapr、自治组织 DAOStack 产品 Alchemy。由于还未正式开放,因此锁仓量比较小。
总结:Arbitrum 与 Optimism 的挑战机制和 Rollup 链处理上有所差异,前者在保障链安全性上有更多保障,创新性比较强。而Arbitrum 和 Optimism 都具有退出时间长的问题,Arbitrum 提出引入第三方流动性提供者的方案,但不能解决根本上的问题,而ZK Rollup 则能够实现快速提款,在 ZK Rollup 实现完全兼容 EVM 后,可能会对前者产生挑战。
由于基于 Rollup 的 ZK Sync 还未实现完全兼容 EVM、Optimism 未上线主网、Arbitrum 未对外开放,因此锁仓量都较低,在主网上线且开放后可能都会有比较大的提升。
风险
技术风险
Rollup属于全新的技术,目前还未进行大规模、长时间的实战,可能在技术上存在漏洞,从而影响资金安全。这需要一段实际运行时间进行测试。
行业竞争
同属于Rollup方案的Optimism 预计在 7 月份部署主网,而 ZK Sync 目前也实现了部分兼容 EVM,很快将全面兼容 EVM,Arbitrum上部署的 Dapp 可能会迁移到其他二层上。
参考资料
- https://developer.offchainlabs.com/docs/inside_arbitrum,Arbitrum 文档
https://www.chainnews.com/articles/909939456650.htm,Arbitrum 主网的开发部署体验,看这七个开发者怎么说https://www.chainnews.com/articles/022720170805.htm,深入理解以太坊二层方案 Arbitrum 技术架构,星想法- https://debank.com/ranking/locked_value,Debank 数据站
- Arbitrum AMA
本文由“头等仓”团队分享,仅供参考。