# 以太坊的可能未来:净化以太坊面临的一个重要挑战是,如何在长期内降低复杂性和存储需求,同时保持链的持久性和去中心化。为了使以太坊能够长期维持下去,我们需要对复杂性和膨胀施加强大的反压力,随着时间的推移降低复杂性和膨胀。但与此同时,我们需要保留区块链的持久性这一关键属性。净化的主要目标包括:1. 通过减少或消除每个节点永久存储所有历史记录甚至最终状态的需要来降低客户端存储要求。2. 通过消除不需要的功能来降低协议复杂性。## 历史记录到期### 解决什么问题?截至目前,完全同步的以太坊节点需要约1.1 TB的磁盘空间用于执行客户端,另外还需要数百GB用于共识客户端。其中绝大多数是历史数据,即使区块大小不变,节点大小每年也会持续增加数百GB。### 它是什么,如何工作?历史存储问题的一个关键简化特征是,因为每个区块通过哈希链接指向前一个区块,所以对当前达成共识就足以对历史达成共识。这为我们如何存储历史记录提供了很多选择。一种自然的选择是每个节点仅存储一小部分数据的网络。如今,以太坊已经开始摆脱所有节点永久存储所有历史的模型。共识区块仅存储约6个月。Blob仅存储约18天。EIP-4444旨在为历史区块和收据引入一年的存储期。长期目标是建立一个统一的时期(可能约为18天),在此期间每个节点负责存储所有内容,然后建立一个由以太坊节点组成的点对点网络,将旧数据存储在分布式网络方式。### 还需要做什么,需要权衡什么?剩下的主要工作包括构建和集成一个具体的分布式解决方案来存储历史记录。最简单的解决方案是引入现有的torrent库或称为Portal网络的以太坊原生解决方案。主要的权衡涉及我们如何努力提供"古代"历史数据。最简单的解决方案是明天停止存储古代历史,并依赖现有的存档节点和各种集中式提供程序进行复制。更困难但更安全的途径是首先构建并集成torrent网络,以分布式方式存储历史记录。### 与路线图的其他部分如何交互?如果我们想让节点运行或启动变得极其容易,那么减少历史存储需求可以说比无状态性更重要。只有实现无状态性和EIP-4444,才能实现在智能手表上运行以太坊节点并且只需几分钟即可设置的愿景。## 状态到期### 解决什么问题?即使我们消除了客户端存储历史记录的需要,客户端的存储需求也将继续增长,每年约50 GB,因为状态持续增长。用户可以支付一次性费用,从而永远给现在和未来的以太坊客户带来负担。### 它是什么,如何工作?今天,当创建一个新的状态对象时,该状态对象永远处于该状态。相反,我们想要的是对象随着时间的推移自动过期。关键的挑战是以实现效率、用户友好性和开发人员友好性三个目标的方式做到这一点。目前有两类"已知最不糟糕的解决方案":- 部分状态到期解决方案- 基于地址周期的状态到期建议部分状态到期提案将状态分成块。每个人都永久存储"顶级映射",其中块为空或非空。仅当最近访问过该数据时才会存储每个块中的数据。有一种"复活"机制,如果不再存储数据。基于地址周期的设计使用一个不断增长的状态树列表,并且任何读取或写入的状态都会保存在最新的状态树中。每个时期(例如:1年)添加一次新的空状态树。老树都冻结。完整节点仅存储最近的两棵树。### 还需要做什么,需要权衡什么?我认为未来有四种可行的道路:1. 我们做到无状态,并且从不引入状态过期。2. 我们进行部分状态到期,并接受一个低得多但仍然非零的永久状态大小增长率。3. 我们通过地址空间扩展来进行状态过期。4. 我们通过地址空间收缩来进行状态过期。重要的一点是,无论是否实施依赖于地址格式更改的状态到期方案,最终都必须解决有关地址空间扩展和收缩的难题。## 功能清理### 解决什么问题?安全性、可访问性和可信中立性的关键先决条件之一是简单性。如果协议美观且简单,就会减少出现错误的可能性。它增加了新开发人员能够参与其中的任何部分的机会。它更有可能是公平的,也更容易抵御特殊利益。不幸的是,协议就像任何社交系统一样,默认情况下会随着时间的推移而变得更加复杂。### 它是什么,如何工作?没有任何重大的单一修复可以降低协议的复杂性;这个问题的本质是有许多小的解决办法。一些关键示例包括:- RLP → SSZ 转换- 删除旧的交易类型- LOG 改革- 最终删除信标链同步委员会机制- 数据格式统一- 删除信标链委员会- 去除混合字节序- Gas 机制的简化- 删除预编译- 去除gas可观察性- 静态分析的改进### 还需要做什么,需要权衡什么?进行这种功能简化的主要权衡是我们简化的程度和速度与向后兼容性。更广泛的社会问题在于创建一个标准化的管道来进行非紧急的向后兼容性破坏的更改。EVM对象格式(EOF)是对EVM提出的一组主要更改。它的优点是创建了一条添加新EVM功能的自然路径,并鼓励迁移到具有更强保证的更严格的EVM。它的缺点是显着增加了协议的复杂性,除非我们能找到一种方法最终弃用并删除旧的EVM。一个更激进的以太坊简化策略是保持协议不变,但将其大部分从协议功能转移到合约代码。最极端的版本是让以太坊L1"技术上"只是信标链,并引入一个最小的虚拟机,允许其他人创建自己的汇总。然后,EVM将变成这些汇总中的第一个。
以太坊净化之路:降低复杂性与存储需求的长期挑战
以太坊的可能未来:净化
以太坊面临的一个重要挑战是,如何在长期内降低复杂性和存储需求,同时保持链的持久性和去中心化。为了使以太坊能够长期维持下去,我们需要对复杂性和膨胀施加强大的反压力,随着时间的推移降低复杂性和膨胀。但与此同时,我们需要保留区块链的持久性这一关键属性。
净化的主要目标包括:
通过减少或消除每个节点永久存储所有历史记录甚至最终状态的需要来降低客户端存储要求。
通过消除不需要的功能来降低协议复杂性。
历史记录到期
解决什么问题?
截至目前,完全同步的以太坊节点需要约1.1 TB的磁盘空间用于执行客户端,另外还需要数百GB用于共识客户端。其中绝大多数是历史数据,即使区块大小不变,节点大小每年也会持续增加数百GB。
它是什么,如何工作?
历史存储问题的一个关键简化特征是,因为每个区块通过哈希链接指向前一个区块,所以对当前达成共识就足以对历史达成共识。这为我们如何存储历史记录提供了很多选择。一种自然的选择是每个节点仅存储一小部分数据的网络。
如今,以太坊已经开始摆脱所有节点永久存储所有历史的模型。共识区块仅存储约6个月。Blob仅存储约18天。EIP-4444旨在为历史区块和收据引入一年的存储期。长期目标是建立一个统一的时期(可能约为18天),在此期间每个节点负责存储所有内容,然后建立一个由以太坊节点组成的点对点网络,将旧数据存储在分布式网络方式。
还需要做什么,需要权衡什么?
剩下的主要工作包括构建和集成一个具体的分布式解决方案来存储历史记录。最简单的解决方案是引入现有的torrent库或称为Portal网络的以太坊原生解决方案。主要的权衡涉及我们如何努力提供"古代"历史数据。最简单的解决方案是明天停止存储古代历史,并依赖现有的存档节点和各种集中式提供程序进行复制。更困难但更安全的途径是首先构建并集成torrent网络,以分布式方式存储历史记录。
与路线图的其他部分如何交互?
如果我们想让节点运行或启动变得极其容易,那么减少历史存储需求可以说比无状态性更重要。只有实现无状态性和EIP-4444,才能实现在智能手表上运行以太坊节点并且只需几分钟即可设置的愿景。
状态到期
解决什么问题?
即使我们消除了客户端存储历史记录的需要,客户端的存储需求也将继续增长,每年约50 GB,因为状态持续增长。用户可以支付一次性费用,从而永远给现在和未来的以太坊客户带来负担。
它是什么,如何工作?
今天,当创建一个新的状态对象时,该状态对象永远处于该状态。相反,我们想要的是对象随着时间的推移自动过期。关键的挑战是以实现效率、用户友好性和开发人员友好性三个目标的方式做到这一点。
目前有两类"已知最不糟糕的解决方案":
部分状态到期提案将状态分成块。每个人都永久存储"顶级映射",其中块为空或非空。仅当最近访问过该数据时才会存储每个块中的数据。有一种"复活"机制,如果不再存储数据。
基于地址周期的设计使用一个不断增长的状态树列表,并且任何读取或写入的状态都会保存在最新的状态树中。每个时期(例如:1年)添加一次新的空状态树。老树都冻结。完整节点仅存储最近的两棵树。
还需要做什么,需要权衡什么?
我认为未来有四种可行的道路:
重要的一点是,无论是否实施依赖于地址格式更改的状态到期方案,最终都必须解决有关地址空间扩展和收缩的难题。
功能清理
解决什么问题?
安全性、可访问性和可信中立性的关键先决条件之一是简单性。如果协议美观且简单,就会减少出现错误的可能性。它增加了新开发人员能够参与其中的任何部分的机会。它更有可能是公平的,也更容易抵御特殊利益。不幸的是,协议就像任何社交系统一样,默认情况下会随着时间的推移而变得更加复杂。
它是什么,如何工作?
没有任何重大的单一修复可以降低协议的复杂性;这个问题的本质是有许多小的解决办法。一些关键示例包括:
还需要做什么,需要权衡什么?
进行这种功能简化的主要权衡是我们简化的程度和速度与向后兼容性。更广泛的社会问题在于创建一个标准化的管道来进行非紧急的向后兼容性破坏的更改。
EVM对象格式(EOF)是对EVM提出的一组主要更改。它的优点是创建了一条添加新EVM功能的自然路径,并鼓励迁移到具有更强保证的更严格的EVM。它的缺点是显着增加了协议的复杂性,除非我们能找到一种方法最终弃用并删除旧的EVM。
一个更激进的以太坊简化策略是保持协议不变,但将其大部分从协议功能转移到合约代码。最极端的版本是让以太坊L1"技术上"只是信标链,并引入一个最小的虚拟机,允许其他人创建自己的汇总。然后,EVM将变成这些汇总中的第一个。