Espresso提出了一种顺序市场设计,允许rollups将顺序时间段出售给sequencers,从而增强跨rollup事务的原子性执行,共享sequencing能力。通过组合拍卖机制和彩票形式,该市场旨在提高效率、稳定性,并防止垄断,同时支持multi-rollup操作。
作者:Benedikt Bünz, Ben Fisch, Ellie Davidson
我们感谢Justin Drake, Maryam Bahrani, Tim Roughgarden, Scott Kominers, Davide Crapis, Christoph Schlegl, Bruno Mazorra, Philipp Strack等人对我们设计的有益讨论和反馈。感谢Ed Felten指出我们先前版本在分析部分的错误。
Espresso提出了一个用于排序的市场。有关高层次的动机和背景,请阅读我们之前的文章基于Espresso:特设共享排序。在本文中,我们呈现详细的市场设计及其设计决策的合理性。
Espresso可以提供以下几个独立但互补的服务:
这个市场有几个优势,包括将排序外包给专业方的好处。然而,最重要的好处是,购买多个rollup排序权的sequencers可以保证这些rollup之间的原子执行。原子执行允许sequencers满足跨rollup用户的意图,并为跨rollup交易提供强预确认。我们在这篇文章中讨论了这种特设共享排序的好处。
在本文中,我们阐述了Espresso市场的设计并分析其属性。HotShot最终性装置的详细信息可以在这里和这里找到,它独立于市场,但承担多个重要功能:
我们的市场有两个主要目标:
此外,市场还应具有以下属性:
为了实现以上目标和属性,我们使用组合竞标机制将sequencers分配给特定的rollup区块。潜在的sequencers通过购买rollups的抽奖票券作为竞标者参与抽奖。Rollups作为卖方,根据每个时间槽出售其排序权。如果某个潜在的sequencer在特定的数据包(rollups的捆绑)上有一张获胜的票,它将成为该时间槽内这些rollup的共享sequencer。
首先,我们指定如何将sequencer分配机制作为组合拍卖运行。然后,我们展示如何将其转换为抽奖机制,并讨论抽奖相较于拍卖的优点。
组合拍卖可以视作一个第一价格的组合支付拍卖,包含三个阶段:出价阶段、分配阶段和排序阶段。
在进一步讨论拍卖之前,我们做出几个假设:
提议者可以为rollup和rollup捆绑计算预期价值。这是必要的,因为我们在区块内容已知之前进行拍卖。
机制和排序设计的高层示意图:
在出价阶段,每个潜在的sequencer向市场提交他们希望排序的捆绑的出价。sequencers可以对他们希望可进行任何捆绑的出价。在这一阶段之前,所有出价是公开的,潜在的sequencers可以在这一阶段结束之前提交任意数量的出价。潜在的sequencers在提交出价时像在支付出价拍卖中一样,提前支付他们的出价。提前支付出价的目的是:首先,它确保sequencers有足够的资金来覆盖他们的出价。如果出价在区块提议时支付,恶意的sequencer可以提交足够资金的出价并赢得拍卖却在出价执行之前抽走他们的资金,从而白白获得排序权。其次,支付出价拍卖具有优越的经济激励,这将在后面讨论。请注意,未获胜的出价会始终退款。
出价阶段在排序时间之前很早就进行。这是为了让市场有时间计算拍卖赢家并将其公示给HotShot最终性装置。
分配阶段(有时也称为结束阶段)决定拍卖的结果,并根据此结果分配sequencers。拍卖结果通过选择数据包集
S
来确定
B1,…,Bk,使其满足如下条件:
R(每个rollup在获胜集内仅出现一次)进行排列
S的捆绑总出价之和相比其他可能的集合最大。
更具体地,设有
n个rollup,且将保留价格表示为
ri 表示第 i个rollup的保留价格。对于每个捆绑
B⊆[n],设
b(B)表示捆绑
B的最高出价。对于每个单个捆绑
{i},定义
v({i})=max(b({i}),ri)。这个定义隐含地将rollup保留价格解释为单个捆绑的出价。对于所有其他捆绑(至少大小为2),设
v(B)=b(B)。对于任何将
[n]划分为不相交子集的partition
Π={B1,...,Bk},定义
v(Π)=∑iv(Bi)。拍卖找到partition
Π∗=argmaxΠv(Π),使拍卖收入最大化。然后将每个捆绑的排序权分配给提交最高出价的sequencer。对于单个捆绑,若保留价格为最高出价,则rollup本身会被分配到单个捆绑的排序权。见下图获胜捆绑的示例。
四组满足rollup A、B、C、D和E的排列属性的可能组合。在这个示例中,完整捆绑在rollup之间最大化收入,因此它是拍卖的获胜集。
请注意,由于捆绑可以由
R中任何组合的rollup组成,因此找到最大收入的捆绑集可能是一个指数困难的问题,可能需要耗费很长的时间来解决:
现实中的捆绑很可能是所有可能捆绑的一个小子集,因为并非所有的捆绑可能在经济上都有出价的意义。因此,市场可能只需解决几个捆绑组合。
我们可以选择限制求解获胜集
S的时间。在这个时间段结束时,求解者将发布截至目前找到的最高收入最大化的解决方案。
在此期间,任何人都可以提交更优的解决方案。由于所有出价都是公开的,任何一方都可以提交解决方案。
由于解决方案是集内所有捆绑的出价之和,因此可以通过简单地比较各自捆绑价值的总和来验证某个解决方案是否比另一个更具收入最大化。
在此阶段结束时,最终性装置将最终确定拍卖结果。
每个在获胜集
S内的捆绑的拍卖赢家在指定时间槽期间获得该捆绑的排序权。这些赢家现在是其捆绑内各个rollup的sequencers;他们将为捆绑内每个rollup提议下一个区块,并将提议提交给HotShot最终性装置。当时间槽到达时,每个sequencer向网络提议其区块。网络验证来自每个捆绑的正确拍卖赢家的提议并逐步最终确认结果。最终,未获胜的投标者会退还其出价。
回想一下,我们的主要目标之一是确保rollups参与市场的收益总是优于单独排序。因此,在给定特定拍卖结果时,我们必须在rollups之间分配收入。如果获胜集
S 仅包含单个捆绑,则市场可以给每个rollup 的收入等于其单个捆绑的出价。但是,为了支持共享排序,我们将rollups打包出售。因此,我们需要一种机制来分配来自捆绑rollups生成的剩余收入。核心思想是,每个rollup的收入与仅包含该rollup的单个捆绑上的最高出价成正比。我们在下面更详细地指定机制。它具有以下参数:
i 上的最高出价,解释为保留价格
ri。
B 上的最高出价。
bi 作为支付金额。这意味着rollup至少获得单个捆绑上最高的出价(或保留价格)。这保证了rollup在市场上的处境优于单独排序,前提是其保留价格设置高于其单独排序可获得的收入。
i∗ 包含在捆绑
B={i1,…,ik} 中,且
b(B) 是对该捆绑的最高出价,那么它还将接收到:
(b(B)−∑j=1kbmax,ij)⋅bi∗∑j=1kbij
也就是说,rollup将以最高单个捆绑出价为基准,接收与其共享排序收入成比例的金额,这表明了rollup单独获得的收入。
市场收取少量费用。这一费用被销毁,旨在抑制设定不诚实的高保留价格。费用由两个部分组成:与保留价格成比例的费用,以及与共享排序收入成比例的费用。
市场不会干涉rollup的执行费用(即,Gas费用)。这些费用与今日保持一致。此外,sequencers将其区块提交给HotShot最终性装置。HotShot确保在提交之后,没有人可以改变rollup交易的顺序。这使得下一个sequencer能够安全地在先前区块的基础上进行构建,还能实现更快的桥接。
组合拍卖公正地在rollups之间分配收入,确保那些最看重rollup的sequencers获得排序权。然而,拍卖的一个问题是,同一方会赢得过多的次数。
回想一下,拍卖在区块数据未知之前进行。这意味着sequencers基于捆绑的预期价值出价,而非其真实价值(这与当前以太坊的PBS不同)。这个预期价值应该在一段时间内保持不变。因此,同一sequencer可能在拍卖的每个实例中都赢得同一个rollup。
我们将组合拍卖转变为组合彩票以减轻这个问题。我们的设计与最近提出的执行票 的概念相似。我们在下面描述核心变化:
pB出售最多
tmax 的彩票票券。请注意,我们可以动态排除需求有限的捆绑,以简化出价/获胜者的确定。
p。如果出售的票总数超过
t,价格将在下一次彩票抽奖中向上调整。如果出售的票数少于
t,价格在下一期开奖时向下调整。
我们提出可行的彩票价格调整算法,如下所示。我们的设计模型借鉴EIP1559和PoW的难度调整。我们邀请社区分析这一提案并建议其他方法。
我们希望出售的期望票数为
t。我们最多将出售
tmax=2t票。前
1.5t 票的价格是恒定的,然后从
1.5t线性增长至
2t。这确保了在需求没有大幅变化的情况下,每个人支付相同的票价,而购买所有票券变得日益昂贵。这确保了单个出价者仅通过提高自己的票价便可以将其他投标者挤出市场。
票价:x轴是已经出售票的百分位数。y轴是assume pS=1时的价格。价格固定,将在线性增长至最后四分之一的票数。
在第二个图中,我们展示如何计算下一次彩票迭代的票价。若在前一轮抽奖中遭遇过度或不足的需求,它将被调整。我们确保两次迭代之间的票价最多是加倍或减半。
tmax=2t
B的最低票价初始化为
bB=maxB′⊂Bv(B′),同时将票价设置为
pS=bB/t。所以,让捆绑
B所有票的最低价格为上一次迭代对该捆绑的最高出价。将票价
pB 设为捆绑价格除以
t 的票数。
pB的价格售出前
1.5t 票。
1.5t 至
2t 之间普通价为
pB+(i−1.5t)⋅2pB/t。也就是说,票价在1.5t至2之间线性增加。
max(pB,pB+(i−1.5t)⋅2pB/t),这使得最后一张票的价格为
2pB。
n张票,市场将下一轮票价
pB′设为
max(pB/2,bB/t,n/t⋅pB)。也就是说,下一次迭代票的价格将是旧票价的一半、新计算的最小票价和
n/t⋅pB中的最大值。
更新函数的图,x轴为
n/t, bs=0.5,ps=1, t=1。
正如我们在我们的基于Espresso文章中阐明的,Espresso市场和最终性装置最强大之处在于L1提议者是一个或多个rollups的sequencer。原因在于,L1提议者可以同时构建L1区块和rollup区块,从而满足用户意图,并促进rollups与L1之间的互操作性。这一设计符合定义的基于排序。
如果我们在L1提议者的查找时间内运行市场抽奖,则L1提议者可以像其他潜在的sequencer一样参与抽奖。然而,这仍然不能保证L1提议者赢得排序权,因为在抽奖中其可能运气不佳。为了解决这个问题,我们使用了一个简单的想法:给予L1提议者优先购买权。在特定时段内所有彩票票券都被购买后,L1提议者可以选择买out获胜捆绑(或者多个捆绑)的所有票。这使它拥有为该捆绑内的rollups构建L1区块和rollup区块的独占权利。优先购买权不需要对L1进行任何改动,L1提议者仅需可选行使这一优先购买权。L1提议者会补偿获胜票的持有者给定的票款加上可能的附加费用。
我们现在分析市场的不同属性以及它们是否达成了前面列出的目标。我们给出非正式的论点,但每个属性的分析值得进一步研究和探索。
可选性确保诚实报告的rollup从市场获得的收入高于其单独生成的收入。这是通过rollup设置保留价格的能力实现的。如果没有竞标清除保留价格,则将不会将rollup分配给市场的sequencer。
市场效率的标准是将rollup的排序权分配给最看重该rollup的sequencer(可能作为捆绑的一部分)。这确保了如果两个rollup之间存在共享排序的互补性,则它们必须一起分配。我们做出简化假设:市场中的所有竞标者都将所有商品(即,所有rollup排序权)视为补充。我们的理由是控制多个rollup的sequencer始终可以转售单个排序权。
我们首先分析市场的拍卖变体。组合拍卖选择最大化拍卖收入的分配。该赢家确定是等价于高效分配的_如果_所有市场参与者都诚实。尽管我们不声称市场是完全激励兼容的,但我们推测组合拍卖在均衡下仍能带来高度有效的结果。测试这一假设需要均衡分析。然而,已有研究表明在许多领域以及几乎任何支付规则下,组合拍卖的均衡效率极高。
此外,尽管我们并未运行组合拍卖,但我们运用的是彩票。彩票等价于支付出价拍卖,其中多个竞标者(购买彩票的投标者)共同出资形成一个单一出价并获得按照比例分配的权益。请注意,尽管这可能导致收入下降,但增加了赢家的多样性。简单来说,例如,如果以价格1出售的无穷可分的物品,两个竞标者都对该物品的价值为1。在第二价拍卖中,单个竞标者将获得所有单位,支付1,即其价值。在支付出价拍卖中以按比例分配(即彩票),每个竞标者获得0.5个单位,并支付0.25。这是因为出价者产生了0.25的利益。如果他们出价0.25+δ,他们将赢得(0.25+δ)/(0.5+δ)的物品,并支付0.25+δ,供非(0.25+δ)/(0.5+δ)−0.25−δ。此价格以δ=0达到最大值。这表明出价0.25为均衡(它是对此的最佳回应),且在均衡中,a)两个竞标者的中标频率均为一半,且收入低于赢家通吃的拍卖。
市场作为一个重复游戏进行,每轮销售本质上相同的商品。这应该显著改善稳定性,因为每当达到均衡时,捆绑彩票票的定价应保持不变,因为商品和竞标者基本保持不变。
市场将推动去中心化,因为它使rollups能够(今日几乎完全依赖中心化sequencer)出让排序权,而无需放弃排序收入。此外,我们的机制设计为彩票而非拍卖。关键动机在于,多个竞标者可以为同一rollup(或rollup捆绑)购买彩票票。排序权将在所有彩票票之间随机分配。然而,这引出了一个明显的问题:
为什么价值最高的投标者不购买特定rollup的所有彩票票呢?
我们用几个理由回答这个问题:
总体来看,这个问题还值得更加深入的探讨,但第4点可能是最有力的论点。在执行票中也出现了类似的问题,在关于多时槽 MEV 的讨论中提到这里。执行票使用该设计的简化版本,仅出售信息的排序权。
我们并不声称此机制是激励兼容的。
唯一激励兼容且高效的机制是著名的VCG机制。然而,有许多实践和理论原因表明VCG机制在实践中往往不是最佳选择。VCG机制甚至不保证市场是平衡的,即销售者(在我们的情况下是rollups)获得的收入至多与买家的出价(sequencers)相当。
尽管如此,我们希望机制的重复性质能够使参与者有效地执行获胜策略。为了促进拍卖的重复性质,我们提出一种平滑的价格更新规则,在需求过剩或不足时平滑地调整彩票票价。这一更新规则旨在帮助价格发现和均衡寻找。
- 原文链接: hackmd.io/@EspressoSyste...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!