本文探讨了以太坊协议开发过程中一些关键决策的替代方案,包括权益证明的简化、分片技术的复杂化、EVM功能的增减以及ETH供应分配的不同方式,并反思了这些决策对以太坊发展的影响。
以太坊协议开发社区在以太坊的早期阶段做出了许多决策,这些决策对项目的发展轨迹产生了重大影响。在某些情况下,以太坊开发者有意识地做出了一些改进,以修正我们认为比特币出错的地方。在其他地方,我们正在完全创造一些新东西,我们不得不想出一些东西来填补空白——但有许多选择可供挑选。而在其他地方,我们在更复杂的东西和更简单的东西之间进行了权衡。有时,我们选择了更简单的东西,但有时,我们也选择了更复杂的东西。
这篇文章将回顾一些我记得的这些分岔路口。其中许多特性在核心开发圈内进行了认真的讨论;其他一些几乎没有被考虑过,但也许真的应该被考虑。但即便如此,看看一个不同的以太坊可能会是什么样子,以及我们从中可以学到什么,仍然是有价值的。
以太坊即将合并的 Gasper 权益证明是一个复杂的系统,但也是一个非常强大的系统。它的一些特性包括:
但构建一个具有这些特性的系统很难。它花了多年的研究、多年的失败 实验,并且总体上付出了巨大的努力。最终的输出也相当复杂。
如果我们的研究人员不必如此担心共识问题,并且有更多的脑力周期可用,那么也许,仅仅是也许,rollups 可能在 2016 年就被发明了。这让我们面临一个问题:我们是否真的应该对我们的权益证明有如此高的标准,即使是一个更简单、更弱的权益证明版本也比工作量证明现状有很大的改进?
许多人有一个误解,认为权益证明本质上是复杂的,但实际上有许多权益证明算法几乎与 Nakamoto PoW 一样简单。NXT 权益证明自 2013 年以来就存在,并且是一个自然的候选者;它有问题,但这些问题很容易被修补,我们本可以在 2017 年,甚至从一开始就拥有一个相当好用的权益证明。Gasper 比这些算法更复杂的原因仅仅是它试图实现比它们更多的目标。但如果我们在开始时更谦虚,我们本可以首先专注于实现更有限的目标。
在我看来,从一开始就采用权益证明会是一个错误;PoW 在扩大初始发行分布和使以太坊易于访问方面很有帮助,同时也鼓励了一个业余爱好者社区。但在 2017 年,甚至 2020 年切换到更简单的权益证明,可能会减少很多环境损害(以及由于环境损害而产生的反加密情绪),并且让更多的研究人才自由地思考扩展问题。我们最终是否必须花费大量资源来制作一个更好的权益证明?是的。但看起来我们最终无论如何都会这样做。
自从 2014 年开始研究分片概念以来,以太坊分片一直朝着越来越不复杂的方向发展。首先,我们有了内置执行和跨分片交易的复杂分片。然后,我们通过将更多责任转移给用户来简化协议(例如,在跨分片交易中,用户必须分别在两个分片上支付 gas)。然后,我们转向了以 rollup 为中心的路线图,从协议的角度来看,分片只是数据块。最后,随着danksharding的出现,分片费用市场合并为一个,最终的设计看起来像是一个非分片链,但在幕后发生了一些数据可用性采样的魔法,使得分片验证成为可能。
![]() |
![]() |
---|---|
2015 年的分片 | 2022 年的分片 |
但如果我们走了相反的道路呢?实际上,有一些以太坊研究人员深入探索了一个更加复杂的分片系统:分片将是链,会有分叉选择规则,子链依赖于父链,跨分片消息将由协议路由,验证者将在分片之间轮换,甚至应用程序也会在分片之间自动负载均衡!
这种方法的问题在于:这些形式的分片在很大程度上只是想法和数学模型,而 Danksharding 是一个完整的、几乎可以实施的规范。因此,考虑到以太坊的情况和限制,我认为分片的简化和去雄心化绝对是一个正确的举措。也就是说,更有雄心的研究也扮演着非常重要的角色:它确定了有前途的研究方向,即使是非常复杂的想法通常也有“相对简单”的版本,这些版本仍然提供了很多好处,而且它很可能会在未来几年显著影响以太坊的协议开发(甚至第二层协议)。
实际上,EVM 的规范基本上在 2014 年年中就已经可以发布了,除了安全审计。然而,在接下来的几个月里,我们继续积极探索新功能,我们认为这些功能对于去中心化应用区块链可能非常重要。有些没有加入,有些加入了。
POST
操作码,但决定不这样做。 POST
操作码会进行一个异步调用,该调用将在交易的其余部分完成后执行。ALARM
操作码,但决定不这样做。 ALARM
的功能类似于 POST
,只不过是在未来的某个区块中执行异步调用,允许合约安排操作。今天来看,大多数不添加更多功能的决定被证明是非常好的决定。没有明显的理由添加 POST
操作码。ALARM
操作码实际上很难安全地实现:如果区块 1...99999 中的每个人都设置了一个 ALARM
在区块 100000 执行大量代码会发生什么?该区块是否需要几个小时来处理?一些预定的操作是否会被推迟到后面的区块?但如果发生这种情况,那么 ALARM
甚至保留了什么保证?字节数组的 SSTORE
很难安全地实现,并且会大大扩展最坏情况下的见证大小。
状态租金问题更具挑战性:如果我们从一开始就实现了某种状态租金,我们就不会有一个围绕持久状态的标准化假设发展的智能合约生态系统。以太坊会变得更难构建,但它可能会更具可扩展性和可持续性。与此同时,我们当时的状态到期方案确实比我们现在拥有的差得多。有时,好主意需要多年才能想到,没有更好的办法。
LOG
的替代路径LOG
可以以两种不同的方式完成:
LOG
。这将为交易所和许多其他用户节省大量精力和软件错误问题,并且会加速每个人对日志的依赖,这反而会帮助智能合约钱包的采用。LOG
操作码,而是将其作为一个 ERC:会有一个标准合约,它有一个 submitLog
函数,并使用以太坊存款合约的技术来计算该区块中所有日志的 Merkle 根。无论是 EIP-2929 还是区块范围的存储(相当于 TSTORE,但在区块后被清除)都会使这变得便宜。我们强烈考虑过(1),但拒绝了。主要原因是简单性:日志只来自 LOG
操作码更容易。我们还(非常错误地!)期望大多数用户会迅速迁移到智能合约钱包,这些钱包可以使用操作码明确记录转账。
总的来说,似乎这两种方法中的任何一种都可能比现状更好。将 LOG
保留在协议之外会使事情更简单,但如果它在协议内自动记录所有 ETH 转账,它会更有用。
今天,我可能会赞成最终从 EVM 中废除 LOG
操作码。
EVM 可能有两条非常不同的自然路径:
第一条路径从未真正被考虑过。这条路径的吸引力在于它可以使编译器更简单,并允许更多开发者直接编写 EVM 代码。它还可以使 ZK-EVM 结构更简单。这条路径的弱点在于它会使 EVM 代码在结构上更加复杂:它不再是一系列简单的操作码,而是一个更复杂的数据结构,必须以某种方式存储。也就是说,有一个两全其美的机会被错过了:一些 EVM 变化可以给我们带来很多好处,同时保持基本的 EVM 结构大致不变:禁止动态跳转并添加一些旨在支持子程序的操作码(另见:EIP-2315),只允许在 32 字节字边界上进行内存访问等。
第二条路径被多次提出,也被多次拒绝。通常的论点是它允许程序从现有语言(C、Rust 等)编译到 EVM。反对的论点一直是,考虑到以太坊的独特限制,它实际上不会提供任何好处:
因此,可能从来没有一条可行的路径让 EVM 与我们现在拥有的截然不同,尽管有许多较小的细节(跳转、64 位与 256 位等)如果以不同的方式处理,可能会导致更好的结果。
当前的 ETH 供应大致由这张来自 Etherscan 的图表表示:
今天存在的大约一半的 ETH 是在一个开放的公共以太坊销售中出售的,任何人都可以发送 BTC 到一个标准化的比特币地址,初始的 ETH 供应分配是由一个开源脚本计算的,该脚本扫描比特币区块链以查找发送到该地址的交易。其余的大部分是通过挖矿获得的。底部的部分,标记为“其他”的 1200 万 ETH,是“预挖矿”——分配给以太坊基金会和约 100 名以太坊协议的早期贡献者的一部分。
对这一过程有两个主要的批评:
在某种程度上,问题是相关的:最小化中心化感知的愿望导致了更小的预挖矿,而更小的预挖矿更快地被耗尽。
这并不是唯一可以做的事情。Zcash 有不同的方法:恒定的 20% 的区块奖励分配给协议中硬编码的一组接收者,并且每 4 年重新协商一次接收者组(到目前为止这已经发生了一次)。这会更加可持续,但它会受到更严厉的批评,认为这是中心化的(Zcash 社区似乎比以太坊社区更公开地接受更多的技术官僚领导)。
一个可能的替代路径类似于今天一些 defi 项目中流行的“从第一天开始的 DAO”路线。以下是一个可能的稻草人提案:
销售可以由一个法律实体运行,该实体承诺按照与 ETH 开发者基金相同的比例分配销售期间收到的比特币(或者如果我们真的想让比特币持有者高兴,可以烧掉)。这可能会让以太坊基金会获得大量资金,非 EF 团体也获得大量资金(导致更多的生态系统去中心化),而不会破坏可信中立性。主要的缺点是代币投票真的很糟糕,但务实地说,我们可以意识到 2014 年仍然是一个早期和理想化的时代,代币投票的最严重缺点只会在销售结束很久后才会开始显现。
这会是一个更好的想法,并树立一个更好的先例吗?也许!尽管实际上即使开发者基金完全可信中立,今天对以太坊预挖矿大喊大叫的人可能只是开始对 DAO 分叉大喊大叫。
总的来说,有时我觉得以太坊最大的挑战来自于在两个愿景之间取得平衡——一个纯粹而简单的区块链,重视安全性和简单性,以及一个高性能和功能强大的平台,用于构建高级应用程序。上面的许多例子只是其中的一些方面:我们是拥有更少的功能,更像比特币,还是拥有更多的功能,对开发者
- 原文链接: vitalik.eth.limo/general...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!