作者:Vitalik;编译:邓通,本站
特别感谢 Dankrad Feist、Caspar Schwarz-Schilling 和 Francesco 的快速反馈和审查。
我坐在这里写这篇文章是在肯尼亚以太坊开发者互操作的最后一天,我们在实施和解决即将到来的重要以太坊改进的技术细节方面取得了很大进展,最引人注目的是 PeerDAS、Verkle 树过渡和去中心化方法在 EIP 4444 的背景下存储历史记录。从我自己的角度来看,以太坊的发展速度以及我们提供大型且重要功能的能力正在不断增强,这些功能可以显著改善节点运营商和(L1 和 L2)用户的体验。
以太坊客户端团队共同努力交付Pectra devnet
鉴于技术能力的增强,需要提出的一个重要问题是:我们是否正在朝着正确的目标前进? 长期的 Geth 核心开发人员 Peter Szilagyi 最近发布的一系列不满的推文促使我们思考这个问题:
这些担忧都是有道理的。 这是以太坊社区许多人表达的担忧。 我个人曾多次担心过这些问题。 然而,我也不认为情况像Peter的推文所暗示的那样绝望。 相反,许多问题已经通过正在进行的协议功能得到解决,而许多其他问题可以通过对当前路线图进行非常现实的调整来解决。
为了了解这在实践中意味着什么,让我们一一回顾Peter提供的三个例子。这些问题是许多社区成员普遍关心的问题,解决这些问题非常重要。
过去,以太坊区块是由矿工创建的,他们使用相对简单的算法来创建区块。 用户将交易发送到公共 p2p 网络,通常称为“mempool”(或“txpool”)。 矿工监听内存池,接受有效的交易并支付费用。 它们包括可以进行的交易,如果没有足够的空间,它们会按照费用最高的优先顺序进行优先级排序。
这是一个非常简单的系统,而且对去中心化很友好:作为矿工,你只需运行默认软件,你就可以从一个区块中获得与从高度专业的矿场获得的相同水平的费用收入。 然而,在 2020 年左右,人们开始利用所谓的矿工可提取价值(MEV):只有通过执行复杂的策略才能获得收入,这些策略了解各种 defi 协议内部发生的活动。
例如,考虑像 Uniswap 这样的去中心化交易所。 假设在时间 T,中心化交易所和 Uniswap 上的 USD/ETH 汇率为 3000 美元。 T+11时刻,中心化交易所的USD/ETH汇率升至3005美元。 但以太坊还没有下一个区块。 到时间 T+12 时,确实如此。 无论谁创建了该区块,他们的第一笔交易都可以是一系列 Uniswap 购买,以 3000 美元到 3004 美元的价格购买 Uniswap 上所有可用的 ETH。 这是额外收入,称为 MEV。 除 DEX 之外的应用程序也有类似的问题。 2019 年发表的 Flash Boys 2.0 论文对此进行了详细介绍。
Flash Boys 2.0 论文中的图表显示了使用上述各种方法可获取的收入金额。
问题在于,这打破了为什么挖矿(或者 2022 年后的区块提议)可以“公平”的原因:现在,拥有更好能力优化此类提取算法的大型参与者可以在每个区块中获得更好的回报。
从那时起,两种策略之间就一直存在争论,我将其称为 MEV 最小化和 MEV 隔离。 MEV 最小化有两种形式:(i) 积极开发 Uniswap 的无 MEV 替代品(例如 Cowswap),以及 (ii) 构建协议内技术,如加密内存池,减少区块生产者可用的信息,从而减少他们可以获得的收入。 特别是,加密的内存池可以防止三明治攻击等策略,这种攻击将交易放在用户交易之前和之后,以便在经济上利用它们(“抢先交易”)。
MEV 隔离的工作原理是接受 MEV,但试图通过将市场分为两种参与者来限制其对质押中心化的影响:验证者负责证明和提议区块,但选择区块内容的任务通过拍卖协议。 个人质押者现在不再需要担心自己优化 DeFi 套利; 他们只是加入拍卖协议并接受最高出价。 这称为提议者/构建者分离(PBS)。 这种方法在其他行业已有先例:餐馆能够保持如此去中心化的一个主要原因是,它们往往依赖相当集中的供应商来进行各种业务,而这些业务确实具有巨大的规模经济。 到目前为止,PBS 在确保小型验证者和大型验证者处于公平竞争环境方面已经相当成功,至少就 MEV 而言是如此。 然而,它带来了另一个问题:选择包含哪些交易的任务变得更加集中。
我对此的看法一直是 MEV 最小化是好的,我们应该追求它(我个人经常使用 Cowswap!) —— 尽管加密内存池有很多挑战,但 MEV 最小化可能还不够; MEV 不会降至零,甚至接近于零。 因此,我们也需要某种 MEV 隔离。 这就产生了一个有趣的任务:我们如何使“MEV隔离箱”尽可能小? 我们如何给予建设者尽可能少的权力,同时仍然让他们能够吸收优化套利和其他形式的 MEV 收集的作用?
如果构建者有权将交易完全排除在区块之外,那么很容易就会出现攻击。 假设您在 defi 协议中拥有抵押债务头寸 (CDP),由价格快速下跌的资产支持。 您想要增加抵押品或退出 CDP。 恶意构建者可能会试图串通拒绝包含您的交易,从而推迟交易,直到价格下跌到足以强行清算您的 CDP 为止。 如果发生这种情况,你将不得不支付巨额罚款,而建筑商将获得很大一部分。 那么我们如何防止构建者排除交易并完成此类攻击呢?
这就是包含列表的用武之地。
资料来源:ethresear.ch
包含列表允许区块提议者(即利益相关者)选择进入区块所需的交易。 构建者仍然可以重新排序交易或插入自己的交易,但它们必须包括提议者的交易。 最终,修改了包含列表以约束下一个区块而不是当前区块。 无论哪种情况,它们都会剥夺构建者将交易完全推出区块的能力。
MEV 是一个复杂的问题; 即使上面的描述也遗漏了许多重要的细微差别。 正如所说,“你可能不是在寻找 MEV,但 MEV 正在寻找你”。 以太坊研究人员已经非常一致地致力于“最小化隔离箱”的目标,尽可能减少构建者可能造成的危害(例如,通过排除或延迟交易作为攻击特定应用程序的一种方式)。
也就是说,我确实认为我们可以走得更远。 从历史上看,包含列表通常被认为是一种“特殊情况功能”:通常,您不会考虑它们,但万一恶意构建者开始做疯狂的事情,它们会给您“第二个”小路”。 这种态度反映在当前的设计决策中:在当前的 EIP 中,包含列表的 Gas 限制约为 210 万个。 但我们可以在如何看待包含列表方面做出哲学上的转变:将包含列表视为区块,并将构建器的角色视为添加一些交易以收集 MEV 的辅助功能。 如果建设者有 210 万个 Gas 限制怎么办?
我认为这个方向的想法 —— 真正推动隔离箱尽可能小 —— 非常有趣,我赞成朝这个方向发展。 这是与“2021时代哲学”的转变:在2021时代哲学中,我们更热衷于这样的想法:既然我们现在有了构建者,我们可以“超载”他们的功能,让他们以更复杂的方式为用户服务,例如。 通过支持 ERC-4337 费用市场。 在这种新理念中,ERC-4337 的交易验证部分必须被纳入协议中。 幸运的是,ERC-4337 团队已经越来越热衷于这个方向。
总结:MEV思想已经回到了赋权区块生产者的方向,包括赋予区块生产者直接确保用户交易纳入的权力。 账户抽象提案已经回到了消除对中心化中继器甚至捆绑器的依赖的方向。 然而,有一个很好的论点表明我们走得还不够远,我认为推动开发进程朝这个方向走得更远的压力是非常受欢迎的。
如今,单独的质押者在所有以太坊质押中所占的比例相对较小,并且大多数质押是由各种提供商完成的 —— 一些中心化运营商和其他 DAO,例如 Lido 和 RocketPool。
我做了自己的研究 —— 各种民意调查 、调查、面对面对话,提出问题“为什么你 —— 特别是你 —— 今天不单独下注?” 对我来说,到目前为止,一个强大的单独质押生态系统是我对以太坊质押的首选结果,而以太坊最好的事情之一是我们实际上试图支持一个强大的单独质押生态系统,而不是仅仅屈服于委托。 然而,我们离这个结果还很远。 在我的民意调查和调查中,有一些一致的趋势:
绝大多数不单独质押的人将其主要原因归为最低 32 ETH。
在那些提出其他原因的人中,最大的是运行和维护验证器节点的技术挑战。
ETH 即时可用性的丧失、“热”私钥的安全风险以及同时参与 DeFi 协议的能力的丧失,都是重大但较小的问题。
Farcaster 民意调查显示,人们不进行单独质押的主要原因。
质押研究需要解决两个关键问题:
我们如何解决这些担忧?
尽管对大多数问题都有有效的解决方案,但如果大多数人仍然不想单独权益,那么尽管如此,我们如何保持协议的稳定性和鲁棒性以抵御攻击呢?
许多正在进行的研究和开发项目正是旨在解决这些问题:
Verkle 树加上 EIP-4444 允许质押节点以非常低的硬盘要求运行。 此外,它们允许质押节点几乎立即同步,从而大大简化了设置过程以及从一种实现切换到另一种实现等操作。 它们还通过减少为每个状态访问提供证明所需的数据带宽,使以太坊轻客户端更加可行。
研究(例如这些提案)允许更大的验证器集(实现更小的质押最小值),同时减少共识节点开销的方法。 这些想法可以作为单槽最终性的一部分来实现。 这样做也将使轻客户端更安全,因为他们将能够验证全套签名而不是依赖同步委员会)。
尽管历史不断增长,但正在进行的以太坊客户端优化不断降低运行验证器节点的成本和难度。
对惩罚上限的研究可能会减轻对私钥风险的担忧,并使质押者能够同时将他们的 ETH 质押到 DeFi 协议中(如果他们愿意的话)。
0x01 提现凭证允许质押者将 ETH 地址设置为提现地址。 这使得去中心化的质押池更加可行,使其比中心化的质押池更具优势。
然而,我们仍然可以做更多的事情。 理论上可以允许验证者更快地撤回:即使验证者集每次最终确定时(即每个时期一次)发生几个百分点的变化,Casper FFG 仍然是安全的。 因此,如果我们努力的话,我们可以大大缩短周期。 如果我们想大大减少最小存款规模,我们可以做出艰难的决定,在其他方向上进行权衡。例如, 如果我们将最终确定时间增加 4 倍,那么最小存款规模将减少 4 倍。 单槽最终性稍后将通过完全超越“每个质押者参与每个时代”模型来解决这个问题。
整个问题的另一个重要部分是质押的经济学。 一个关键问题是:我们是否希望质押成为一项相对小众的活动,或者我们是否希望每个人或几乎每个人都质押他们所有的 ETH? 如果每个人都在质押,那么我们希望每个人承担什么责任? 如果人们最终因为懒惰而简单地委派责任,那么最终可能会导致中心化。 这里有重要而深刻的哲学问题。 错误的答案可能会导致以太坊走上中心化的道路,并“通过额外的步骤重新创建传统的金融体系”; 正确的答案可以创造一个成功的生态系统的光辉典范,拥有广泛且多样化的独立质押者和高度去中心化的质押池。 这些问题涉及以太坊核心经济和价值观,因此我们需要更多样化的参与。
以太坊去中心化的许多关键问题最终都归结为一个定义了区块链十年的问题:我们希望如何方便地运行节点,以及如何实现?
如今,运行节点很困难。 大多数人不这样做。 在我用来写这篇文章的笔记本电脑上,我有一个 reth 节点,它占用 2.1 TB - 已经是英勇的软件工程和优化的结果。 我需要额外购买一个 4 TB 硬盘放入我的笔记本电脑中以存储该节点。 我们都希望运行节点变得更容易。 在我的理想世界中,人们将能够在手机上运行节点。
正如我上面所写,EIP-4444 和 Verkle 树是让我们更接近这一理想的两项关键技术。 如果两者都实现,节点的硬件需求最终可能会减少到不到一百吉字节,如果我们完全消除历史存储责任(可能仅适用于非质押节点),则可能会接近于零。 类型 1 ZK-EVM 将消除您自己运行 EVM 计算的需要,因为您可以简单地验证执行是否正确的证据。 在我的理想世界中,我们将所有这些技术堆叠在一起,甚至以太坊浏览器扩展钱包(例如 Metamask、Rabby)也有一个内置节点来验证这些证明,进行数据可用性采样,并确保链是正确的。
上述愿景通常被称为“The Verge”。
这都是众所周知和理解的,即使是那些对以太坊节点规模提出担忧的人也是如此。 然而,有一个重要的担忧:如果我们卸下了维护状态和提供证明的责任,那么这不是一个中心化向量吗? 即使他们不能通过提供无效数据来作弊,但过于依赖他们不是违背了以太坊的原则吗?
这种担忧的一个近期版本是许多人对 EIP-4444 的不适:如果常规以太坊节点不再需要存储旧历史记录,那么谁需要呢? 一个常见的答案是:肯定有足够多的大参与者(例如区块浏览器、交易所、Layer 2)有动力持有这些数据,并且与 Wayback Machine 存储的 100 PB 相比,以太坊链很小。 因此,认为任何历史实际上都会丢失的想法是荒谬的。
然而,这一论点依赖于少数大型参与者。 在我的信任模型分类中,这是 N 中的 1 假设,但 N 非常小。 这有其尾部风险。 我们可以做的一件事是将旧历史记录存储在对等网络中,其中每个节点仅存储一小部分数据。 这种网络仍然会进行足够的复制以确保稳健性:每条数据都会有数千个副本,并且将来我们可以使用纠删码(实际上,通过将历史记录放入 EIP-4844 样式的 blob 中,这已经内置纠删码)以进一步提高稳定性。
Blob 在 Blob 内和 Blob 之间具有纠删码。 为以太坊的所有历史提供超稳定性存储的最简单方法很可能是将信标和执行块放入 blob 中。 图片来源:codex.storage
长期以来,这项工作一直处于次要地位。 门户网络确实存在,但实际上它并没有得到与其在以太坊未来的重要性相称的关注程度。 幸运的是,现在人们对将更多资源投入到专注于分布式存储和历史可访问性的最小化门户版本中的势头产生了浓厚的兴趣。 我们应该以此为基础,共同努力尽快实施 EIP-4444,并搭配强大的去中心化点对点网络来存储和检索旧历史记录。
对于状态和 ZK-EVM,这种分布式方法更加困难。 要构建一个高效的块,您只需要拥有完整的状态即可。 在这种情况下,我个人倾向于采取务实的方法:我们定义并坚持拥有一个“做所有事情的节点”所需的某种程度的硬件要求,这高于简单验证节点的(理想情况下不断降低的)成本链,但仍然足够低,爱好者可以负担得起。 我们依赖 N 中的 1 假设,确保 N 相当大。
ZK-EVM 证明可能是最棘手的部分,实时 ZK-EVM 证明器可能需要比存档节点更强大的硬件,即使有像 Binius 这样的进步,以及多维Gas的最坏情况边界。 我们可以在分布式证明网络上努力工作,其中每个节点都承担证明的责任,例如: 区块执行的百分之一,然后区块生产者只需要在最后聚合一百个证明。 证明聚合树可以提供更多帮助。 但如果这不能很好地工作,那么另一种妥协是允许证明的硬件要求变得更高,但要确保“做所有事情的节点”可以直接验证以太坊块(无需证明),速度足够快有效参与网络。
我认为,只要存在某种市场机制或零知识证明系统来迫使中心化参与者诚实行事,2021 时代的以太坊思想确实已经习惯于将责任转移给少数大型参与者。 此类系统通常在一般情况下运行良好,但在最坏的情况下会发生灾难性故障。
与此同时,我认为有必要强调的是,当前的以太坊协议提案已经大大偏离了这种模型,并且更加认真地对待真正去中心化网络的需求。 围绕无状态节点、MEV 缓解、单时隙最终性和类似概念的想法已经在这个方向上走得更远。 一年前,人们认真考虑过通过中继作为半中心化节点来进行数据可用性采样的想法。 今年,我们已经不再需要做这些事情,PeerDAS 取得了令人惊讶的强劲进展。
但是,在我上面谈到的所有三个中心问题以及许多其他重要问题上,我们可以做很多事情来朝这个方向走得更远。 Helios 在为以太坊提供“真正的轻客户端”方面取得了巨大进步。 现在,我们需要将其默认包含在以太坊钱包中,并让 RPC 提供商提供证明及其结果,以便对其进行验证,并将轻客户端技术扩展到第 2 层协议。 如果以太坊通过以 Rollup 为中心的路线图进行扩展,则第 2 层需要获得与第 1 层相同的安全性和去中心化保证。在以 Rollup 为中心的世界中,还有许多其他事情我们应该更加认真地对待; 分散且高效的跨 L2 桥就是众多例子之一。 许多 dapp 通过中心化协议获取日志,因为以太坊的本机日志扫描变得太慢。 我们可以通过专用的去中心化子协议来改进这一点; 这是我关于如何做到这一点的一项建议。
有几乎无限数量的区块链项目瞄准“我们可以超快,我们稍后会考虑去中心化”这一市场。 我认为以太坊不应该加入这一行列。 以太坊 L1 可以而且当然应该成为采用超大规模方法的第 2 层项目的强大基础层,使用以太坊作为去中心化和安全性的支柱。 即使以第 2 层为中心的方法也要求第 1 层本身具有足够的可扩展性来处理大量操作。 但我们应该深深尊重使以太坊独一无二的特性,并随着以太坊的扩展继续努力维护和改进这些特性。