同享排序器正在飞速开展,是时候对它是什么及其存在的原因进行深入剖析了。这篇文章剖析的对象仅限于 Optimistic Rollup,欢迎 ZK 关注者前来指导。

排序器是什么?

排序器是 Optimistic Rollup 中的半信赖化人物。尽管买卖能够由主链自身进行排序,但这并不经济,用户有必要独自提交其 Rollup 买卖对应的主链买卖,并付出主链上费用。排序器经过答应 Rollup 买卖同享单个主链买卖来为用户处理这些问题。

排序器聚合链下的多笔用户买卖来补充主链的排序,并将它们作为单个买卖调集提交到主链,买卖本钱在用户间分摊。排序器还能够紧缩买卖调集,进一步节约主链数据可用性本钱。与依靠 排序器的用户相比,自主排序的用户将为包括在 Rollup 中的买卖付出更多费用。

可是,排序器能够对买卖调会集的买卖排序进行操控。它能够挑选不包括用户买卖,然后迫运用户自行排序,付出更高的主链本钱。它还能够经过从头排序和插入提取的办法在买卖调会集提取 MEV。它们实际上具有对 Rollup 的优先写入权限。值得注意的是,由于排序器能够与合约交互,所以只要肯定牢靠的买卖才能经过链上机制牢靠地强制履行,不牢靠的买卖在强制排序时很或许会失利。

这使得排序器成为 Rollup 用户的半信赖方。尽管排序器无法阻挠用户拜访 Rollup,但他们能够推迟用户的拜访,导致用户承担额定的费用,并从用户的买卖中提取价值。经过去中心化进一步约束排序器的行为是一个活泼的研讨课题。

排序和履行有什么区别?

排序器是主链排序的补充,它不核算 Rollup 的状况,实际上它或许会挑选对无效买卖进行排序。Rollup 节点有必要解析和清理排序数据,导出 Rollup 的有用前史记录,并履行前史记录以生成最新状况。排序器则完全不参与此过程。

不过,正如我的朋友 Fred 不断提示我的那样,一旦买卖被排序,成果便是承认的。这意味着一切 Rollup 节点将依据排序器生成的次序达成一致成果。给定已知前史,Rollup 有一个正确的状况。一旦节点找到这个状况,一个或多个提议者会将其提交给主链的 Rollup 合约。

理论上,任何节点都能够是提议者,不需求任何权限。提议者将状况连同保证金一起提交给主链。假如诈骗证明成果是状况无效,保证金就会被没收。该合约在计时器结束后承受证明,然后其间包括的用户买卖在主链上履行。履行节点经过诈骗游戏保证提议者诚实,咱们倾向于将履行节点称为「Rollup 全节点」或「验证者」。

换句话说,一旦排序被提交到主链,状况就变成终究的和不行变的。提议者核算并陈述终究状况给 Rollup 合约,以维护 Rollup 到主链的财物桥的利益。提议者不会创造状况,他们仅仅核算并证明它。Rollup 合约不会创立或终究承认 Rollup,它仅仅从提议者那里取得 Rollup 状况。

为什么要将排序和提议别离?

这是一个杂乱的问题。从根本上说,将它们分隔是由于它们自身是分隔的。这听起来像是同义反复,但好像每个人都花了很长时间才意识到这一点。咱们蓦然回首,才发现 Rollup 的思想前史多年来一直在 Plasma 和状况通道中曲折开展。在基于比特币的 proto-Rollup 早期,并没有排序器,用户只需将他们的买卖发布到主链。之后,这种规划消失多年,终究由于 Barry 的作业从头呈现。在 Barry 和 Celestia 之间,Rollup 的研讨首要会集在 Rollup 桥与主链的交互上。在 Sovereign Rollup 呈现之前,乃至没有人意识到咱们其实在构建更好的 Mastercoin。

抛开出处不谈,排序器处理了一个特定的问题:用户买卖本钱最小化。然而,这个过程中又引入了一个新问题:排序器能够一起对同一买卖发生多个排序成果。假如排序完全由主链完成,将会有一个单一的标准排序,但用户买卖费用会更贵重。咱们挑选运用排序器来改进 Rollup 中的用户体会。

假定存在很多个排序器,由于有多个提议者。排序器们能够提交彼此抵触的排序,咱们现在需求一种机制来「标准」主链上的特定排序批次。当时的 Rollup 经过一个单一的、特定的、已知的、半可信的排序器来完成这一点。挑选单个排序器使咱们能够处理这个问题,直到去中心化排序器到来。由于咱们想要多个提议者,但只需求一个 排序器,所以有必要将这两个人物分隔。

数据依靠性是另一个重要的原因:提议者需求排序,可是排序器不需求状况。提议者依靠于排序器作业的输出,可是排序器不依靠于提议者。由于数据依靠是单向的,所以需求在人物之间划定界限,并答应参与者专心于单一人物。

为了答复开始的问题,咱们将提议者和排序器分隔,由于它们自身是分隔的。提议者在排序器的下游作业。Rollup 将信赖和威望颁发了排序器,而提议者仅仅一个普通作业人员。

排序器、提议者和验证者现状

Arbitrum 和 Optimism 是两种常见的 ORU 方案。我想简要介绍一下他们中的首要人物,不会触及到代码,仅仅标准和文档。Optimism 的讨论将仅限于(尚未布置的)Bedrock 规划。

Arbitrum

除了批处理和紧缩用户买卖外,Arbitrum 排序器还运转一个完好的节点。买卖被直接发送到排序器,它在买卖排序时创立一个可信的 WebSocket 概要。Arbitrum 将此概要作为「软」承认来历。排序器对排序成果作出许诺,用户通常能够依靠该排序。节点、MEV 搜索者或其他参与者能够运用此概要来预先核算 Rollup 状况。

排序器会定时将经过排序的紧缩买卖发布到主链。主链终究承认代表 Rollup 的「硬」承认。一旦主链承认了排序,它就成为 Arbitrum 链上不行更改的部分,其间排序的一切买卖都成为终究状况,成果状况也成为终究状况。

自然地,由于排序器设置买卖次序,所以它具有优先写入权限。排序器能够操控排序的内容,然后操控 Rollup 前史中买卖的排序。当然,用户能够经过主链上的 delayed inbox 强制包括买卖。搜索者现已尽心竭力将 WebSocket 买卖概要的推迟降到最低,因而他们很或许会形成一个强壮的 MEV 商场来对 Arbitrum 买卖进行排序。

有 13 个经过答应的 Arbitrum 提议者,他们中每一个都在名为「RBlock」的特定许诺中托管了 ETH。用户能够挑选依靠必定份额的质押来做出关于 Rollup 的终究决定,而无需运转 Rollup 完好节点。尽管 Arbtirum 验证者能够辨认诈骗,但只要提议者能够经过诈骗证明质疑许诺的有用性。实际上,只要提议者能够成为完好的验证者。

Rollup 排序器完全指南:概念、现状与共享排序

正义,就像一个排序器,是盲目的,它有必要带着剑

Optimism

与 Arbitrum 相同,除了批处理和紧缩用户买卖外,Optimism 排序器也运转一个完好的节点。买卖直接发送到排序器,排序器在排序时创立可信的预承认。Optimism 用户能够运用这些承认作为终究软承认的来历。排序器对排序作出许诺,用户通常能够依靠该排序。节点、MEV 搜索者或其他参与者能够运用这些承认来预先核算 Rollup 状况。

排序器会定时将经过排序的紧缩买卖发布到主链。主链终究承认代表 Rollup 的「硬」承认。一旦主链承认了序列,它就成为 Optimism 链前史中不行更改的一部分。其间排序的一切买卖都成为终究状况,成果状况也成为终究状况。

自然地,因排序器设置买卖次序,所以它具有优先写入权限。排序器能够操控排序的内容,然后操控 Rollup 前史中买卖的排序。当然,用户能够经过在主链强制包括买卖。作为 MEV 拍卖概念的发起者,一个用于排序 Optimism 买卖的强壮 MEV 商场好像将要形成。

Optimism 有 1 个经过答应的提议者。该提议者签署了对主链的特定许诺,称为「状况输出」或「L2 输出根」。用户在做出关于 Rollup 的终究决定时能够挑选依靠提议者 ,而无需运转 Rollup 全节点。尽管 Optimism 验证者能够辨认诈骗,但只要一个经过答应的应战者能够经过签名来应战许诺的有用性。应战者能够随时删去一个 L2 输出根,无需诈骗证明。实际上,只要取得答应的应战者才能成为完好的验证者。

小结

当时两个首要的 Rollup 都会集在同一种规划上,它或许会变得十分混乱。他们经常对同一个概念运用不同的名称,但他们的规划简直相同。

Rollup 排序器完全指南:概念、现状与共享排序

同享排序器

在对排序器有了新的理解后,让咱们持续讨论我真正想谈的内容:同享排序器。当 Rollup 同享同一个排序器时会发生什么?

不同的 Rollup 是什么意思?

借用 Ben 的界说,咱们应该将 Rollup 视为状况、状况转换函数和证明体系。Rollup 有合约和账户,它有一个虚拟机来处理买卖以更新这些合约和账户,而非主权 Rollup 有一个证明体系来运转与主链的桥接。每个组件有多种规划,它们能够在必定程度上混合调配。

可是,有些组件比其他组件更相等。总的来说,咱们大概应该把状况看作是链的本质。链不倾向于改变它们的状况。毕竟,以太坊开发者屡次更改虚拟机,屡次更改共识机制,但只更改过一次状况。状况便是 Rollup,虚拟机和证明体系的存在是为了支持它。因而,不同的 Rollup 具有不同的状况。它们或许同享一个证明体系或一个 STF,但两个 Rollup 永久不行能同享相同的状况。

提取、查看和过滤

Rollup 从主链前史中获取它们的状况。为了做到这一点,每个 Rollup 都有必要界说一个「提取」函数。提取函数将主链前史分为 Rollup 前史和 non-Rollup 前史。STF 处理 Rollup 前史以创立 Rollup 状况。实际上,提取功用变成了一个「镜头」,Rollup 经过它查看主链。

Rollup 使排序器能够挑选提取函数下一次运转的输出。排序器挑选 Rollup 节点下一步将看到和处理的数据,因而对 STF 的操作和下一个状况有必定的操控。

在排序器创立主链数据视图后,Rollup 节点运转过滤功用。由于排序器不必定知道它所服务的 Rollup 的状况,所以答应在其排序中包括无效买卖。提取后,Rollup 节点会看到这些无效买卖,并将其删去。当给定无效买卖时,Rollup 节点不会犯错(就像主链那样),而是简略地忽略它并持续。L1 有必要禁止垃圾信息以保持共识,而 Rollup 则不需求。

同享排序器

同享排序器为两个或多个 Rollup 的提取函数供给输入。因而,它为两者设置新的前史记录,操控 STF 的输入。它能够独自为每个 Rollup 履行此操作,也能够一起为两者履行此操作。独自设置前史记录时,它的作业方式与未同享的排序器完全相同。

然而,当一起为两个 Rollup 创立新的前史记录时,同享排序器能够经过原子「链接」两个 Rollup 的前史记录来行使一些额定的权利。排序器一起为每个 Rollup 生成序列,并保证两者都承认或都不承认。这答应排序器对两条链的前史进行操控,因而对 Rollup 的下一个状况有必定程度的操控。

原子包括(不是原子履行)

在这一点上,我有必要重申,排序器能够对其发生的排序行使很大的自由裁量权。这意味着尽管用户能够运用同享排序器在多个 Rollup 上进行买卖,而无需与主链进行交互,但他们不必定依靠 排序器在这些买卖之间发生任何特定的联系。同享排序器的支持者想象了一种新结构,用户能够在其间指定包括的原子性,即能够强制排序器经过同享强制排序机制一起对多个 Rollup 中的一组买卖进行排序。这将答使用户保证一切这些原子买卖都包括在 Rollup 前史中,或者悉数不包括。

这并不像看起来那么好。由于只要肯定牢靠的买卖才能强制排序,只要肯定牢靠的买卖集才能保证在原子包括时原子履行。正如咱们之前所说,包括和履行是分隔的。Rollup 在包括之后和履行之前经过过滤器功用过滤掉无效买卖。假定排序器获取用户的原子集,并导致一个买卖失利或失效。该买卖将在排序后被过滤,而且不会履行。这意味着原子包括不足以保证原子履行,除非触及的一切买卖都是肯定牢靠的。

详细而言,能够原子履行简略的发送和取款,但任何容易犯错的东西,如交流或 DeFi 交互,都不能。不幸的是,大多数高价值交互都包括 1 个或多个容易犯错的买卖,因而好像很难使原子包括发挥作用。这有用地排除了经过同享排序器进行穿插 Rollup 的 DeFi 可组合性。同享排序器不是灵丹妙药,用户的财物或许被锁定在异步跨链模型中,直到流程结束。

Rollup 组合的原子履行

还记得之前谈到的排序器如何在将排序发布到主链之前供给可信的履行保证吗?您能够想象一个同享排序器针对多 Rollup 体系做同样的工作。同享排序器能够运转每个 Rollup 的完好节点,并运用它们来承认买卖是否成功。然后它能够许诺它不会发生原子买卖集不悉数成功的排序。

当然,这个体系是值得信赖的。你会信赖排序器不会扯谎。您现在或许在想「咱们能够经过约束排序器的行为将其转换为免信赖的体系吗?」 我很高兴 / 悲伤 / 困惑地说答案是「是的,可是」。是的,但咱们这样做的办法是组合每个 Rollup 的 STF,以创立一个履行一切组合 Rollup 买卖的单个 STF。也便是说,咱们有必要使一切 Rollup 之间的一切虚拟机原子化。这相当于使它们成为相同的 Rollup。所以是的,咱们能够完成不受信赖的原子履行,办法是经过将多个 Rollup 合并为一个。这或许是个好主意 1, 但我怀疑它的可行性。

偶尔性联系的原子履行

我在别处写过这个,另一个牢靠的挑选是在买卖和 Rollup 状况之间集成显式的偶尔联系。这会将评价突发事件的担负转移到提议者身上,由于他们有必要依据他们对长途 Rollup 的信赖来核算和提议状况根。可是,我认为咱们能够经过重复使用过滤器功用来简化它。假定偶尔性在某个买卖和区块中是明确的,咱们能够运转两次过滤器,一次假定猜测的状况有用,一次假定猜测的状况无效。这能够扩展到 n 个猜测状况,价值是对过滤器函数进行 2^n 次评价.

在这个世界上,提议者能够证明 2^n 个根,每个根都有明确的偶尔联系。例如,提议者能够证明「根是 X 取决于长途 Rollup 状况 A,否则是 Y」,而不是说「根是 X」。这样,提议者就不会永久评价长途 Rollup 区块。相反,他们会依据来自其他状况的假定信息,屡次评价自己的过滤函数和状况。这真的很酷,由于它保留了 Rollup 的别离,一起依然答应杂乱的即时穿插 Rollup 通信。

定论

排序器是挂钟匠巧夺天工之作,它设置 Rollup 前史记录,然后看着它滴答滴答地走到它的命定状况。Optimism 和 Arbitrum 并无多大差别,但两者安全性确有不同。没有人知道排序器是做什么的。同享排序器能够进行原子包括,但不能进行原子履行,假如没有 Rollup 组合或其他一些履行机制,就无法将原子包括归入原子履行。一切这些关于同享排序器完成无缝互操作性的揄扬都是垃圾科学。

此时快讯

【比特币全网未确认交易数量为331253笔】金色财经报道,数据显示,目前比特币全网未确认交易数量为331253笔,全网算力为338.35 EH/s,24小时交易速率为7.12交易/s,目前全网难度为48.01 T,预测下次难度下调0.59%至47.72 T,距离调整还剩9天6小时。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注