LAS:开发者必读:如何落实区块链的抗审查特质?

原文标题:《Censorship...watdo?》

原文作者:JonCharbonneau

原文编译:RR

本文来自微信公众号老雅痞。

介绍

审查与以太坊的价值观是不兼容的。

在过去的一个多月里,我们花了足够多的时间来思考我们是如何走到这一步的。我将讨论未来的道路——我们如何解决这个问题?

开发者们该怎么办?

与审查制度作正面斗争应该是第一要务。撤资很可能也需要尽快解决。

不过,规模扩张之类的问题确实可以退居其次。以太坊可以在收费稍高的情况下生存,但它不能在审查制度下生存。EIP-4844、Danksharding和其他升级都很复杂,可能会分散大量的时间和注意力。如果真的需要的话,EIP-4488可以非常快速地实现,并且非常有效。

优先考虑抵制审查是展示社区价值观最明确的方式。如果不这样做的话,将是一个可能会损害可信度的非常糟糕的信号——如果核心协议开发都不会这样做,为什么验证者、Flashbots或任何其他中继者/建设者要优先考虑抗审查呢?

此外,现在是熊市,每个人都很穷,或者正在逃亡。收费是可接受的。

MEV-Boost

先简要概述一下架构。

捕获MEV需要复杂的技术。如果验证者被赋予这一任务,它们将变得中心化——只有能够提取MEV的成熟验证者才能获得有竞争力的回报。提议者-建设者分离(PBS)解决了这个问题——创建一个新的专门的「建设者」角色来构建最佳区块。然后,建设者向提议者(验证者)出价以接受他们的区块。成为提议者仍然很容易,他们获得有竞争力的回报=保持去中心化。

PBS最终将被内置到协议中,但它还没有准备好。不过PBS已经在这里了——MEV-Boost目前是协议外的垫脚石(尽管有额外的信任假设)。它是一个附加的边车软件,验证者可以运行它来查询外包的区块构建。验证者仍然保留使用他们自己的执行客户端并在本地构建区块的选项。

许多MEV搜索者运行特定的策略,并为建设者出价,以包括他们的bundle。建设者可以聚合这些bundle+任何其他私有订单流+公共mempool交易→构建最优的完整区块。一些建设者也可以将搜索内部化,并自己扮演这个角色。

中继者概述

中继者是提议者和建设者都信任的中介。他们接收建设者的区块,并在将其发送给提议者之前将其托管。对于一个特定的中继者,这个过程可以是这样的:

公共版本1inch Swap API将于明日关闭,可通过开发者门户访问1inch API:8月10日消息,1inch宣布,公共版本的1inch Swap API将于8月11日17:30关闭,将被1inch开发者门户上的解决方案取代,开发人员应在此之前迁移到1inch开发者门户。[2023/8/10 16:18:24]

设计目标

MEV-Boost解决了MEV-Geth的两个主要不足之处:

1.Solo-staker参与

PoW矿工会收到bundle,然后他们将创建一个完整的区块,将这些bundle放在顶部。他们从未被发送过完整的区块。Flashbots从未将被OFAC列入黑名单的交易纳入其bundle中,但这并不重要,因为矿工可以将它们包含在区块的其他任何地方。

这一方案意味着信任矿池运营商——他们可以清楚地看到这些bundle,所以如果他们愿意,他们可以直接为自己窃取这些机会。这种信任无法扩展到一个庞大的以太坊验证者集合。这就是为什么MEV-Boost要为提议者提供完整区块的原因。提议者在区块主体被透露给他们之前签署并提交区块标题。如果他们在看到区块主体后试图MEV偷窃,他们将需要提出另一个区块。他们的原始签名会被呈现出来→提议者因重复签名而被砍掉。

这种全区块方案能够实现验证者的去中心化,但它在中继者/建设者层面增加了显著的审查风险。如果验证者接受来自审查中继者的区块,他们将成为事实上的审查者。

如果审查建设者是最有利可图的建设者,那么提议者就被迫在以下两者之间做出选择。:

经济理性——接受价值最高的区块,即使被审查

利他主义——接受价值较低的区块,不进行审查

理想情况下,利他主义假设应该被完全删除或尽可能最小化。

2.客户多样性

大多数矿工都在运行GoEthereum(Geth)客户端,所以Flashbots简单地将其分叉,创建了MEV-Geth。运行它是参与FlashbotsAuction的唯一途径。PoS是一个提高客户多样性的机会。MEV-Boost边车可与所有共识和执行客户端互操作。

MEV-Boost是中立的基础设施:

中继者——可以在任何限制或策略下自由运行(例如,审查/不审查,「公平」订购/最大利润等)。中继者可以按照自己的意愿接受建设者的区块。

建设者——可以自由地运行任何他们喜欢的策略,并部署到任何他们信任的、愿意接受他们的区块的中继者。

验证者——可以自由运行MEV-Boost或不运行。他们可以自由地使用任何他们想要的客户端。可以根据自己的意愿自由地连接到更多或更少的中继者。MEV-Boost是一个有效的中继者聚合器,它从提议者选择的中继者中选择最有利可图的出价。

MEV-Boost不审查OFAC交易或三明治交易。它只是允许提议者将构建外包,从与他们匹配的中继者中进行选择。

审查

以下是我对审查的讨论框架:

薄弱的审查=延迟但最终被纳入。如果50%的验证者不包含OFAC交易,那么平均而言,它们将在2个区块(24秒)后被纳入。如果是90%审查,它们将在10个区块(120秒)后被纳入,以此类推。

严格的审查=被审查的交易不被包括在链上。在Gasper中,这需要51%的验证者不仅要审查他们自己区块的OFAC交易,而且还要主动忽略所有包括它们的新区块。

Terra Classic开发者成功重启IBC通道:12月13日消息,今日,Terra Classic网络至Osmosis的IBC通道已被开发者重启。本次IBC的重启由核心开发人员Edward Kim提议,以此跟上Cosmos生态系统的变化。随着IBC通道的重启,用户被困在Terra Classic网络的流动性可被重新利用。

今年夏季,在Luna崩溃之时,开发者在Edward Kim的提议下关闭了IBC通道。[2022/12/13 21:41:47]

验证者似乎没有迫在眉睫的审查威胁。他们似乎采取了这样的立场:他们没有义务审查OFAC交易。如果需要,这可以通过用户激活的软分叉或削减来解决,但这不是我在这里的主要焦点。

迫在眉睫的审查威胁处于中继者/构建者层面。这主要来自运行最大型中继者和建设者的Flashbots。然而,其他中继者也会进行审查——它们只是市场份额较低,其中包括:

bloxRoute「受监管的」中继者

Blocknative

EdenNetwork

Non-censoring中继者:

bloxRoute「利润最大化」中继者

bloxRoute的「伦理」中继者

ManifoldFinance

我将重点讨论如何在这个层面上减轻威胁。

验证者该怎么做?

前段时间我写了这个帖子,但最近我又在思考这个问题。我仍然有类似的感觉——我认为最好是运行MEV-Boost,但只使用非审查的中继者。

说实话,如果我是一个验证者,我宁愿根本不运行MEV-Boost。Flashbots是最可靠的实时中继者/建设者运营商,所以我在使用它们中的一些时会感到不舒服。但积极促成更多的审查制度是有害的。

所以运行个人客户端听起来不错,也很容易,但我认为最好还是和那些其他非审查中继者一起运行MEV-Boost。否则,低采用率又会带来负面的外部因素(pga等)。此外,运行它的验证者将比不运行它的利他验证者赚得更多——他们将在足够长的时间内系统地增加市场份额,挤掉利他的验证者。

忽视MEV并不会让它消失,我们以前就见过这种情况。

更低的Flashbots中继者采用率可能意味着更少的审查。在撰写本文时-MEV-Boost的采用占验证者的42%,而Flashbots正在构建~60%的MEV-Boost区块=~25%的以太坊区块在那里被审查。MEV-Boost的采用率也在稳步上升。目前,来自其他中继者的审查非常少(它们只是没有有意义的市场份额)。

实际上,我不认为「更少的审查」有什么区别。如果你的审查率是20%vs.40%vs.60%,那么这些OFAC的地址就会被审查,他们必须等待。如果审查率上升,他们就会多等一会儿。

然而,我确实认为,从信号的角度来看,这是非常重要的。以太坊应该向世界传达,这种行为不符合我们的价值观,而且不会被容忍的。

协议怎么做?

不幸的是,上述「只要不要使用Flashbots中继者」的解决方案,依赖的是提议者的利他主义。如果Flashbots曾经构建过最有价值的区块(他们通常会这样做),验证者就会主动选择不使用它们来赚更少的钱。愿意接受被审查区块的验证者将再次按比例获得市场份额,而有意义的利他主义根本不是一个可持续的长期战略。我们需要更好的协议设计。

以太坊开发者:以太坊侧链Gnosis Chain合并测试网Chiado已合并成功:金色财经消息,ETH2.0核心开发者dapplion发推称,以太坊侧链Gnosis Chain的主要合并测试网Chiado已合并成功。虽由于未同步的nethermind节点,参与下降,但最终完成了合并。[2022/8/17 12:30:24]

Enshrined?PBS和crList

当PBS被内置到协议中时,中继者就会消失。建设者将通过协议内拍卖直接与提议者进行交互。建设者承诺无条件支付,消除了信任的需要。一旦提议者签署了建设者发送的区块头,他们就可以得到相关的出价(即使建设者随后披露了一个无效的区块体或完全扣留它)。

crLists对这种能力进行了检查。确切的实现是一个开放的设计空间,但这里有一个「混合PBS」的简化概述。提议者指定一个清单,列出他们在mempool中看到的所有符合条件的交易,建设者将被迫将它们包括在内(除非区块已满):

提议者发布一个crList和crList摘要,其中包括所有符合条件的交易。

建设者创建一个提议的区块,然后提交一个包含crList摘要的哈希值的出价,以证明他们已经看到了它

提议者接受中标者的出价和区块头(他们还没有看到区块体)

建设者发布他们的区块,并包含一个证据,证明他们已经包含了来自crList的所有交易,或者区块已满。否则,这个区块将不会被分叉选择规则所接受。

认证者会检查发布的主体的有效性

请注意,你实际上也可以在enshrinedPBS之前实现crList的某些版本,尽管它看起来会有所不同。这里有一个来自Flashbots的Quintus提出的建议。在enshrinedPBS之前,替代crList提案也在进行中。应该优先考虑某些形式的纳入清单,甚至可能是一些最小形式的enshrinedPBS。期待这里会有更多的建议。

Barnabé提供了另一个类似的想法。本质上,提议者可以为区块创建一个前缀,以包含顶部的其他审查交易,,然后建设者可以构建剩下的部分(或者如果没有审查的交易要包括的话,可以构建整个区块)。

使用EigenLayer通过MEV-Boost保留区块提议者代理

另一种方法返回提议者的代理以附加交易。该方案利用EigenLayer来增强MEV-Boost,从而增加其审查阻力。

EigenLayer是一个「重塑」的集合,预计将在明年晚些时候上线。选择加入EigenLayer的以太坊验证者通过将验证者提取地址设置为EigenLayer智能合约,使自己受到额外的大幅削减条件的约束。

协议可以无许可地部署在EigenLayer之上,并试图激励这些验证者选择使用相同的质押来保护自己的解决方案(除了以太坊)。验证者选择加入他们所选择的任何EigenLayer应用程序。它们可以因为违反应用程序的规则而被砍掉。这使得其他协议(无论是新的跨链桥、数据可用性层,还是其他任何东西)可以直接利用以太坊的经济安全子集。

那么,这如何适用于MEV-Boost呢?选择这个结构的参与者执行了以下操作:

动态 | 以太坊开发者提议于 1 月 6 日通过硬分叉移除难度炸弹:在以太坊开发者会议中,有人提议在区块高度 920 万左右进行硬分叉以移除难度炸弹,预计发生在 1 月 6 日前后。根据开发者在讨论组中的数据来看,以太坊的区块生成时间在移除难度炸弹之前将一直保持增长,到 1 月 6 日左右可能会达到 25 至 30 秒时间,根据 Etherscan 显示,以太坊历史上也就在 2017 年 10 月前后出现过长时间 30 秒的出块时间。另外,以太坊的斯坦布尔升级计划于 12 月 7 日进行,早于此次提案的硬分叉一个月时间。[2019/12/2]

提议者用EigenLayer重新质押他们的ETH

建设者将他们的区块(builder_part)连同所含交易的Merkle_root和他们的出价一起发送给中继者

中继者通过存储交易来提供数据可用性(DA)。Relay将merkle_root和出价发送给提议者,以获得最有利可图的有效区块

提议者从所有连接的中继者中选择最高的出价

提议者在本地建立他们自己的备份替代区块B_alt

提议者向中标者的merkle_root发送一个认证,并将其与承诺的commit_B_alt(不是区块头,可能是交易根)相连接,发送到自己的区块B_alt上

中继者显示包含基础交易的builder_part,并将其发送给提议者

提议者构建一个包含builder_part的新区块,并附加一个额外的proposer_part(如果他们看到想要包含的其他交易,并且区块中还有空间)。如果中继者未能释放基础交易,区块提议者将提议他们构建的区块B_alt。

如果提议者提出了B_alt以外的区块,提议者必须包含builder_part,否则它们将通过EigenLayer被砍。这是他们必须遵守的附加条件。这消除了信任提议者的必要性——如果他们在看到基础交易后试图窃取MEV,他们将不得不提议一个B_alt以外的区块,并将被砍掉。

这使得提议者可以将区块构建外包出去,以实现利润最大化,同时仍然附加审查过的交易。提议者不再需要在利他主义和经济理性之间做出选择。

如果最有利可图的建设者正在审查,而提议者没有义务审查——主要策略是选择加入这个EigenLayer结构(假设他们能接受额外的责任和EigenLayer智能合约风险)。这样一来,他们能够接受最高价值的区块,并可能通过附加额外的交易使其更有利可图。

注意,builder_part最终可能只是区块的一部分或整个区块。如果全部的3000万gas都被用掉,当然就永远不能保证可以被包含在内。不过EIP-1559确保了大多数时候都有多余的空间可用。

你知道的魔鬼vs.你不知道的魔鬼

假设Flashbots关闭。你所了解的魔鬼已经被挫败——大多数审查可能会消失。听起来不错吧?

但现在你不知道的魔鬼可能会出现。有一个权力真空需要被填补,而其他的建设者会去填补它。我们面临的风险是,另一个建设者简单地夺取了王位,并巩固了自己作为主导建设者的地位,这可能会造成更多的伤害。

现场 | BitcoinABC 开发者:Avanche算法防止51%攻击:金色财经现场报道,全球区块链开发者大会 GBDC 2018 Day2 会议正在进行,会上BitcoinABC 首席开发者Amaury Séchet解释51%攻击问题,51%的算力秘密挖矿。大部分的算力在主链上,很多节点进入新链,这是不可预测的,很多节点会因此造成损失,这矿工不愿看到的。如何定义这是不是攻击呢?小的重组在链上也会发生,关键是区分定期发生自然重组还是恶意重组,但这是不容易区分的。如果所有节点都能够去随机查询节点,如果节点随机查询确认,那么交易就更加肯定,我们重复这个过程,就会不断确信是否发生了恶意攻击。恶意攻击只是一个暂时现象,无法持续,因为比较昂贵,需要持续烧钱。[2018/12/17]

在我看来,这种情况发生的最大风险来自于排他订单流(EOF):

建设者可以确保特定的订单只发送给他们(例如,承诺不给前面的用户,并对后面的利润给予回扣)。我们可以看到这方面的一些早期例子。然后他们可以出价更高,赢得更多区块,并证明更多的排他性协议。

一个集中的区块建设者可以造成严重的破坏:

抽租

竞争性市场确保了最低的抽租。用户因其所提供的价值而得到公平的补偿,建设者将剩余的MEV出价给提议者。目前看起来不错——建设者争夺市场份额,几乎把所有捕获的MEV都出价给验证者。即使是处于相对主导地位的Flashbots也将所有利润都转给了验证者。

EOF则相反。一个占主导地位的建设者会受到激励去抽租——他们只需要出价高于其他建设者所能获得的数额。更多的EOF扩大了与其他建设者的这一差距。

在这个EOF周期的开始阶段,建设者可能提取的很少——合理补偿用户是确保EOF最简单的方法之一。然而,一旦建立了垄断地位,建设者就会被激励去抽租。他们也被授权这么做——当他们建造的区块比例越高时,转换成本就会增加。

例如,钱包向一个建设者发送EOF,因为他们得到了公平的补偿。但现在,建设者的规模越来越大,他们几乎建造了所有的以太坊区块。然后他们减少了他们的费用回扣。钱包想撤回它的EOF,去其他地方。然而,向其他建设者发送意味着区块纳入的等待时间长得令人难以置信,或者他们无法完全赢得区块。钱包被卡住了,而建设者继续提取。

审查

首先,crList这类花哨的东西并不是实时的。如今,网络尤其容易受到审查制度的影响。

在下面的例子中,我假设这个市场只包括两个建设者:

B?=抗审查的建设者

B?=有审查权的建设者

如果B?在今天获得了很大的市场份额,他们就可以执行有意义的弱审查——我们已经看到了这一点。然而请记住,这并不是强审查。

一个拥有理性验证者的完全竞争市场在任何情况下都能防止哪怕是微弱的审查。在其他条件相同的最佳网络条件下,出价B?≥出价B?。两者都可以包括公共mempool交易,但只有B?还可以包括OFAC交易。因此,竞争性PBS对审查制度的抵抗力只有1/N的建设者假设。

当然,这不是现实——建设者有不同的订单流和算法,从而导致不同的投标。然而,这清楚地说明了为什么我们应该争取一个竞争性的市场。如果B?因EOF或其他原因控制了过多的市场份额,他们可以进行有意义的审查。

如果他们持续建造最有价值的区块,你就会依赖于有效的验证者利他主义来避免审查。希望他们会忽略审查中继者,只连接到提供来自非审查建设者区块的中继者。但从长远来看,这可能是不可持续的——作为一个诚实的验证者的成本应该降低到~0(或者理想情况下,非审查更有利可图)。

请注意,crList并没有完全消除这种可能性。如果B?持续产出价值最高的区块,那么广播含有OFAC交易的crList的提议者知道他们将无法接受最有利可图的区块。经济上的理性决定是广播一个空的crList。然而,如果由于市场竞争,出价B?和出价B?之间的差异可以忽略不计(甚至有利于B?),那么验证者将发布crlist是一个合理的假设。

EOF对审查阻力构成了重大威胁——它可以迫使验证者在诚实和经济上的理性行为之间做出选择。这抑制了诚实的行为,并允许审查参与者通过增加市场份额获得更高的奖励。这应该被避免。

减少建设者创新

PBS是建设者提供创新新功能(例如帐户抽象、预确认)的机会。

有竞争力的建设者被鼓励在功能上进行创新,以吸引用户的OF。而根基稳固的建设者则不然。即使另一个建设者开始提供更好的功能,转换成本可能太高或完全不可实现(对其他建设者来说,包含交易的时间非常长、永远无法赢得区块、PFOF交易等等)。

请注意,由于优越功能而获得OF≠PFOF:

由于优越的功能而获得OF——进入的障碍是提供新的功能。

PFOF——进入障碍是明确的支付,用户需要长时间等待,甚至可能违反合同

简单地说,PFOF在这里意味着排他性,但其功能却不是。如果某些建设者只提供理想的功能以换取EOF,这将和PFOF一样不可取。

EOF怎么做?

我在这里就不太深入了,但一种可能的途径是运行订单流拍卖。实际上,一些拍卖是为了执行用户订单的权利而进行的。他们因创造MEV和良好的执行保证而获得公平价值。你可以进行公开拍卖,也可以以费用升级的形式进行隐性拍卖。

去中心化的建设者

这里基本的想法是让获胜的建设者本身成为一个去中心化的协议。这是一个非常有趣的设计空间,可以对抗建设者集中化的威胁。

关于去中心化的建设者市场如何安全地共享订单流,还有一个更广阔的设计空间。

以下是Flashbots主页上声明的目标:

我们正在构建一个去中心化的区块构建网络,以赋予用户权力,并最大限度地去中心化公共区块链。

Flashbots怎么做?

我理解Flashbots目前犹豫要不要把钥匙交给其他建设者,我也确实相信那里的人都是出于好意。正如前面所描述的,其他一些建设者可能会试图用更可疑的动机来巩固自己的地位,并对网络造成更大的伤害。这显然是不可取的。它可能更容易推动去中心化的建设者从一个优势地位运作。

但Flashbots会审查。且适用的法规仍然有点不清楚,但这不是重点。如果Flashbots的持续运营(包括审查)带来的结果明显比其他方式更好,那么它们将符合以太坊的长期最佳利益。这种审查可能只是雷达上的一个光点,在未来一年左右的时间里,随着上述想法的充实和实现,它就会消失。

话虽如此,我个人认为现在很难在希望它能阻止别人在未来进行审查的情况下,明确证明审查是正当的。

开源其建设者并引导市场

如果Flashbots不愿意或无法退回中继者审查,我相信他们有责任进一步引导和支持其他不审查的中继者/建设者社区。他们已经在这方面采取了一些重要的步骤,比如在合并之前开放了他们的中继者。这是在AGPL下完成的——一种激进的copy-left复制许可,要求衍生品在公开环境下开发。

合乎逻辑的下一步应该是尽快开源他们的建设者(再次在AGPL下)。这将是降低建设者市场准入门槛的重要一步,并将在很大程度上表明他们的意图。这将直接把生态系统的健康置于他们的短期竞争优势之上。

研究

Flashbots的研究应该继续专注于解决审查问题——去中心化的建设者、包含列表、共享订单流等。这些都是Flashbots的既定目标。

然而,很难从外界的角度来看待这一点。目前,只有少数人在有效地决定整个以太坊网络是否正在被大规模审查。支持任何开展这项活动的公司,无论他们的业绩记录或既定目标如何,都很难被合理化。

近期需要围绕这项研究取得重大进展并保持开放。

中继者运营

老实说,我在中继者方面反复考虑过——他们是否应该运行它?我询问了Vitalik、JustinDrake、PhilDaian、ZakiManian和FrancescoD'Amato。

Vitalik重申了一个选项——Flashbots可以将中立的研究实体与企业运营实体分开。这消除了研究中的利益冲突,我们也不再需要质疑运营商的动机。我们只会简单地理解,他们和该领域的其他大部分人一样在为自己工作。这样做的缺点可能是,研究和产品部门一起创造了一个积极的反馈循环,产生了有意义的进展,而你可能会失去其中的一些东西。我们看到MEV-Boost一开始是作为一项研究运行,后来由产品方实施。

如果他们只是简单地停止运行他们的中继者,问题不会完全消失。审查率可能会下降,但其他审查中继者可能会填补这一空缺。随着时间的推移,不可预见的新审查威胁也可能会出现。Flashbots作为中继者/建设者的参与对MEV-Boost的总体采用有两个影响:

增加采用——作为可靠的服务提供商,Flashbots的存在增加了边际采用率。但随着时间的推移,这种好处可能会逐渐减少,因为其他中继者和建设者会解决他们的问题。重要的是,Flashbots可以而且应该积极努力使之成为现实,以各种可能的方式提供支持。

采用减少——Flashbots的存在降低了对该系统的总体信任,这至少阻止了一些进一步的采用。我认为可以合理地推测,如果没有中继者或建设者的审查,采用率会更高。

如果他们要继续运行他们的中继者,最终在某种程度上对验证者的百分比施加一个上限应该是合理的。再次强调,实际上无论哪种方式,审查制度都很薄弱。但我仍然看到1%和99%审查之间的信号有很大的区别。如果被审查的以太坊区块的百分比继续攀升,并且没有实现新的变化来缓解这一点(无论是crLists,EigenLayer提议等),这将是最为需要的。

最后的思考

我在这里提到Flashbots主要是出于以下几个原因。它们当然是审查的主要来源,但它们也为以太坊生态系统带来了数量惊人的积极工作。此外,我相信如果他们要在中立的社区建设者和传统的企业运营商之间站稳脚跟,他们对生态系统负有重大责任。最后,因为他们很聪明,所以他们可能会创建一些很酷的东西。

需要明确的是,我在这里不是要进行更多的指责,也不是要谈论过去的行为。我们的情况就是这样。我只是想看到这个问题得到解决。这需要围绕最重要的参与者的最佳行动方案进行富有成效和开放的讨论。Flashbots就是其中之一。

不过,我也强烈恳请其他中继者和建设者以诚信的态度运营,并通过类似的行动尽可能多地支持生态系统。以太坊和加密货币作为一个整体,可能有一个有限的窗口来实现这一点。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:0ms0-0:970ms