作者感谢反馈和审查,并讨论了以太坊发展中的重要技术细节。以太坊发展迅速,但也面临一些问题,如MEV和个人权益质押生态系统的不完善。解决这些问题的关键技术是Verkle树和EIP-4444,它们可以降低节点的硬件需求。为了解决存储问题,建议采用erasure coding和分布式存储方法。以太坊应该成为采用超大规模方法的第2层项目的基础层。
原文标题:The near and mid-term future of improving the Ethereum network's permissionlessness and decentralization
原文作者:Vitalik Buterin
原文来源:Vitalik.eth
编译:Lynn,MarsBit
特别感谢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 ,USD/ETH汇率-在集中式交易所和Uniswap上-为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)构建协议内技术,如加密的mempools,减少了区块生产者可用的信息,从而减少了他们可以获得的收入。特别是,加密的内存池可以防止三明治攻击等策略,三明治攻击将交易放在用户交易之前和之后,以便在财务上利用它们(“抢先”)。
MEV验证通过接受MEV来工作,但试图通过将市场分为两种参与者来限制其对股权集中化的影响:验证者负责证明和提出区块,但选择区块内容的任务通过拍卖协议外包给专业的构建者。现在,单个投资者不再需要担心如何优化defi套利;他们只需加入拍卖协议,接受最高出价。这就是所谓的提议者/构建者分离(PBS)。这种方法在其他行业也有先例:餐馆能够保持如此分散的一个主要原因是,它们通常依赖于一组相当集中的供应商来进行各种具有巨大规模经济的业务。到目前为止,PBS在确保小型验证器和大型验证器处于公平竞争环境方面相当成功,至少就MEV而言。 然而,它产生了另一个问题:选择包含哪些事务的任务变得更加集中。
我对此的看法一直是,MEV最小化是好的,我们应该追求它(我个人经常使用Cowswap!)- 虽然加密的内存池有很多挑战,但MEV最小化可能是不够的;MEV不会下降到零,甚至接近零。因此,我们也需要某种形式的MEV验证。这就产生了一个有趣的任务:我们如何使“MEV隔离箱”尽可能小?我们如何给予建筑商尽可能少的权力,同时仍然让他们能够吸收优化套利和其他形式的MEV收集的作用?
如果构建者有能力将交易完全排除在区块之外,那么攻击就很容易发生。假设你在一个defi协议中有一个债务抵押头寸(CDP),由一个价格正在迅速下跌的资产支持。你要么提高你的抵押品,要么退出CDP。恶意的构建者可能会试图串通拒绝包含您的交易,延迟交易,直到价格下跌到足以强制清算您的CDP。如果发生这种情况,你将不得不支付一大笔罚款,而构建者将得到很大一部分。那么我们如何才能防止构建者排除交易并完成这类攻击呢?
这就是列入名单的地方。
Source: this ethresear.ch post
包含列表允许区块提议者(也就是stakers)选择进入区块所需的交易。构建者仍然可以重新排序事务或插入自己的事务,但它们必须包括提议者的事务。最终,包含列表被修改为约束下一个块而不是当前块。无论哪种情况,它们都剥夺了构建者将交易完全推出区块的能力。
以上都是一个背景复杂的深兔子洞。但MEV是一个复杂的问题;即使是上面的描述也遗漏了许多重要的细微差别。正如一句老话所说,“你可能不是在寻找MEV,但MEV正在寻找你”。以太坊的研究人员已经在“最小化隔离盒”的目标上达成了一致,减少了构建者可能造成的伤害(例如,通过尽可能地排除或延迟事务作为攻击特定应用的一种方式)。
尽管如此,我确实认为我们可以走得更远。从历史上看,包含列表通常被认为是一个“场外特例功能”:通常,你不会考虑它们,但万一恶意构建者开始做疯狂的事情,它们会给你一个“第二条路”。这种态度反映在当前的设计决策中:在当前的EIP中,包含列表的气体限制约为210万。但是我们可以在如何看待包含列表方面进行哲学上的转变:将包含列表视为块,并将构建者的角色视为添加一些交易以收集MEV的场外功能。如果是建筑商有210万的汽油限制呢?
我认为这个方向的想法——真正推动隔离箱尽可能小——真的很有趣,我赞成朝这个方向发展。这是一个从“2021时代哲学”的转变:在2021时代哲学中,我们更热衷于这样一个想法,即既然我们现在有了构建者,我们可以“超载”他们的功能,让他们以更复杂的方式为用户服务,例如。支持ERC—4337收费市场。在这种新的理念中,ERC—4337的交易验证部分必须被纳入协议。幸运的是,ERC—4337团队已经越来越热衷于这个方向。
总结:MEV的想法已经回到了赋予区块生产者权力的方向,包括赋予区块生产者直接确保包含用户交易的权力。账户抽象提案已经回到了消除对集中式中继器,甚至是转发器的依赖的方向。然而,有一种很好的论点认为,我们走得还不够远,我认为,推动发展进程朝着这一方向走得更远的压力是非常值得欢迎的。
今天,单独的stakers占所有以太坊staking的比例相对较小,大多数staking是由各种提供商完成的—一些集中式运营商,以及其他DAO,如Lido和RocketPool。
我做了我自己的研究-各种民意调查[1] [2],调查,面对面的谈话,问这个问题“为什么你-特别是你-今天不单独质押?“对我来说,一个强大的个人权益质押生态系统是迄今为止我对以太坊权益质押的首选结果,以太坊最好的事情之一是,我们实际上试图支持一个强大的个人权益质押生态系统,而不仅仅是屈服于授权。然而,我们离这一结果还很远。在我的民意调查和调查中,有几个一致的趋势:
根据Farcaster的民意调查,人们不单独质押的主要原因
质押研究需要解决两个关键问题:
许多正在进行的研究和开发项目正是为了解决这些问题:
然而,我们可以再一次做更多的事情。从理论上讲,允许验证器更快地撤回是可能的:Casper FFG仍然是安全的,即使验证器集在它最终确定时发生了百分之几的变化(即,它的安全性)。每个时期一次)。因此,如果我们努力的话,我们可以减少更多的提款期。如果我们想大大减少最低存款规模,我们可以做出一个艰难的决定,在其他方向上进行权衡,例如。如果我们将最终时间增加4倍,则将允许最小存款大小减少4倍。单槽终结性稍后将通过完全超越“每个参与者参与每个时代”的模型来清理这一点。
整个问题的另一个重要部分是赌注的经济学。一个关键的问题是:我们是希望staking成为一个相对小众的活动,还是希望每个人或几乎每个人都把他们所有的ETH都押上?如果每个人都在下注,那么我们希望每个人承担的责任是什么?如果人们最终只是因为懒惰而将这一责任委派出去,那最终可能会导致集中化。这里有一些重要而深刻的哲学问题。不正确的答案可能会导致以太坊走上中心化的道路,并“通过额外的步骤重新创建传统的金融体系”;正确的答案可能会创造一个成功的生态系统的光辉典范,拥有广泛而多样化的个人利益相关者和高度分散的利益相关者池。这些问题涉及到以太坊的核心经济和价值观,因此我们需要更多元化的参与。
以太坊去中心化的许多关键问题最终归结为一个定义了区块链政治十年的问题:我们希望如何访问运行节点,以及如何访问?
今天,运行一个节点很难。在我写这篇文章的笔记本电脑上,我有一个reth节点,它占用了2.1TB-这已经是英雄软件工程和优化的结果。我需要去买一个额外的4 TB硬盘驱动器放进我的笔记本电脑,以便存储这个节点。我们都希望运行一个节点更容易。在我的理想世界里,人们可以在手机上运行节点。
正如我上面所写的,EIP—4444和Verkle树是让我们更接近这个理想的两个关键技术。如果两者都实现了,节点的硬件需求最终可能会降低到不到100 GB,如果我们完全消除历史存储责任(也许只针对非staking节点),可能会接近零。类型1 ZK—EVM将消除自己运行EVM计算的需要,因为您可以简单地验证执行是否正确。在我的理想世界中,我们将所有这些技术堆叠在一起,甚至以太坊浏览器扩展钱包(例如。Metamask,Rabby)有一个内置的节点来验证这些证明,进行数据可用性采样,并对链的正确性感到满意。
上面描述的愿景通常被称为“The Verge”
这是众所周知的,即使是对以太坊节点大小表示担忧的人也是如此。然而,有一个重要的问题:如果我们卸下了维护状态和提供证明的责任,那么这不是一个中心化向量吗?即使他们不能通过提供无效数据来欺骗,但过于依赖他们是否仍然违反了以太坊的原则?
这种担忧的一个非常近期的版本是许多人对EIP—4444的不适:如果常规以太坊节点不再需要存储旧历史,那么谁需要呢?一个常见的答案是:肯定有足够多的大演员(如。区块探索者,交易所,第二层),他们有动力保存这些数据,与Wayback Machine存储的100 PB相比,以太坊链很小。因此,认为任何历史都会丢失是荒谬的。
然而,这一论点依赖于对少数大型行为体的依赖。在我的信任模型分类中,这是一个N中取1的假设,但N非常小。这有其尾部风险。我们可以做的一件事是在对等网络中存储旧历史,其中每个节点只存储一小部分数据。这种网络仍然会做足够的复制来确保鲁棒性:每一段数据都会有数千个副本,将来我们可以使用擦除编码(实际上,通过将历史放入EIP-4844风格的blob中,它已经内置了擦除编码)来进一步提高鲁棒性。
Blobs have erasure coding within blobs and between blobs. The easiest way to make ultra-robust storage for all of Ethereum's history may well be to just put beacon and execution blocks into blobs. Image source: codex.storage
很长一段时间以来,这项工作一直处于次要地位;门户网络存在,但实际上它没有得到与其在以太坊未来的重要性相称的关注程度。幸运的是,现在人们对将更多的资源投入到最小化的Portal版本中的势头非常感兴趣,该版本侧重于历史的分布式存储和可访问性。我们应该在这一势头的基础上再接再厉,尽快实施EIP-4444,同时建立一个强大的去中心化对等网络来存储和检索旧历史。
对于状态和ZK—EVM,这种分布式方法更难。要构建一个高效的块,您只需拥有完整的状态。在这种情况下,我个人倾向于一种务实的方法:我们定义并坚持某种程度的硬件要求,需要有一个“做一切事情的节点”,这比简单验证链的成本(理想情况下不断下降)要高,但仍然足够低,可以让业余爱好者负担得起。我们依赖于1—of—N假设,其中我们确保N相当大。例如,这可能是一台高端消费者笔记本电脑。
ZK-EVM证明可能是最棘手的部分,实时ZK-EVM证明器可能需要比归档节点更强大的硬件,即使有Binius这样的进步,以及最坏情况下的多维气体绑定。我们可以在分布式证明网络上努力工作,每个节点都负责证明例如。一个区块执行的百分之一,然后区块生产者只需要在最后汇总一百个证明。证明聚合树可以进一步提供帮助。但如果这不能很好地工作,那么另一个妥协是允许证明的硬件要求变得更高,但要确保“做一切事情的节点”可以直接验证以太坊块(无需证明),速度足够快,可以有效地参与网络。
我认为,2021年的以太坊思想对于将责任推卸给少数大规模参与者变得过于舒适,只要存在某种市场机制或零知识证明系统来迫使中心化参与者诚实行事。这样的系统通常在一般情况下工作良好,但在最坏的情况下会发生灾难性的失败。
We're not doing this.
与此同时,我认为重要的是要强调,目前的以太坊协议提案已经大大脱离了这种模型,并且更加重视对真正去中心化网络的需求。关于无状态节点、MEV缓解、单插槽终结性和类似概念的想法已经在这个方向上走得更远了。一年前,通过将中继作为半集中式节点进行数据可用性采样的想法得到了认真考虑。今年,我们已经超越了做这些事情的需要,在PeerDAS上取得了令人惊讶的强劲进展。
但是,在这个方向上,我们可以做很多事情,在我上面谈到的所有三个轴上,以及许多其他重要的轴上。Helios在为以太坊提供“实际的轻客户端”方面取得了很大进展。现在,我们需要将其默认包含在以太坊钱包中,并使RPC提供者提供证明沿着他们的结果,以便他们可以进行验证,并将轻客户端技术扩展到第2层协议。如果以太坊通过以汇总为中心的路线图进行扩展,那么第2层需要获得与第1层相同的安全性和去中心化保证。在一个以汇总为中心的世界里,还有许多其他的事情我们应该更加认真地对待;去中心化和高效的跨L2桥接就是其中的一个例子。许多dapp通过集中式协议获取日志,因为以太坊的原生日志扫描变得太慢了。我们可以通过一个专门的去中心化子协议来改进这一点;这里是我关于如何做到这一点的一个建议。
有几乎无限数量的区块链项目,目标是“我们可以超快,我们以后会考虑去中心化”。我不认为以太坊应该是这些项目之一。以太坊L1可以而且肯定应该成为采用超大规模方法的第2层项目的强大基础层,使用以太坊作为去中心化和安全性的骨干。即使是以第2层为中心的方法,也需要第1层本身具有足够的可伸缩性来处理大量的操作。但我们应该对以太坊独特的属性表示深深的尊重,并随着以太坊的扩展继续努力维护和改进这些属性。