MEV:从前端出发,读懂以太坊交易中的审查威胁与解决方案_ETH

2022年8月8日,美国财政部将TornadoCash列出了制裁名单。

所有人都知道监管机构讨厌加密货币,但直接制裁DeFi出乎了所有人的意料,这反应了美国监管机构在打击加密货币方面所做的努力。

从某种程度上来说,对Tornado的制裁并不全是坏事,监管冲击让DeFi想起了它的基本原则,并开启了对分散金融版图中每一个中心化制约限制的冲击。

核心:去中心化实际上很重要。

我们走过的任何集中化捷径都会被反过来作用于你。

审查制度的话题很难被关注,要理解以太坊中心化问题需要一些技术知识,而Crypto的术语海洋对很多人来说难以涉足。本文试图揭开以太坊过去几个月里所有遭遇的各种审查问题,并尽可能用通俗易懂的语言揭开影藏其中的神秘面纱。

我列出了以太坊协议的每一个主要的中心化载体,并简要介绍了开发人员正在研究的各种技术解决方案。

以太坊供应链的简要总结

以太坊最初的设计理论上只涉及两个参与者:

运行自己的节点的用户,该节点将通过点对点网络发送事务到区块验证器,然后区块验证器将构建一个块并包含该事务。区块链验证器(我们在PoW中称它们为矿工,在PoS中称它们为质押者)是验证块的中立参与者。实践中,这个过程要复杂得多。通过向运行套利机器人的搜索者出售区块,验证者可以对打包交易进行不正当的歧视,在利益驱动下保持着这种动机。这会导致了更高的交易成本和链上的拥塞,这种现象被称为最大可提取值(MEV)。过去两年,以太坊上的MEV已达6.75亿美元(Cosmos上估计为670万美元)。

在合并后的以太坊中,MEV交易顺序如下:

1.用户通过dapp的前端与钱包创建交易。这些交易被发送到内存池

2.搜索者运行套利机器人扫描内存池,然后将交易捆绑在一起

3.捆绑交易被传递给区块建造者,后者再附上收费报价

4.如果构建者和验证者都连接到中继器,则中继器将参与隐藏捆绑的去块,然后将其提供拍卖

5.验证者(AKA区块提议者)选择费用出价并提议区块

a.证明者在区块最终上链之前对其进行证明

在这个事务顺序中,中心化载体存在于每一步当中,让我们从头开始依次梳理。

1.前端接口

当你想买一些ETH时会访问uniswap.com,可以看到精心设计的粉色/白色用户界面,并且可以让你轻松导航你的交易中。连接MetaMask,选择流动资金池,然后单击“send”以执行您的交易。我们认为这个简单的过程是理所当然的,但这个环节中已经出现了许多中心化的威胁。

审查威胁

目前,许多dapp的前端接口的现实依赖是中心化。Web3的短暂历史表明,当监管机进驻时,DeFi往往都会妥协。这种情况发生在Balancer从其前端隐藏了2000万美元的流动资金池时、发生在UniswapLabs迅速在其前端下架了数十种合成资产以避免SEC审查时。MetaMask和Infura也根据TornadoCash制裁措施来阻止钱包地址的访问。

跨过前端也只是冰山一角。我们使用的dapp依赖RPC节点来传达用户的需求,节点就是一个连接点,可以把它想象成一个API,它能在区块链上访问信息、通信和执行交易。

在理想的世界中,每个人都会运行自己的节点。但正如Signal创始人MoxieMarlinspike曾在对Web3所做的批评,大多数人不运行自己的节点,这造成了对Infura和Alchemy等中心化节点服务提供商的依赖。他们的存在让DeFi变得更加轻松容易,但正如你所知,这中间是存在权衡取舍的。由于Uniswap和Metamask等大量dapp反过来依赖Infura运行节点,因此出现了一个重要的中心化载体。

像Infura这样的中心化公司,如果被监管机构盯上,将对以太坊造成重大破坏。今年3月份,Infura就禁止了伊朗IP地址以遵守美国的制裁,出现中心化节点提供商这个问题的原因也有技术原因。以太坊在2020年11月经历了网络中断,当时Infura的主网API由于其Geth客户端不是最新的而导致许多dapp无法使用。

最后,节点需要托管在某个地方。实际上,许多以太坊节点都托管在AWS、Hetzner和GoogleCloud等集中式云服务提供商上。这里的中心化载体很明显:云提供商可以任意停止服务器操作。8月份,当Hetzner澄清在其服务器上运行以太坊节点违反其服务条款时,社区就收到了这一提醒。

资料来源:ethernodes.org

现在以及有这么多中心化载体,但我们还没有进入内存池。

解决方案#1

前端中心化是一个问题,但相对影响较小。这要归功于蓬勃发展的DeFi中间件生态系统,它让我们能够以各种方式绕过审查过的前端。包括Zapper和Zerion等投资组合跟踪器、具有集成“Swap”功能的加密钱包、1inch和Paraswap等DeFi聚合器。它们让你无需直接访问即可访问dapp。像Uniswap这样的大多数dapp也承诺将其前端代码开源,允许任何个人或是DAO重新创建前端。

为了绕过审查的前端,像IPFS这样的去中心化存储提供商也被用来托管具有静态内容的前端域。对于具有动态内容的前端,像TheGraph这样的去中心化索引协议可以通过统一的查询语言跨链和dapp查询数据。对于域名审查,像ENS这样的去中心化域名服务通过在以太坊智能合约上构建域名,提供了一种更抗审查的方式来托管域名。这与当今大多数存储在集中式DNS服务器上的网站不同,后者会受到域名扣押或IP地址封锁的影响。?

总之,这些去中心化的基础设施协议为DeFi前端的去中心化Web3经济奠定了基础。

解决方案#2

在解决节点中心化问题上,关键的技术方案是轻客户端。以太坊Altair硬分叉为他们铺平了道路。这些超轻量级客户端允许我们在自己的计算机、移动设备或网络浏览器上创建我们自己的原生版本的以太坊,我们可以向任何接受轻量级客户端查询的完整节点广播交易并向其发出请求。这样,dapps也可以促进交易,而不是调用像Infura或Alchemy这样的集中式RPC服务节点。?

轻客户端不会检索整个Beacon链或验证器集。这是计算密集型,他们只是通过了解对等节点来同步区块头。关键是,这个过程是通过随机分配的验证者组(同步委员会)来执行的。信标链PoS轻客户端的构建也比PoW轻客户机简单得多。只需几个非审查完整节点来反馈这些查询,就可以缓解节点集中的问题。有关轻客户端的更多信息,请参见此处。

解决方案#3

就我们依赖的外部节点提供商而言,存在Infura的去中心化替代方案,例如PocketNetwork或Ankr,可以最大限度地减少对Infura的需求。

回想一下,这里的问题是人们缺乏动力来运行自己的节点。这些RPC节点提供者为此引入一套经济激励措施。以PocketNetwork为例,节点提供商质押POKT以运行区块链节点并在不同区块链之间中继数据,为请求链上数据的dapp提供服务。在这个无需许可的市场中,他们服务的中继越多,他们获得的POKT奖励就越多。在需求方面,用户/dapps也质押POKT,允许它在网络上请求中继。需要注意的,这些项目本身也存在中心化的点。

资料来源:SamiKassab

解决方案#4

节点托管问题是一个需要持续监控的中心化风险,但由于退出壁垒低,因此威胁不大。如果AWS决定限制在其云服务器上托管节点,节点运营商可以轻松迁移到不同的云服务器,而不会被锁定在任何地方。由于Merge后,如今使用DIY硬件(RaspberryPi)和即插即用解决方案(Avado)可以更轻松地设置自己的节点。

2.搜索者

当用户交易成功提交后,交易会进入mempool内存池。mempool是一个普通用户提交的待处理交易数据库,有时它也被称为以太坊的“黑暗森林”,而MEV游戏也是从这里开始的。

一旦交易进入内存池,搜索者就会开始扫描交易以寻找有利可图的MEV机会。搜索者通常是运行套利机器人的大型机构和自营交易平台,但有时也有个人参与者。他们支付高昂的GAS费来让验证者率先接受他们的交易订单。

值得注意的是,虽然MEV通常被认为是一件坏事,但也有好的MEV。比如需要在加密货币价格波动的情况下快速清算贷方抵押品的DeFi协议,就希望支付高昂的汽油费以确保其交易能够快速执行,如果区块链是按照先到先得的原则设计的,那么DeFi的效率就会非常低下。搜索者在平衡这种效率和构建高效区块方面发挥着重要作用。

然而,在不利的MEV方面,虽然搜索者本身并不是中心化风险,但他们通过与区块构建者勾结,在化身为巨大的中心化载体方面发挥了作用。它们在协议层中的作用是捆绑交易并将它们传递给下一个梯级的区块构建者。

3.区块构建者和验证者/提议者

提议者/构建者分离之前

在合并前的以太坊中,区块构建由矿工实体执行,矿工能够通过区分内存池中的交易来利用DEX进行套利和清算。?

在这种情况之下,搜索者和矿工可以在地下市场勾结,以以最大化他们自己的交易来实现MEV套利。这最终推高了作为矿工的固定成本,因为大型矿池运营商有资本运行复杂的算法,过去两年在以太坊上提取的MEV总额已达6.75亿美元。

这里的中心化风险问题是双重的:首先,它伤害了支付更多交易费用和交易等待期的用户;其次,由于压力,资本充足的区块验证者更有能力进行审查。

作为回应,以太坊开发人员正在开发一种称为提议者-构建者分离(PBS)的协议内解决方案。顾名思义,PBS将验证者角色分成两个独立的本地角色:

提议者?构建者在PBS下,区块构建者相互竞争,以创建来自搜索者的聚合有序交易列表。这些交易包进行了优化,以最大限度地提高建设者自己的MEV费用,然后将其传递给区块提议者。提议者根据自己的最高费用选择交易来创建区块并将其发送到网络主链上。?

这减少了区块提议者审查的集中权力,因为构建区块者不是选择哪些交易包含区块中的同一个人。正如Vitalik在?Endgame?中所描述的,PBS的重点是最大化验证者的去中心化。

但是PBS在技术上很复杂,而且要好几年才能准备好。好消息是,同时出现了解决验证者集中化的临时解决方案。

一方面,Merge下的验证者被随机选择为每个槽中的区块提议者。这与合并前的PoW不同,所有矿工都在竞争解决数学难题以验证新交易。在以太坊上约420K个验证者中的一个被随机选择为区块提议者之后,另一个验证者委员会被随机选择提交关于所提议区块有效性的证明。这种双重随机洗牌层用于遏制以太坊上的验证者中心化,使攻击者更难审查或破坏网络。

其次,像Flashbots这样的项目已经介入人工创建PBS。Flashbots开发了一个软件客户端,验证者可以简单地插入其共识客户端并在其节点上运行。这实际上将块构建的工作外包给了专门的构建者角色。?

为什么要使用Flashbot?验证者这样做仅仅是因为为他们质押奖励更有利可图。Flashbots的软件在提议者和构建者之间更公平地分配MEV价值,而不是在大型矿池和搜索者之间共享。Flashbots所做的是通过创建一个透明、开放的价格发现市场来阻止搜索者和矿工之间的这种内部勾结市场。根据Hasu的说法,使用MEV-Boost已将验证者的合并后质押奖励增加了135%。

资料来源:Flashbots

请注意,MEV-Boost是可选的,验证者仍然可以选择在其执行客户端上自行构建区块。

PBS消除了大型验证者的中心化权力。但即使在设计了PBS之后,我们还没有达到去中心化的承诺。中心化载体尽管有所缓解,但仍将存在于后PBS世界中。本节的其余部分简要介绍了以太坊面临的各种审查威胁及其在工作中的对应的解决方案。

审查威胁#1

虽然PBS缓解了以前的中心化问题,但它还是通过赋予构建者更高的审查交易能力,在构建者级别引入了新的中心化问题。通过创建专门的构建者角色,构建者将能够对区块进行高价竞标并排除某些交易。

解决方案#1

第一个解决方案是抗审查列表(crList)也称为“混合PBS”。假设我们怀疑构建者正试图审查交易。我们知道这一点是因为他们为提议者构建的区块尚未填满,并且内存池中有符合条件的交易在等待。

crList让提议者可以强制构建者充分利用空块空间,而无需让提议者具体规定要包含的交易的顺序:“嘿,构建者,请填写您的空块,否则我选择的交易将被包括在内。”

坚持审查交易,并忽略提议者crList的构建者将被证明者拒绝该区块。简而言之,crLists是一种间接机制,它可以让提议者在不违背PBS初始目的的情况下控制集中式区块构建市场。

解决方案#2

但是如果提议者可以告诉构建者包含交易,如果他们与构建者勾结并告诉他们呢?这将我们带到了第二个解决方案:MEV-smoothing。就像crLists控制构建者一样,MEV-smoothing通过消除他们的自由裁量权来控制提议者。?

这里的想法是要求证明者关注去块构建市场,特别是附加到区块的费用投标,然后只证明提议者出价最高的区块。如果提议者没有提出已经为他们构建的最有利可图的区块,那么事情就发生了,所以证明者会问,“嘿,提议者,你只是讨厌赚钱还是想审查?”?实际上,MEV-smoothing旨在使所有提议者的MEV利润均等化,并创建一个完全有效的市场,消除提议者参与歧视性审查的动机。

解决方案#3

第三种解决方案是使用加密的内存池。虽然有crLists计数器构建者和MEV平滑计数器提议者,但加密内存池旨在对抗两者。这种机制很容易理解:它在进入内存池之前对用户交易的内容和发送/接收地址进行加密,只有在链上时才解密。这使得参与者很难审查或参与MEV提取技术,如交易抢先运行。这消除了对于像Flashbots、Protect这样的私有内存池的需求。加密内存池技术也是Cosmos开发人员、Flashbot和Aztec等隐私导向链正在试验的东西。

解决方案#4

第四个也是最后一个解决方案是我们最不希望依赖但又很不错的解决方案:利他的自我构建,提议者只需选择构建自己的区块,而不是将其外包给构建者。这里的好处是,即使有一小部分约10%的利他主义构建者,以太坊也可以继续前进。

这里明显的缺点是它与经济激励措施背道而驰,试想一下,验证者想要使用MEV-Boost是因为它产生的费用更高,这就是为什么在社会层面推广一种抵制审查制度和保持权力下放的文化非常重要的原因。

审查威胁#2

要成为今天的以太坊验证者,您需要在存款合约中质押32ETH,同时运行两个软件客户端:一个执行客户端和一个共识客户端。今天的威胁是太多的验证者正在运行相同的执行客户端Geth。?

如果发现一个客户端存在错误或遭受攻击,就可能会给整个网络带来中断风险。这不是理论上的推测,正如2016年上海DOS攻击所证明的那样,攻击诱使Geth客户端减慢处理速度。在合并后的以太坊上,交易最终确定需要2/3的质押ETH。占主导地位的客户端故障可能会暂时停止甚至分叉以太坊网络,这使得任何运行客户端占比不超过2/3的验证节点会至关重要!

客户端集中度问题非常严重,即使是像PrysmaticLabs这样使用率最高的客户端公司也建议节点验证器用户去使用竞争对手的验证器。毕竟,如果以太坊下跌,那是所有人的损失。

解决方案

这里的审查威胁不仅适用于单独的质押者,还适用于Infura和Alchemy等中心化节点提供商,或PocketNetwork等去中心化节点提供商。以太坊开发人员实施的解决方案包括各种惩罚措施,以削减不活跃验证者的股份,如不活跃泄漏机制。在今天的Beacon链上,如果行为不端的验证者都在同一个客户端上失败,也有相关的惩罚,对行为不端的验证者进行更严厉的惩罚。实际上,这促进了多客户端文化,同时鼓励验证者在选择客户时不仅要考虑技术风险,还要考虑经济激励。

审查威胁#3

最后,还有一个审查威胁不容忽视:ETH集中在质押服务占比中,最大的两个块分别是流动质押协议和CEX,它们分贝控制着约37%和约31%的质押ETH。这是一个严重的问题,因为任何拥有超过33%ETH的实体都可能进行双花攻击。

资料来源:沙丘分析

解决方案

这里没有简单的解决方案,但有理由保持乐观。一方面,虽然Lido控制着约30%的质押ETH,但它并不作为一个单一实体存在,对区块构建没有直接影响。Lido的ETH通过数万个节点传递给28个节点运营商,防止任何形式的单边网络攻击。

但这仍然太少了。一种可能解决ETH集中问题的技术解决方案是分布式验证器技术(DVT),也称为秘密共享验证器技术,这是以太坊基金会自2019年以来一直在积极研究的领域。带头开发DVT的公司是机构区块链节点提供商RockXLido。

DVT是一种开源协议,它将节点操作的操作活动分散在不同验证者之间,而不是单个验证者之间。它使用多方计算过程来确保节点可以由多个验证者共同运行,因为私钥是“共享的”。因此,没有一个参与者可以完全访问签署消息所需的私钥。这也允许验证者在基础设施出现故障时能代替另一个验证者。

最后,虽然持有过多ETH的流动性质押协议非常令人担忧,但如果不是LidoDAO,而是将ETH完全质押在Coinbase和Kraken等上更脆弱的实体上,这种情况比现在要更糟糕。

4.中继器

在MEV-Boost模型中,中继器充当中间经纪人的角色,它位于提议者和构建者之间,任何人都可以轻松启动。中继器是一种独特的中心化载体,它是Flashbot试图解决MEV的产物。要了解这里的审查威胁,首先需要了解为什么中继器会出现在其中。?

回想一下,想要在PBS下将验证者角色拆分为提议者和构建者的原因是为了遏制验证者的审查权,并阻止一个实体持有大量质押ETH的情况,方式出现他们可以任意决定在链上包含哪些内容。

因此,要让PBS工作,提议者需要对他们从构建者那里收到的块的内容一无所知。否则,提议者将能够区分他们认为应该在链上的区块,而我们又回到了之前黑暗森林时期。

这就是Flashbots的MEV-Boost模型下中继器的用武之地。构建者向中继者发送一个组装块的费用投标,之后中继器将区块发送到一个隐藏的托管,并且只向任何提议者从该中继接受的有效载荷显示价格。

只有在提议者承诺签署区块头并接受出价后,区块内容才会被披露。这样,想要审查TornadoCash交易的提议者别无选择,只能继续在链上提议区块,因为他们已经为此支付了费用,或者如果他们试图一次提议两个区块,但这就会被削减惩罚。

资料来源:Devcon

审查威胁

但是如果中继者自己选择审查呢?这将我们带到了中继者级别的中心化风险的核心。今天,以太坊上58%的中继区块都在审查TornadoCash交易,即符合OFAC标准。这58%区块中的大部分来自Flashbots的中继器。?

请注意,还有许多其他验证者仍在接受TornadoCash交易的区块,因此这实际上是一种“软”审查形式,会在几分钟后出现,而不是“硬”形式的审查。只要中继者拥有非审查少数群体,这个问题就会给用户带来不便,而不是我们传统上认为的“审查制度”。尽管如此,这个问题导致了最近几个月对以太坊审查的受到了广泛关注。

解决方案

这里的解决方案是鼓励更广泛的中继器多样性。验证器通常一次连接到多个中继器。如上所示,七个中继中的三个不审查TornadoCash交易。因为中继是一个无需许可的实体,所以任何人都可以轻松创建自己的中继。创建无审查中继的准入门槛很低,这意味着这种中心化在比在验证者级别要轻,在验证者级别阻止不诚实/行为不端的参与者成本要高得多。

好消息是,从长远来看,中继者是一个临时的审查媒介。当PBS正式纳入协议时,将不再需要中继器,因为构建者将连接到提议者。

最后

请注意,这篇文章只涵盖了软性审查形式,这通常相当于以秒/分钟为单位的区块收录延迟。

文章可能做不到详尽无遗,更多的中间件协议,如oracles、sidechain和roll-ups,它们包含自己的中心化载体。像51%攻击这样的硬性审查形式,以及对它们的技术和社会解决方案也被排除在外。

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

区块博客

[0:15ms0-5:39ms