【英文】Vitalik:以太坊协议可能的未来,The Purge
Chainfeeds 导读:
以太坊面临的挑战之一是,随着时间的推移而增加的历史数据膨胀和协议功能复杂性。The Purge 的主要目标是通过减少或消除每个节点永久存储所有历史记录甚至最终状态的需要来降低客户端存储要求;通过消除不需要的功能来降低协议复杂性。
文章来源:
https://vitalik.eth.limo/general/2024/10/26/futures5.html
文章作者:
Vitalik Buterin
观点:
Vitalik Buterin:历史到期(History expiry):一种自然的选择是每个节点仅存储一小部分数据的网络,这就是种子网络几十年来的运作方式。如果通过让节点运行更加经济实惠,我们可以建立一个拥有 100,000 个节点的网络,其中每个节点存储随机 10% 的历史记录,那么每条数据将被复制 10,000 次 —— 与每个节点存储所有数据的 10,000 个节点网络的复制系数完全相同。如今,以太坊已经开始摆脱所有节点永久存储所有历史的模型。共识区块(即与权益证明共识相关的部分)仅存储约 6 个月。 Blob 仅存储约 18 天。EIP-4444 旨在为历史区块和收据引入一年的存储期。长期目标是建立一个统一的时期(可能约为 18 天),在此期间每个节点负责存储所有内容,然后建立一个由以太坊节点组成的点对点网络,以分布式方式存储旧数据。 状态到期(State expiry):今天,当您创建一个新的状态对象时 ,该状态对象永远处于该状态。我们想要的是对象随着时间的推移自动过期。我们结合了提案中最好的部分,并集中在两类「已知最不糟糕的解决方案」上: - 部分状态到期解决方案:我们将状态分成块。每个人都永久存储「顶级映射」,其中块为空或非空。仅当最近访问过该数据时才会存储每个块中的数据。有一种「复活」机制,如果不再存储某个块,任何人都可以通过提供数据内容的证明来恢复该数据。 - 基于地址周期的状态到期建议:我们不用一棵状态树存储整个状态,而是有一个不断增长的状态树列表,并且任何读取或写入的状态都会保存在最新的状态树中。每个时期(如 1 年)添加一次新的空状态树。老树都冻得严严实实的。完整节点仅存储最近的两棵树。如果一个状态对象在两个周期内没有被触及,从而落入过期树中,它仍然可以被读取或写入,但交易需要证明它的 Merkle 证明 —— 一旦证明,就会保存一个副本再次在最新的树中。 特征清理(Feature cleanup):没有任何重大的单一修复可以降低协议的复杂性,这个问题的本质是有许多小的解决办法。一个已经大部分完成的示例是删除 SELFDESTRUCT 操作码,并且可以作为如何处理其他示例的蓝图。迄今为止已确定的协议简化机会的一些关键示例包括以下内容。一些 EVM 之外的例子:RLP → SSZ 转换;删除旧的交易类型;LOG 改革;最终删除信标链同步委员会机制;数据格式统一;删除信标链委员会;去除混合字节序。EVM 中的一些示例:Gas 机制的简化;删除预编译;去除 Gas 可观察性;静态分析的改进。【原文为英文】
内容来源免责声明:文章中的所有内容仅代表作者的观点,与本平台无关。用户不应以本文作为投资决策的参考。