文/Donovan Choy,Bankless
2022年8月8日,美国财政部制裁Tornado Cash。
每个人都知道监管机构讨厌加密货币,但制裁DeFi让人感到意外。它代表了美国监管机构官方打击加密货币的前所未有的努力。
在某种程度上,Tornado Cash遭制裁是因祸得福。监管冲击让DeFi想起了它的基本原则,并对去中心化金融领域的每个中心化瓶颈进行了审查。
警醒:去中心化实际上很重要。
你采取的任何中心化捷径都可以并且将被用来对付你。
本文试图揭开过去几个月对以太坊所有审查问题的神秘面纱,并将它们提炼成任何加密公民(甚至仇恨者!)易于理解的术语。
我列出了以太坊协议的每个主要中心化部分,并简要介绍了企业家和开发人员正在研究的各种市场和技术解决方案。
最初设计的以太坊理论上只涉及两个参与者:用户运行自己的节点,该节点将通过点对点网络发送交易并阻止验证者构建包含交易的区块。
区块链验证者(我们称他们为PoW中的矿工,PoS中的质押者)应该是验证区块的中立参与者。
在实践中,这个过程要复杂得多。验证者面临向运行套利机器人的搜索者出售区块来进行歧视其他用户的不正当动机。对于普通用户来说,这会导致更高的交易成本和区块链拥塞——这种现象被称为最大可提取价值 (MEV)。过去两年,以太坊上的MEV达到6.75亿美元(Cosmos 上估计为670万美元)。
在合并后的以太坊中,一般交易顺序如下:
1、用户通过dapp前端使用钱包创建交易。这些交易被发送到内存池。
2、搜索者运行套利机器人并扫描内存池,然后打包交易。
3、打包交易被传递给区块构造者,然后他们附上费用竞标。
4、如果构造者和验证者都连接到中继器,则中继器将参与隐藏打包的区块,然后再将其拍卖。
5、验证者(有名区块提议者)选择费用竞标者并提议区块,证明者在区块最终上链之前对其进行证明
中心化部分存在于这种交易顺序的每一步。让我们从前端开始按顺序检查它们。
你想买一些ETH。访问uniswap.com,精心设计的粉色和白色用户界面正等待着䯠,帮助你轻松导航完成交易。连接MetaMask,选择币的流动性资金池,然后单击“发送”以执行交易。我们认为这个简单的过程是理所当然的,但这些中介机构已经出现了许多中心化威胁。
今天许多dapp前端接口的现实是它们是中心化的。Web3的短暂历史表明,当监管机构敲门时,DeFi会开门。这种情况发生在Balancer从其前端隐藏了2000万美元的流动性资金池时,或者当Uniswap Labs迅速在其前端下架了数十种合成衍生代币以避免SEC审查时。MetaMask 和Infura也根据Tornado Cash制裁措施阻止钱包地址。
前端只是冰山一角。我们使用的dapp依赖RPC节点(服务器)来传达用户意图。节点是一个连接点——可以把它想象成一个API——它在区块链上访问信息、通信和执行交易。
在理想的世界中,每个人都会运行自己的节点。但正如Signal创始人Moxie Marlinspike曾在对 Web3的批评中提出的那样,大多数人不运行自己的节点,这造成了对Infura和Alchemy等中心化节点服务提供商的依赖。他们让DeFi变得更加轻松,但正如你所知,存在权衡取舍。由于 Uniswap和Metamask等大量dapp反过来依赖Infura运行节点,因此出现了一个重要的中心化向量。
像Infura这样的中心化公司,如果被监管机构盯上,将对以太坊造成重大破坏。这实际上发生在Infura 3月份禁止伊朗IP地址以遵守美国的政治制裁时。中心化节点提供商存在问题的原因也有技术原因。以太坊在2020年11月经历了一次网络中断,当时Infura的主网API由于其Geth客户端不是最新的而导致许多dapp无法使用。
最后,节点需要托管在某个地方。实际上,许多以太坊节点都托管在AWS、Hetzner和 Google Cloud等中心化云服务提供商上(Solana和比特币也是如此)。这里的中心化部分很明显:云提供商可以任意停止服务器操作。8月份,当Hetzner澄清在其服务器上运行以太坊节点违反其服务条款时,社区收到了这一提醒。
来源:ethernodes.org
已经有这么多中心化部分了,我们甚至还没有进入内存池。
怎么解决?
前端中心化是一个问题,但相对较小。这要归功于蓬勃发展的DeFi中间件生态系统,它让我们能够以各种方式通过替代方案以绕过遭审查的前端。例子包括Zapper和Zerion等投资组合跟踪器、具有集成“交换”功能的加密钱包、1inch和Paraswap等DeFi聚合器。它们让你无需直接访问即可访问dapp。像Uniswap这样的大多数dapp也承诺将其前端代码开源,允许任何个人甚至是专门的DAO重新创建前端。
为了绕过前端审查,像IPFS这样的去中心化存储提供商也被用来托管具有静态内容的前端域。对于具有动态内容的前端(社交媒体),像The Graph这样的去中心化索引协议用于通过统一的查询语言以跨区块链和dapp查询数据。对于域名审查,像ENS这样的去中心化域名服务通过在以太坊智能合约上构建域名,提供了一种更抗审查的方式来托管域名。这与当今大多数存储在中心化DNS服务器上的网站不同,他们会受到域名扣押或IP地址封锁的影响。
总之,这些去中心化的基础设施协议为DeFi前端的去中心化Web3经济奠定了基础。
在解决节点中心化问题上,关键的技术方案是轻客户端。以太坊Altair硬分叉为他们铺平了道路。这些超轻量级客户端允许我们在自己的计算机、移动设备或Web浏览器上创建我们自己的主权、本地版本的以太坊,我们可以向任何接受轻量级客户端查询的完整节点广播交易并向其发出请求。通过这样做,dapps可以完成交易,而不是调用像Infura或Alchemy这样的中心化RPC端点。
轻客户端不会尝试检索整个Beacon链或验证者集。这将是计算密集型的——因此它被称为“光”!他们只是通过了解点对点节点来同步区块头。关键是这个过程是通过随机分配的验证者组(同步委员会)不信任地执行的。信标链PoS轻客户端的构建也比PoW轻客户端简单得多。只需几个非审查完整节点来回答这些查询,就可以缓解节点集中问题。有关轻客户端的更多信息,请参见此处。
就我们希望依赖外部节点提供商而言, 存在Infura的去中心化替代方案,例如Pocket Network或Ankr,可以最大限度地减少对Infura的需求。
回想一下,这里的问题是人们缺乏动力来运行自己的节点。这些RPC节点提供者为此引入了经济激励措施。以Pocket Network为例,节点提供商质押POKT以运行区块链节点并在不同区块链之间中继数据,为请求链上数据的dapp提供服务。在这个无需许可的市场中,他们服务的中继越多,他们获得的POKT奖励就越多。在需求方面,用户/dapps也质押POKT,允许它在网络上请求中继。请注意,这些项目本身存在中心化点,但有一个移除它们的路线图。
来源:Sami Kassab
节点托管问题是一个需要持续监控的中心化风险,但由于退出壁垒低,因此威胁不大。如果 AWS决定限制在其云服务器上托管节点,节点运营商可以轻松迁移到不同的云服务器,而不会被锁定在任何地方。由于Merge,如今使用DIY硬件 (Raspberry Pi) 和即插即用解决方案 (Avado)可以更轻松地设置自己的节点。
用户交易提交成功后,进入mempool,简称“内存池”。mempool是由像你我这样的普通用户提交的待处理交易的数据库,有时被称为以太坊的“黑暗森林”。MEV游戏就是从这里开始的。
一旦交易进入内存池,搜索者就会开始扫描黑暗森林以寻找有利可图的MEV机会。搜索者通常是运行套利机器人的大型机构和自营交易平台,但有时也包括个人。他们支付高昂的Gas费来让验证者接受他们的交易订单,而不是通过公共池。
这里要注意的一件事是,虽然MEV通常被认为完全是一件坏事,但也有好的MEV。DeFi协议需要在加密货币价格波动的情况下快速清算贷方的抵押品,希望支付高昂的Gas费以确保其交易能够快速执行。如果区块链是按照先到先得的原则设计的,那么DeFi的效率就会非常低下。搜索者在平衡这种效率和构建高效区块方面发挥着重要作用。
然而,在MEV坏的方面,虽然搜索者本身并不是中心化风险,但他们通过与区块构造者勾结,在实现巨大的中心化部分发挥了作用。它们在协议层中的作用是打包交易并将它们传递给黑暗森林下一个梯级的区块构造者。
在合并前的以太坊中,区块构造由一个实体执行:矿工。这使矿工能够通过区分内存池中的交易来利用DEX套利和清算。
时间一长,问题就更严重了。搜索者和矿工开始在地下市场勾结,以最有效地选择交易以最大化他们自己的MEV利润。这最终增加矿工的固定成本,因为拥有运行复杂算法的资金的大型矿池运营商超过了夫妻店小矿工——这催生了我们所知的MEV。过去两年在以太坊上提取的MEV总额已达约6.75亿美元!
这里的中心化风险问题是双重的:首先,它伤害了最终等待更长时间或支付更多交易费用的以太坊用户;其次,由于政治压力,资本充足的区块验证者更有能力进行审查。
作为回应,以太坊开发人员正在开发一种称为提议者-建造者分离 (PBS) 的协议内解决方案。顾名思义,PBS将验证者角色分成两个独立的原生角色:
1、提议者(即质押32 ETH并构造区块的验证者)
2、区块构造者
在PBS下,区块构造者相互竞争,以创建来自搜索者的聚合有序交易列表。这些交易包进行了优化,以最大限度地提高建设者自己的MEV费用,然后将其传递给区块提议者。提议者被激励根据最高费用选择交易来创建区块并将其发送到网络以包含在链上。
这减少了区块提议者审查的中心化权力,因为构造区块的他/她不是选择要包含在区块中的交易的同一个人。正如Vitalik在Endgame中所描述的,PBS的重点是使验证者去中心化最大化。
但是PBS在技术上很复杂,而且要好几年才能准备好(可能需要2-8年!)。好消息是,同时出现了解决验证者中心化的临时解决方案。
一方面,Merge后的验证者被随机选择为每个slot中的区块提议者。这与合并前的PoW不同,所有矿工都在竞争解决数学难题以验证新交易。在以太坊上约42万验证者中的一个被随机选择为区块提议者之后,另一个验证者委员会被随机选择提交关于所提议区块有效性的证明(投票)。这种双重随机洗牌层用于遏制以太坊上的验证者中心化,使攻击者更难审查或破坏网络。
其次,像Flashbots这样的公司已经介入人工创建PBS。Flashbots开发了一个软件客户端(用于PoW以太坊的MEV-Geth,用于PoS以太坊的MEV-Boost),验证者可以简单地插入其共识客户端并在其节点上运行。这实际上将区块构造的工作外包给了专门的构造者角色(提议者-构造者分离)。
为什么要使用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-smoothing计数器提议者,但加密内存池旨在对抗两者。这种机制很容易理解:它在进入内存池之前对用户交易的内容和发送/接收地址进行加密,只有在上链时才解密。这使得参与者很难审查或参与MEV提取技术,如交易抢跑。这消除了对像Flashbots Protect这样的私有内存池的需求。加密内存池技术也是Cosmos开发人员、Flashbot和Aztec等隐私导向的链正在试验的东西。
解决方案#4
第四个也是最后一个解决方案是我们最不希望依赖但又很不错的解决方案:利他的自我构造,提议者只需选择构造自己的区块,而不是将其外包给构造者。这里的好处是,即使有一小部分约10%的利他主义建设者,以太坊也可以继续前进。
这里明显的缺点是它与经济激励措施背道而驰——回想一下,验证者想要使用MEV-Boost是因为它产生的费用更高。这就是为什么在社会层面推广一种抵制审查制度和保持去中心化的文化非常重要的原因。
使用自己拥有的硬件,自己的ISP在家中单独质押,以在少数共识和执行客户端上构造和提议自己的区块,是质押的GOLD标准。还有其他很好的解决方案,但只有这一个黄金标准。——superphiz
要成为目前的以太坊验证者,你需要在存款合约中质押32枚ETH,同时运行两个软件客户端:一个执行客户端(用于执行交易)和一个共识客户端(用于就新产生的区块达成共识)。今天的威胁是太多的验证者正在运行相同的执行客户端Geth。
来源:clientdiversity.org
如果发现一个客户端存在错误或遭受攻击,这会带来更高的网络中断风险。这不是理论上的推测,正如2016年上海DOS攻击所证明的那样,攻击诱使Geth客户端减慢处理速度。在合并后的以太坊上,交易最终确定需要2/3的质押ETH。占主导地位的客户端故障可能会暂时停止(或更糟:分裂)以太坊网络——这使得任何给定客户端运行在不超过⅔的验证节点上至关重要!
客户端中心化问题非常严重,即使是像Prysmatic Labs这样客户端使用率最高的领先公司也建议节点验证者“使用他们的竞争对手”。毕竟,如果以太坊下跌,那将是所有人的损失。
解决方案
请注意,这里的审查威胁不仅适用于单独的质押者,还适用于Infura和Alchemy等中心化节点提供商,或Pocket Network等去中心化节点提供商。以太坊开发人员实施的解决方案包括各种惩罚措施,以惩罚不活跃验证者的质押,如不活跃减少机制。在今天的Beacon链上,如果行为不端的验证者都在同一个客户端上失败,也有反相关的惩罚,对行为不端的验证者进行更严厉的惩罚。实际上,这促进了多客户端文化,同时鼓励验证者在选择客户端时不仅要考虑技术风险,还要考虑经济激励。
审查威胁 #3
最后,更不用说验证者层的另一个经常提到的审查威胁:ETH质押服务中心化。最大的两部分,一个属于流动质押协议,控制着约37%的质押ETH,一个属于CEX,控制着约31%的质押ETH。这是一个严重的问题,因为任何拥有超过33%ETH的实体都可能进行双花攻击。
来源:Dune Analytics
解决方案
这里没有简单的解决方案,但有理由保持乐观。一方面,虽然Lido控制着不成比例的30%质押 ETH,但它并不作为一个单一实体存在,对区块构造没有直接影响。Lido的ETH通过数万个节点传递给28个节点运营商,防止任何形式的单边网络攻击。
去中心化最大主义者(Decentralization-maxi)不会在28个节点运营商中找到太多的安慰,考虑到什么是危险的(以太坊网络!),这仍然太少了。一种可能解决ETH集中问题的技术解决方案是分布式验证者技术 (DVT),也称为私钥共享验证者技术,这是以太坊基金会自2019年以来一直在积极研究的领域。带头开发DVT的公司是机构区块链节点提供商RockX,它是Lido 28 个节点运营商之一。
DVT是一种开源协议,它将节点操作的活动分散在不同验证者之间,而不是单个验证者之间。它使用多方计算(MPC)过程来确保节点可以由多个验证者共同运行,因为私钥是“共享的”。因此,没有一个参与者可以完全访问签署消息所需的私钥。这也允许验证者在基础设施出现故障时代替另一个验证者。
最后,虽然持有过多ETH的流动性质押协议非常令人担忧,但值得考虑的是一个不存在Lido DAO的反事实世界。在那个世界里,ETH将与Coinbase和Kraken等政治上更脆弱的实体进行质押,这些实体已经持有大量ETH,这种情况比现状要糟糕得多。
在MEV-Boost模型中,中继器充当中间人“经纪人”,位于提议者和构建者之间,任何人都可以轻松启动。中继者是一种独特的中心化部分,它是Flashbot试图解决MEV的结果。要了解这里的审威胁,首先需要了解为什么中继者会出现。
回想一下,想要在PBS下将验证者角色拆分为提议者和构造者的全部原因是为了遏制验证者的审查权,并阻止一个实体(例如Coinbase或Lido)持有大量质押ETH的情况可以任意决定在链上包含哪些内容。
因此,要让PBS工作,提议者需要对他们从构造者那里收到的区块内容一无所知。否则,提议者将能够区分他们认为应该在链上的区块,而我们又回到了PBS之前。
这就是Flashbots的MEV-Boost模型下中继者的用武之地。构建者向中继者发送一个组装区块的费用投标,之后中继者将区块发送到一个隐藏的托管,并且只向任何提议者从该中继接受的有效载荷显示价格。
只有在提议者承诺签署区块头并接受出价后,区块内容才会被披露。这样,想要审查Tornado Cash交易的提议者别无选择,只能继续在链上提议区块,因为他们已经为此支付了费用,或者如果他们试图一次提议两个区块,就会被惩罚。
来源:Devcon
但是如果中继者自己选择审查呢?这将我们带到了中继者级别的中心化风险的核心。今天,以太坊上58%的中继区块都在审查Tornado Cash交易,即符合OFAC标准。这58%区块中的大部分(80%)来自Flashbots的中继(见下图)。
请注意,还有许多其他验证者仍在接受Tornado Cash交易的区块,不过会延迟几分钟,因此这实际上是一种“软”审查形式,而不是“硬”形式的审查。只要中继者是非审查的少数群体,这个问题就会给用户带来更多的不便,而不是我们传统上认为的“审查制度”。尽管如此,这个问题导致了最近几个月对以太坊受到审查的广泛关注。
这里明显的解决方案是鼓励更广泛的中继者多样性。验证者通常一次连接到多个中继者。如上所示,七个中继中的三个(BloXroute 和 Manifold)不审查Tornado Cash交易。因为中继是一个无需许可的实体,所以任何人都可以轻松创建自己的中继(Flashbots自己已经善意地开源了自己的中继)。创建无审查中继的准入门槛很低,这意味着这种中心化部分比在验证者级别要小得多 ,在验证者级别阻止不诚实/行为不端的参与者成本要高得多。
好消息是,从长远来看,中继者是一个临时的审查部分。当PBS正式纳入协议时,将不再需要中继者,因为构造者将连接到提议者。
以上就是全部。整个MEV供应链中的中心化问题以及我们正在做的解决方案
请注意,本文仅涵盖软审查形式,这通常相当于以秒/分钟为单位延迟的区块包含。
这篇文章并不详尽——我遗漏了更多的中间件协议,如预言机、侧链和Rollup,它们包含自己的中心化部分。诸如51%攻击之类的硬审查形式以及针对它们的技术和社会解决方案也被忽略了。
来源:金色财经