回到开始的地方,以太坊为何需要 Layer2 Rollup
我们知道,Rollups 是一种 Layer2 扩展范式,旨在通过将计算和状态存储转移到链外,同时在链上保留最低限度的交易数据,从而解决网络拥堵问题。而链上智能合约只需要存储着状态根,即滚动状态的默克尔根(Merkle Tree Root)以用于欺诈检测。简单来说,Rollups 是一个部署在以太坊上的一个智能合约,它可以处理通过 Layer 2 提交到 Layer 1 的交易,对于 Arbitrum 来说,这个智能合约里面约有 110 亿美金(数据源于 L2Beat,截止到 2024/1/13)。任何人都有权利将自己在该智能合约里拥有的资产重新发回到以太坊主网上(Layer1)或者授权给这个巨大智能合约里面的其他应用进行其他衍生服务操作。这些交易请求由 Layer2 负责打包后一并提交给以太坊一层网络,理论上来说 Layer 2 并不维护账本,而是把这些交易请求打包(Bundle)并发给 Layer1 进行验证。这些请求是分批发布的。那么为了保证这个请求打包在被确认前是没有欺诈的,有两种类型的解决方式:
-
Optimistic Rollups,在受到链上欺诈证明的质疑之前,乐观地假设其正确性。批次发布后,任何一方都可以在一定的争议期内发布欺诈证明,证明该批次的状态转换中是无效的。如果该证明得到验证,则无效批次和后续批次将被还原。虽然较长的争议期会导致较长的结算等待期,但它也可以作为一种防范审查攻击的机制。
-
ZK rollups,每个批次都包含一个有效性证明(称为 zk-SNARK),它是在链外计算的,证明了新状态的正确性。zk-SNARK 可以实现即时批量验证,从而缩短结算等待期。因本份研报不涉及到 ZK(零知识证明)相关的知识,故不继续深入。
正如 Layer2 网络设计机制一样,为了处理大量原生交易,那么就会有大量的请求在 Layer 2 等待打包。这个时候怎么排序便是一门学问了。而这里,Arbirtrum 就用了一种简单到极致的方法——先到先处理(First Come First Serve)。
同时我们要意识到:
Rollup 不等于排序器,但是没有排序器的 Rollup 可能是灾难性的。因为这会像春运期间的火车站进站口一样,所有人都挤在门口,谁都进不去。
排序器,再深入一些
正如前文所说,排序器负责将提交给 Layer 2 的交易请求捆绑在一起,并决定将其放入区块中的顺序。目前,包括 Arbitrum 和 Optimism 等大多数 Rollup 网络都以中心化的方式进行排序。用户表示可以接受,dApp 开发者也表示可以接受。因为这样看上去不止解决了排序的问题,还顺便解决了 MEV(矿工最大化可提取价值)的问题。
需要知道的是,Layer 2 本身没有 Mempool(待打包的交易池)。但是这并不意味着中心化排序器的提供者——Layer2,没有办法获取 MEV。
为什么我们要在乎 MEV?这是以太坊基金会除了扩容之外讨论最多的话题。根据 MEV-Explore 的数据,自 2019 年 12 月至合并前(2022 年 9 月 15 日),以太坊上的 MEV 就已经累计达到惊人的 673M 美金。
MEV Profit,图源:explore.flashbot.net
MEV 是通过在区块中包含、排除和排序交易而产生的收入,其形式多种多样,包括抢跑和三明治攻击。因此,负责在 Layer 2 中对交易进行排序并在区块中提交交易的排序器完全有权提取 MEV。然而,Layer 2 网络使用先到先得(FCFS)交易处理来防止这种 MEV 收入垄断,因此目前 Layer 2 无法直接提取 MEV。虽然 FCFS 交易处理在保持交易秩序和防止单一实体垄断 MEV 提取方面是有益的,但它也使 Layer 2 难以获取额外收入。请见下图 ,以了解 Layer 2 的收入占比。即使 Layer 2 能够获取大量用户在其 Layer 2 网络进行交互,但并不代表对于运营方来说是有利可图的。要知道大部分在用户端收到的 Transaction Value(交易数额),都会被以太坊一层网络的数据发布成本所摊薄。
综上所述,Layer 2 的 MEV 则源于其控制了排序器,且为中心化的。
Transaction value & Transaction cost,图源: BARNABÉ MONNOT
中心化排序器的弊端
Layer 2 排序器 = Layer1 proposer + Layer1 Builder [1]
中心化交易排序器作为区块链或应用程序采用的机制,以确保交易有序且安全地进行。与区块链中采用的分散排序概念(取决于共识算法和分布式网络)相反,当今的排序器在单一权威机构的监督下在集中式环境中运行。它有几个核心的特征:
-
集中控制 Centralized Control:在集中式系统中,唯一的实体或权威机构对数据库或应用程序行使统治权。该实体负责监督事务排序并规定 Layer 2 执行事务的顺序。
-
顺序处理 Sequential Processing:事务进行顺序处理,以连续的方式发生。该顺序的确定经常受到时间戳、提交时间、MEV 提取、用户/区块构建者支付的提要或中央管理实体分配的优先级等变量的影响。
-
对信任的依赖 Dependence on Trust:依赖系统的用户必须信任中央实体来公正、准确地处理交易。然而,该机构可能存在操纵或恶意行为,从而危及交易本身的完整性。
当然你也可以选择自己去排队(Submit Batch),Vitalik Buterin 在谁可以提交打包请求的章节中提到了 “无治理的愿景”,即所有人理论上都可以向 Layer1 提交打包请求。但是他也提到,这会是十分低效率的。根据 a41-allforone 数据显示,如果用户不通过排序器提交事务,而是直接使用名为 forceInclusion (强制包含) 的方法排队,处理时间可能长达 24 小时。[2] 因为多个提交交易的账户可能会并行提交批次,而只有一个参与者能被成功收录。这在生成证明和/或将批次发布到链上时浪费了大量精力。对于用户来说,不知道自己的交易是否能很快被收录,这种用户体验可以说是灾难性的。因此,更多的用户即使有所有顾虑,也还是会采用中心化的排序器方式,Arbitrum 和 Optimism 的成功可以证明大家更愿意通过 Rollup 提交交易,因为交易基本上可以保证被提交。
那么,中心化排序器还存在哪些弊端呢?
中心化垄断
当某个单一实体控制了拥有庞大交易量的价值网络,这会引起去中心化主义者对交易安全的担心——去中心化交易的倡导者认为一个健康的价值网络应该像以太坊有多个节点分布在不同的区域、实体与个人,而不是少数人的控制下。而如果中心化实体控制了排序器,是否会因特殊需求,对无许可的区块链网络实施交易拦截,也会成为一件值得思考的事情。
掉线
Rollup 为了保证资产充提方面的用户体验,并没有像比特币的 Peg-in & Peg-out 模式(比特币一层网络向侧链充提币的机制)下采用让多个实体管理 Layer 1 上智能合约(当然比特币没有智能合约,这里指的是钱包)的模式。在只有一个或者几个由中心化机构控制的网络节点的情况下,某个节点不在线可能会导致网络瘫痪。节点不在线绝大部分原因是因为网络的激励不足以承担所付出的节点维护费用。但现实情况是这一现象基本没有发生。但是当 Layer2 的数量足够多的时候,我们有理由相信会有部分 Layer2 由于缺少用户活跃度而导致节点维护成本入不敷出,从而导致节点掉线率提高,甚至造成该 Layer2 网络的宕机。而宕机所带来的影响是多面性的,例如在衍生品交易方面,可能会因为宕机期间无法完成充提/交互,进一步无法及时补仓而面临清算,造成巨额损失。
当然,这些是技术上或者说网络安全上的考量,但其实本质上排序器这一门生意在去中心化还是中心化的博弈上远不止这么简单,笔者将在后面展开介绍。
去中心化排序器:其意义在于分开吹哨人和运动员
在 Layer2 网络构建这笔套利交易的角色叫 Builder;决定将这笔交易提交到以太坊打包的角色叫 Proposer。去中心化排序器(Decentralized Sequencer)的目标在于把 Propers 和 Builder 的角色分开;也就是 PBS(Proposers, Builder Seperation)。
去中心化排序器的优势
去中心化的排序器理论上来说拥有可靠的防篡改能力确保了数据的完整性,几乎消除了欺诈的可能性,并使记录的信息具有真实性。此外,去中心化排序器倡导减轻垄断的精神,使交易进展基于网络共识而不是依赖中心化机构的权威性。
这一改变将会带来:
-
不信任环境(Trustless Environment):去中心化排序器消除了参与者仅信任中心化机构的必要性。交易在分布式节点网络中经过验证和共识,从而提高透明度并降低对操纵的敏感性。
-
不变性(Immutability):在去中心化排序器中,交易以不可更改且不可侵犯的方式记录。一旦集成到区块链中,未经社区治理公布并提案投票通过,它们就不会被修改或删除,从而增强了数据的完整性。
-
审查阻力(Censorship Resistance):去中心化排序器通过将交易附加到区块链来 “对抗审查”,前提是它们符合网络规定的共识规则。
-
弹性(Elasticity):中心化排序器很容易出现因单点故障而导致的漏洞。相反,在去中心化系统中,广泛分布的网络架构增强了弹性,防止攻击或单个节点崩溃。(除 Base Sequencer 方案之外,原因将在后问详解)
Layer2 的去中心化排序器本质上是 Mempool(内存池)的可见性之争,如今是只有一部分 Layer2 项目可以看到。因此,除了上述优势以外,去中心化的排序器目标的达成是通过将 Mempool 开放给多个实体从而达到去中心化。Metis 的方案便是将只有一小部分实体能够看到的 Mempool 开放给 Metis 的质押者,通过 POS 共识完成去中心化的排序。
另外,共享排序器和去中心化排序器的模块化解决方案,在方案成熟后也能显著降低启动 Rollup 的启动成本,Layer 2 构建者只需要选择用以太坊,模块化区块链使用 Celestia 或是 Near 的数据可用性(DA),这样则不用担心从零到一构建一个排序器网络。究其原因,笔者将在后文详细论述。
Rollup Transaction,图源: The future MEV is SUAVE
抛开技术和去中心化主义者,从经济角度上来说,排序器去中心化对于 Builder 来说更大的动机是有蛋糕可分。
去中心化排序器的主要解决方案
前文提到 Layer2 的排序器=Proposer + Builder。那么显而易见的去中心化解决方案就是分离这两个角色功能。简单来说:
-
**Proposer(提议者)**无法看到区块内容,只能从多个打包人那里选择一个最有利可图的区块,向其他节点广播该区块。
-
**Builder(打包者)**可以看到区块内容,负责收集交易,打包成区块。
用户提交交易后, 交易会进入 Builder 的 mempool 等待打包,Builder 会根据 MEV 等因素选择交易打包顺序,打包好的区块会发送给多个 Proposers,Proposer 选择其中一个最有利可图的区块,向网络广播该区块。当然,如果区块缺少 Proposer 自己希望打包的交易,Proposer 也可以选择拒绝该区块或添加缺失交易再广播。将他们两个分离(PBS)的主要好处包括:
-
可以在协议层防止 “审查”,因为 Proposer 无法预知区块内容。
-
防止机构玩家通过优化 MEV 来压倒个人验证者,分散 MEV 收益。
-
有利于 Danksharding 等扩容方案,因为 Builder 可以专注计算复杂证明。
综上所述,PBS 通过将打包和提案分离, 可以提高系统的去中心化程度和扩容能力。目前,许多不同的项目正在研究自己的解决方案来实现排序器的去中心化。虽然对于去中心化排序器的终极方案尚未达成共识,但让我们来看看是什么推动了排序器集、去中心化排序器、共享排序器的实现。
L2 MEV hypothetical map,图源:Rollup Document
PBS:
PBS at sequencer level,图源: @A41
在排序器的 PBS 分离层面,有人认为可以用提议委员会的形式分散 Proposer 的权力和 Builder 的信息垄断。[3] 有人认为关键在于分离 Builders(Schnorr Signature)。也有人认为 Builders 的权力太大(因为能看区块内容),应该让所有角色都能看到(SUAVE),这样每个角色都有能力获得 MEV。总结来说,排序器的去中心化主要分为两个方向:
-
分离 Builders,让所有角色都能够看到 mempool,或者让所有角色都看不到 mempool;
-
分离 Proposers,让每个角色都可以提议区块打包,而不是一个角色,更加不能是 Builder;
Modular MEV supply chain,图源:Maven11
分离 Builders
分离 Builders,是因为它的权利太大。它就像开了天眼一样可以看到待打包区块。那么分离 Builders 或者说制约他的能力的方案就是加密后给可信任的实体查看,或者让所有角色都能看不到。
-
Schnorr Sequencer(该模型是一种交易排序承诺方案)是其中的一个解决方案,可以让多个钱包的签名进行打包从而隐藏。
-
Suave(由 MEV 基础设施 Flashbot 推出)的方案则是,Builders 可以看到的,大家(Proposer 和监听者)都能看到——让待打包区块对所有角色透明。
-
Radius(一种无需信任的共享排序层)则是直接将待打包区块(mempool)直接加密。排序器对交易组进行排序时,无法看到每笔交易的内容,直接断了排序器往后卖票的可能性。
-
Metis(去中心化 Layer2 网络)的方案则是支持质押一定数量 METIS 的 Token 节点可以看到 Mempool,成为排序器的运营方。
Schnorr Sequencer
Schnorr Sequencer 模型允许用户和排序器共同完成一个为特定交易索引签名。它利用 Schnorr 签名的线性性质,使得用户和排序器可以共享随机数、部分签名和挑战值,完成一个整体签名。这种方法可以用于排序器本身,也可以用于账户抽象中的交易打包。假设我需要对一笔交易进行签名,包含 Schnorr 签名方案的去中心化排序器可以将我的签名(每笔签名的提交需要支付一笔数据可用性费用)与其他几个签名打包,最终只需要提交一个签名,也就是只需要对更少的数据可用性付费,降低开销的同时还可以隐藏签名者的信息。
在以太坊基金会关于 PBS 的讨论中一同被提及作为签名方式还有:
-
椭圆曲线数字签名算法 (ECDSA)
-
BLS(Boneh-Lynn-Shacham) 数字签名
通过事先授权签名的形式,可以减少一次捆绑交易所需的签名数量,并通过捆绑签名完成作为单个交易提交完成的节点,而不需要等待所有的节点达成共识,从而大大缩减交易最终性所需的时间。换句话说,这种方法可以通过提前授权的方式减少签名数量,并加快交易确认的速度,从而缩短交易最终确认所需的时间。 [4]
排队组织者(Proposer)和电梯接待员(Builder)中间已经有一个特定的管道,类似头等舱登机口。而 Schnorr Signature 就是组织者对某一个 VIP 客户认证后的签名,只要这个签名发生,他就可以直接上飞机,不需要等其他人一起。所以这种方案的 Finality 会十分快,但缺点就是牺牲了一定的安全性,适用于包括游戏在内需要快速确认但是单个交易金额不高的场景。
SUAVE from Flashbot
Flashbot 是一个旨在解决矿工可提取价值(MEV)问题的项目,而 Suave 则是其下属项目之一。Suave 旨在解决交易执行者(Solver)外包执行所产生的 MEV 问题,以及用户意图的捕获准确性问题。Suava 被纳入去中心化排序器方案之一的原因是其本质上是将 Layer2 网络交易排序功能从现有区块链中剥离出来,作为一个独立的服务提供给任何链。就像 Flashbot 的 MEV Boost 一样,以接口或者解决方案的形式提供给利益相关方。
Suave 的去中心化排序器框架由三个关键组件组成:
-
通用偏好环境(Universal Preference Environment):所有链通用的一套 memepool 和 Builder;
-
最佳执行市场(Optimal Execution Market): 一个由被称为执行者(executors)组成的网络,这些执行者监听 SUAVE Mempool,并通过竞争为用户交易需求提供执行服务。
-
去中心化构建区块(Decentralized Block Building):提供去中心化的区块链构建者专门用于监听加密的交易请求;
在 Suave 架构中,这些组件构成了一个去中心化的生态系统,用户、验证者、构建者和搜索者可以跨多个链无缝协作,并且它可以同时服务于不同的 Layer1 网络。[5]
Layer1 Sequencing Stack,图源: Flashbot MEV
SUAVE 的核心在于偏好(Preference)的概念。偏好是用户为实现特定目标而签署的信息,一旦用户的条件得到满足,偏好就会解锁付款。这种设计类似于我们在电商上购物的体验,即在我付款后设置一个条件,比如收到货物后解锁付款(确认收货)。这些链上偏好可以是单一领域内的简单转账或交换,也可以是多个区块链上任意复杂的事件序列。因此,SUAVE 旨在通过创建一个通用的架构来解决区块链生态系统中的诸多问题,实现跨链互操作性,并为 MEV 提取提供更多安全性和机会。
你可以将偏好视为 SUAVE 上的原生交易类型。它们既可以包含在特定链(如以太坊)上执行的交易请求,也可以对用户想要实现的目标进行更抽象的陈述,并将选择最佳路由的权力留给执行者。
Preference Environment,图源: Flashbot MEV
Suave 描绘的未来是宏大的,一个所有区块链构建者都能够看到的 memepool,以及去中心化的 Builder 可以减少 “出块法官” 的权力。Suave 描述的区块链的未来想通过 EVM 或者其他区块链网络做的事情签名后形成一个偏好(Preference),包括跨链转账,收购 NFT 等等交易需求提交,就会有专门的搜索者和执行者帮他们完成请求,收取佣金。他就像一个庞大的订单簿系统,对所有角色可见。
Radius
Radius 的解决方案更加聚焦于解决 MEV 的问题。从方案上来说,每笔用户交易的内容在提交后都会被加密,而不是像绝大部分的公共区块链一样有公共可见的 mempool。排序器对交易组进行排序时,无法看到每笔交易的内容,从而防止排序器提取 MEV 或面临被审查的风险。
Encrypted Mempool with PVDE,图源:Binance Research
其区块空间设计包括将区块空间划分为顶部块空间和底部块空间两部分,其中顶部块空间专用于用户交易,将用户交易加密,消除交易排序操纵,从而保护用户免受有害 MEV 和审查风险;底部区块引入一个基于拍卖的交易市场,套利者可以将捆绑交易和它们的出价提交给排序器。为了让排序器更加去中心化,Radius 采用了多种去中心化排序器实现方案,包括秘密领导者选举机制、排序器组分片机制等,以及排序器轮换机制,同时实现交易排序的去中心化和无需信任。[6] 它拥有了一个中心化排序器应该交付给用户的所有体验,同时能减少 MEV。但其秘密领导者选举机制能否通过市场验证,被认定为去中心化排序器,仍然值得观察。
Metis
Metis 是首个完成排序器去中心化的 Optimisc Rollup。其通过去中心化的排序器池模型引入多个去中心化排序器,这些进入排序器池的排序器会负责决定交易的打包顺序,且至少需要 2/3 以上的排序器签名才能将数据打包上传至 Layer1 网络。此外,为了防止排序器作恶,Metis 还引入了验证者的角色对区块进行抽样调查,以确保排序器对交易次序的排序。
近期 Metis TVL 的暴涨让大家真正注意到去中心化排序器的重要性。或者说这一概念从提出至今,最终需要一个出路去消化这些情绪。
抛开市值的因素,笔者认为 Metis 的方案绝大部分都没有问题,是十分标准的去中心化排序器方案。其方案设计之初能够考虑到将蛋糕主动分出去是难得的进步,同时也让市场看到了 Layer2 的原生代币 Token 所谓 Gas Fee 和治理之外的价值捕获出处。只是关键问题出在去中心化排序器通过签名的机制——MPC 上。
MPC(多方计算)的优势是隐私保护,去中心化,用于简单的布尔运算时会有奇效。但是劣势也极其明显,因为没有中继节点承担信息的分发角色,导致所需要的通信次数增加,显著增加网络内通信的成本。在需要达到共识的网络,且带宽更稀缺的区块链网络这一弊端将更加凸显。说白了就是可能为了让去中心化排序器达成共识完成签名的所需的网络成本,到最后不比 Layer1 低太多。
其实分离 Builder 的困境也在这里,也就是 mempool 如果为了去中心化,将节点开放给所有人。则会面临在 “在以太坊上再造以太坊” 的窘境中——为了达成这些匿名的去中心化排序器的共识,需要再造一套看起来去中心化的共识机制。到最后不管是 Metis 的 MPC 方案,Radius 的公共 mempool 都没有回答排序器去中心化增加的网络负担和最终落在用户成本上的问题。
那么分离 Proposer 会不会是一个更好的解决方案呢?
分离 Proposer
Proposer 的权力在于可以选择区块进行广播。就像法官一样,他是最后敲槌的人。那么制约司法滥用的方式就十分显而易见了——轮值;有以下的解决方案:
Espresso 采用了 “法官网络” 并通过 Hotshot 共识机制管理和激励,Astria 更进一步,在轮换中加入了拜占庭容错;而共享排序器方面,比如 Dymension 的方案让任何人都可以成为法官,只需要质押原生 Token。
Espresso Sequencer
Espresso Sequencer,与 Suave 类似,将交易排序功能从现有链中剥离出来, 作为一个独立服务提供给链。
Espresso 在 MEV 供应链中的角色在于构建一个 Proposer 网络,基于 Hotshot 共识协议(一种共识协议,可分散参与排序器网络,在乐观条件下提供高吞吐量和快速最终确定性,同时在悲观假设下保持安全性和活性保证 [7])。Proposer 网络的管理和激励方案包含一种全新的 Pacemaker(视图同步方法)、用于领导者轮换的基于 VDF(Verifiable Delay Function)的随机信标、动态权益表和分布式签名聚合等等 Features。[8]
它具有三个关键组件:
-
通过 EigenLayer 增强安全性,同时旨在提供更多的去中心化和跨 Rollup 的可组合性。
-
通过 Hotstuff 共识算法实现快速最终确定,
-
以及通过专有的 Layer2 合约和 Espresso DA 层汇总交易执行。
这三个组件组成的 Proposer 网络允许用户将事务提交到 Rollup 并由 Espresso 的排序器处理它们,基于 Hotshot 共识协议引导排序器轮换和保证交易的最终原子性。在 Espresso 架构中,用户可以将交易提交到 Rollup,并由排序器处理。排序器使用 Hotshot 共识协议来引导排序器轮换和确保交易的最终性。此外,EigenLayer 的再质押机制使得 Layer1 的质押节点也可以成为 Espresso 的排序器候选者,从而获得额外的质押收益。这一设计旨在提高去中心化程度,同时为 Layer1 的质押节点提供更多收益机会。
好的,今天就分享到这里了,感兴趣的朋友请关注我们!
微信1:victeam005
微信2:shijie20170405
Twitter:https://twitter.com/VICOINDAO
Telegream:https://t.me/VICOINDAOCHA