以太坊:抗审查之路

Cointelegraph中文
Cointelegraph中文 得得号

Nov 01, 2022 全球最大区块链媒体Cointelegraph中文站资讯

摘要: 以太坊尚未实现抗审查……以下是开发者正在采取的措施。

2022年8月8日,美国财政部制裁了 Tornado Cash。

所有人都知道监管机构讨厌加密货币,但这一制裁令 DeFi 措手不及。这代表着美国监管机构在正式打击加密货币方面一次前所未有的努力。

在某种程度上,对 Tornado Cash 的制裁是因祸得福。这一监管冲击让 DeFi 想起了它的基本原则,对整个去中心化金融领域中每一处中心化卡口展开了审查。

去中心化实际上很重要。

你走的任何中心化捷径都能被用来对付你。

审查的话题很难理解。试图理解围绕以太坊中心化的担忧需要一些技术知识,而加密术语的海洋难以涉足。

本文试图揭开以太坊过去几个月里所有审查问题的神秘面纱,并将它们提炼成任何加密公民(甚至是厌恶者)都能容易理解的术语。

我列出了以太坊协议上的每一个主要的中心化向量,并简要介绍了企业家和开发者正在研究的各种市场和技术解决方案。

以太坊供应链的简要概述

以太坊最初的设计理论只涉及两个参与者:运行自己的节点的用户,通过点对点网络将交易发送给区块验证者,区块验证者将构建一个区块并包含该交易。

区块链验证者 (我们在 PoW 中称他们为矿工,在 PoS 中称他们为质押者) 本应是验证区块的中立参与者。

实际上,这个过程要复杂得多。通过向运行套利机器人的搜索者出售区块,验证者面临着不正当的激励歧视。这导致普通用户的交易成本提高,区块链上出现拥堵——这种现象被称为最大可提取价值 (MEV)。过去两年,以太坊上的 MEV 达到6.75亿美元(Cosmos上估计为670万美元)。

在合并后的以太坊中,以下是一般的交易顺序:

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

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

  3. 捆绑好的交易被传递给区块构建者(builders),后者再附上费用出价;

  4. 如果构建者和验证者都连接到一个中继器,那么中继器(relayer) 将在提交拍卖之前隐藏捆绑的区块;

  5. 验证者(即区块提议者,proposer) 选择费用出价并提议区块;

  6. 证明者(attestors) 在该区块最终上链之前对其进行验证。

(请注意,在本文中,验证者和提议者这两个词是互换使用的。)

在这个交易顺序中,每一步都存在中心化向量。

让我们从前端开始,依次来看。

01.前端界面

你想买一些 ETH,可以转到 uniswap.com,其设计精美、时尚粉白配色的用户界面可以帮助你轻松地进行交易。你连接 MetaMask,选择你的流动性池,然后点击“发送”来执行交易。我们认为这个简单的过程是理所当然的,但是已经有许多中心化威胁出现在这些中介上。

审查威胁

如今,许多 dapps 的前端接口都是中心化的。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 和谷歌云等中心化云服务提供商上 (Solana 和比特币也是如此)。这里的中心化向量很明显:云提供商可以任意停止服务器运行。今年8月,当Hetzner 澄清在其服务器上运行以太坊节点违反其服务条款时,该社区就收到了这一提醒。

来源:ethernodes.org

已经有这么多中心化向量了,我们甚至还没讲到内存池。

怎么办呢?

解决方案 #1

前端中心化是一个相对较小的问题。这要感谢蓬勃发展的DeFi 中间件生态系统,它允许我们以各种方式通过替代场所绕过受审查的 dapps 前端。例子包括 Zapper 和 Zerion 等投资组合跟踪器,集成了“兑换”功能的加密钱包,以及 1inch 和 Paraswap 等 DeFi 聚合器。它们让你无需以直接访问的方式就能够访问 dapps。Uniswap 等大多数 dapp 也致力于开源其前端的代码,允许任何个人甚至专门的 DAO 重新创建前端。

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

总之,这些去中心化的基础设施协议构成了 DeFi 前端去中心化 Web3 经济的基本构件。

解决方案 #2

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

轻客户端不会试图检索整个信标链或验证者集。这将需要大量的计算——因此它被称为“轻型”!它们只是通过了解对等节点来同步区块头。关键在于,这个过程是通过随机分配的验证者组 (同步委员会) 以去信任的方式来执行的。信标链 PoS 轻客户端的构建也比 PoW 轻客户端简单得多。通过只有几个回答这些查询的非审查完整节点,节点中心化问题得到了缓解。更多关于轻客户端的信息,请参阅这里:

https://twitter.com/SalomonCrypto/status/1579283196708941824

解决方案 #3

当我们想要依赖外部节点提供者时,有一些去中心化的 Infura 替代方案,如 Pocket Network或 Ankr,它们可以最大限度地减少对 Infura 的需求。

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

来源:Sami Kassab

解决方案 #4

节点托管问题是一种需要不断监控的中心化风险,但由于退出壁垒较低,威胁不大。如果 AWS 决定在其云服务器上限制节点托管,节点运行商可以轻松地转移到另一个云服务器,而不会被锁定在任何地方。由于合并,现在通过 DIY 硬件 (Raspberry Pi) 和即插即用解决方案 (Avado),设置自己的节点变得更加容易。

02.搜索者 (Searchers)

在用户交易成功提交之后,就会进入内存池。内存池是一个由你我这样的普通用户提交的待处理交易的数据库,有时被称为以太坊的“黑暗森林”🌳。MEV(最大可提取价值)游戏就是从这里开始的。

一旦交易进入内存池,搜索者就开始扫描黑暗森林,寻找有利可图的 MEV 机会。搜索者通常是运行套利机器人的大型机构和自营交易平台,但有时也包括个人。他们支付高额的 Gas 费用来让验证者接受他们的交易订单,而不是通过公共池。

这里需要注意的一点是,尽管人们通常认为 MEV 完全是坏事,但也有好的 MEV。在加密货币价格波动剧烈的情况下,DeFi 协议需要快速清算贷款人的抵押品,它需要支付高额的 Gas 费,以确保交易能够快速执行。如果区块链是按照先到先得的原则设计的,那么 DeFi 的效率将非常低。搜索者在平衡这种效率和构建高效区块方面发挥着重要作用。

然而,在糟糕的 MEV 方面,虽然搜索者本身并不是中心化风险,但它们通过与区块构建者勾结,在实现巨大的中心化向量方面发挥了作用。它们在协议层中的作用是将交易捆绑起来,并将它们传递给黑暗森林下一梯队的区块构建者。

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

1) 提议者构建者分离 (PBS) 之前

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

随着时间的推移,问题变得更糟。搜索者和矿工开始在地下市场串通,最有效地选择交易,以最大化他们自己的 MEV 利润。这最终推高了作为矿工的固定成本,因为大型矿池运营商有资本运行复杂的算法,超过了家庭经营的矿工——催生了我们所知的 MEV。过去两年在以太坊上提取的 MEV 总额已达 6.75 亿美元!

这里的中心化风险有两个问题:首先,它伤害了以太坊用户,他们最终会等待更长时间或支付更多的交易费用;其次,由于政治压力,资本雄厚的区块验证者在审查方面处于更有利的地位。

为了应对这一问题,以太坊开发者正在开发一种协议内解决方案,被称为提议者-构建者分离(PBS)。顾名思义,PBS 将验证者角色分成两个独立的原生角色:

  1. 提议者(即质押 32 ETH 并构建区块的验证者)

  2. 区块构建者

在 PBS 下,区块构建者彼此竞争,以创建来自搜索者的交易的聚合有序列表。这些交易捆绑在一起进行优化,可以最大化构建者自己的 MEV 费用,然后将其传递给区块提议者。提议者被激励基于最高费用来选择交易以创建区块,并将其发送到网络,从而打包上链。

这减少了区块提议者审查的中心化权力,因为构建区块的人并不是选择要包含在区块中的交易的同一个人。正如 Vitalik 在《区块链扩容的终局》一文中所描述的,PBS 的全部意义在于最大化验证者的去中心化。

但是 PBS 在技术上很复杂,几年内都不会准备好 (也许2-8年以后!) 好消息是,在此期间已经出现了解决验证者中心化的临时解决方案。

首先,合并后的验证者被随机选择为每个插槽 (Slot) 中的区块提议者。这与合并前的 PoW 不同,在合并前的 PoW 中,所有矿工都要通过解决数学难题来验证新交易。在以太坊上约 42 万个验证者中的一个被随机选择为区块提议者后,另一个验证者委员会被随机选择来提交关于被提议区块的有效性证明 (投票)。这种双层随机洗牌层的作用是遏制以太坊上的验证者中心化,使攻击者更难审查或破坏网络。

第二,像 Flashbots 这样的公司已经介入,人为地创造 PBS。Flashbots 开发了一个软件客户端(用于 PoW 以太坊的 MEV-Geth,用于 PoS 以太坊的 MEV-Boost),验证者可以简单地将其插入他们的共识客户端并在其节点上运行。这实际上将构建区块的工作外包给了专门的构建者角色(提议者与构建者分离!)

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

来源:Flashbots

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

2) 提议者/构建者分离 (PBS) 时代

PBS 消除了大型验证者的中心化权力。但是,即使在 PBS 被设计出来之后,我们还没有到达去中心化的应许之地。在后 PBS 时代,中心化向量虽然有所缓解,但仍将存在。本节的其余部分将简要介绍以太坊面临的各种审查威胁,以及其正在进行的相应解决方案。

审查威胁 #1

虽然 PBS 缓解之前的中心化问题,但它也通过增强构建者审查交易的能力,在构建者层面引入了新的中心化向量。通过创建一个专门的构建者角色,构建者将有能力为区块出价过高并排除某些交易。

解决方案1

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

crList 允许提议者迫使构建者充分利用空的区块空间,而不允许提议者明确规定要包含的交易的顺序:“嗨,构建者,请填满空的区块,否则我选择的交易将被包含进去。”

如果构建者坚持审查交易,并忽略提议者的 crList,则证明者将拒绝该区块 (证明者是随机选择的,在提议验证者提议区块后,对规范链的区块头进行投票)。简而言之,crLists 是一种间接的机制,它可以让提议者在不破坏 PBS 的整个目的 (将提议者去中心化) 的前提下,监督一个中心化的区块构建市场。

解决方案2

但是,如果提议者可以要求构建者将交易包含其中,或者如果他们与构建者勾结,并告诉构建者不要包含交易呢?这就引出了第二个解决方案:MEV-smoothing。就像 crList 让构建者受到制约一样,MEV-smoothing 通过去除提议者的自由裁量权来控制提议者。

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

解决方案3

第三种解决方案是使用加密的内存池。crLists 是用来对付构建者的,而 MEV-smoothing 是用来对付提议者的,但加密的内存池被设计来对抗这两者。这种机制很容易理解:它在用户交易的内容和发送/接收地址进入内存池之前对其进行加密,只有在链上时才解密。这使得行为者很难审查或参与MEV提取技术,如交易前端。这样就不需要像Flashbots Protect这样的私有内存池了。加密内存池技术是Cosmos开发者、Flashbots和面向隐私的链(如Aztec)也在尝试的技术。

解决方案4

第四个也是最后一个解决方案是我们最不希望依赖的,但也是一个不错的选择:利他主义的自我构建,在这种情况下,提议者只需选择构建自己的区块,而不是将其外包给构建者。这样做的好处是,即使只有 10% 左右的少数利他主义构建者,以太坊也可以继续发展。

这里明显的缺点是它与经济激励背道而驰——回想一下,验证者想要使用 MEV-Boost 是因为它能产生更高的费用。这就是为什么在社会层面促进一种抗审查文化和保持去中心化是非常重要的。 

审查威胁 #2

今天,要作为以太坊验证者参与进来,你需要在一个存款合约中质押32个ETH,同时运行两个软件客户端:执行客户端(执行交易)和共识客户端(对新产生的区块达成共识)。今天的威胁是,太多的验证者在运行同一个的执行客户端 Geth。

来源:clientdiversity.org

如果发现某个客户端存在bug或遭受攻击,则会带来更高的网络中断风险。这不是理论上的猜测,正如2016年上海DOS攻击事件所证明的那样,当时攻击者欺骗了Geth客户端,使其降低了处理速度。在合并后的以太坊,需要三分之二的质押ETH才能达到最终性。一个主要的客户端出现故障,可能会暂时使以太坊网络停滞 (或者更糟:分裂)——这使得任何特定的客户端在不超过三分之二的验证者节点上运行变得至关重要!

客户端中心化的问题非常严重,甚至像Prysmatic Labs这样客户端使用率最高的领先公司都建议节点验证者“使用他们的竞争对手”。毕竟,如果以太坊崩溃,对所有人来说都是损失。

解决方案

请注意,这里的审查威胁不仅适用于单个质押者,还适用于 Infura 和 Alchemy 等中心化节点提供商,或 Pocket Network 等去中心化节点提供商。以太坊开发者已经实现的解决方案包括各种惩罚措施,以削减不活动验证者的份额,如 Inactivity Leak (怠工惩罚) 机制。在今天的信标链上,如果行为不当的验证者在同一个客户端上都失败了,那么反相关性惩罚也会更加严厉。实际上,这促进了多客户端文化(客户端多样性!),同时鼓励验证者在选择客户端时不仅要考虑技术风险,还要考虑经济激励。

审查威胁 #3

最后,经常提到的在验证者层的另一个审查威胁,那就是 ETH 质押服务中的中心化。流动质押协议(比如 Lido 和 Rocket Pool 等) 和CEX(中心化交易所,比如 Coinbase 和 Kraken 等)分别控制了质押 ETH 的约 37% 和约 31%。这是一个严重的问题,因为任何一个拥有超过 33% 的 ETH 的实体都可能进行双花攻击。

来源:Dune Analytics

解决方案

没有简单的解决办法,但我们有理由保持乐观。首先,尽管 Lido 控制了30%的质押 ETH,但它并不是作为一个单一实体存在,对区块构建没有直接影响。Lido 的 ETH 战争基金被传递给28个节点运营商,这些运营商通过数万个节点进行质押,防止任何形式的单边网络攻击。

去中心化最大化主义者不会在 28 个节点运营商中找到太多安慰,考虑到质押(以太坊网络!),这仍然太少了。一种可能解决 ETH 中心化问题的技术解决方案是分布式验证者技术(DVT),也被称为秘密共享验证者技术,以太坊基金会自 2019 年以来一直在积极研究这一领域。带头开发 DVT 的公司是 RockX,一家机构区块链节点提供商,也是 Lido 的 28 个节点运营商之一。

DVT 是一种开源协议,它将节点运行活动分散在不同的验证者之间,而不是单个验证者。它使用多方计算 (MPC) 过程来确保节点可以由多个验证者共同运行,因为私钥是“共享的”。因此,没有任何行为者能完全获得签署信息所需的私钥。这还允许验证者在基础设施发生故障时替代另一个验证者。

最后,尽管持有过多 ETH 的流动质押协议非常令人担忧,但值得考虑一下,假设不存在 Lido DAO。在那样的情况下,ETH 将被已经持有大量 ETH 的 Coinbase 和 Kraken 等在政治上更脆弱的实体质押,这种情况将比现状糟糕得多。

04.中继器 (Relayers)

在 MEV-Boost 模型中,中继器扮演着提议者和构建者之间的中间“经纪人”角色。中继器是一种独特的中心化向量,是 Flashbots 试图解决 MEV 问题的结果。要理解这里的审查威胁,首先需要理解为什么会出现中继器。

回想一下,想要在 PBS 下将验证者角色拆分为提议者和构建者的全部原因是为了遏制验证者的审查权力,并阻止一个实体 (如 Coinbase 或 Lido) 持有大量质押的 ETH 份额,可以任意决定链上包含什么。

因此,为了让 PBS 发挥作用,提议者需要对他们从构建者那里收到的区块内容一无所知。否则,提议者将能够区分他们认为应该上链的区块,我们将回到PBS之前的起点。

这就是 Flashbots 的 MEV-Boost 模型下中继器的作用。构建者将一个组装好的区块的出价发送给中继器,然后中继器将区块发送到一个隐藏的托管处,并只向任何接受该中继器有效载荷的提议者透露价格。

只有在提议者承诺签署区块头并接受出价后,区块内容才会显示出来。这样,想要审查 Tornado Cash 交易的提议者别无选择,只能继续在链上提议区块,因为他们已经为它支付了费用。

来源:Devcon

审查威胁

但如果中继器自己选择审查呢?这就把我们带到了中继器层面的中心化风险的核心。今天,以太坊上 58% 的中继区块都在审查 Tornado Cash 交易,即符合 OFAC 的要求。这 58% 的大部分 (80%) 来自于 Flashbots 的中继区块 (见下图)。

请注意,还有许多其他验证者仍在接受带有 Tornado Cash 交易的区块,因此这实际上是一种“软”审查形式,表现为几分钟的延迟,而不是“硬”审查形式。只要中继器中有少数不进行审查,这个问题对用户来说仍然不便,这不是我们传统上认为的“审查”。尽管如此,这是一个导致最近几个月围绕以太坊被审查的广泛关注的问题。

解决方案

显而易见的解决方案是鼓励更广泛的中继器。验证者通常同时连接到多个中继器。如上所示,7个中继器 (BloXroute 和 Manifold) 中有3个不审查 Tornado Cash 交易。因为中继器是一个无许可的实体,这使得任何人都可以很容易地创建自己的中继器 (Flashbots 本身已经开源了自己的中继器)。创建非审查中继器的进入门槛很低,这意味着这个中心化向量比验证者层面上的要轻得多,在验证者层面阻止不诚实/行为不当的参与者,成本要高得多。

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

所以,你应该了解了整个MEV供应链以及我们正在做的事情。

请注意,本文只涉及软审查形式,这通常相当于以秒/分钟为单位的区块包含延迟。

这篇文章并不详尽——我省略了更多的中间件协议,比如预言机、侧链和 Rollups,它们有自己的中心化向量。像 51% 攻击这样的硬性审查形式,以及针对它们的技术和社会解决方案也没有包括在本文中。

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 Cointelegraph中文 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(0

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信