致谢:感谢来自 EF 的 Piper Merriam、Polychain 的 Karthik Raju、EthStorage 的 Qiang 对本文提供的反馈。
2023 年 10 月 22 日,著名的 Go-Ethereum(Geth)开发负责人 Péter Szilágyi 在 Twitter 上表达了他的深切担忧。他指出,虽然 Geth 客户端保留了所有历史数据,但 Nethermind 和 Besu 等其他以太坊客户端可以配置删除某些历史以太坊数据(例如历史区块和块头)。这使得所有客户端的行为不一致,并对 Geth 不公平。这引发了围绕以太坊路线图中以太坊存储问题的激烈讨论和辩论。
为什么 Nethermind 和 Besu 选择停止存储历史数据? 这一决定背后的问题是什么? 从我们的角度来看,有两个主要原因:
第一个原因源于运行以太坊客户端不断上升的存储需求。 为了深入了解具体需求,下面的饼图展示了截至 2023 年 12 月 13 日第 18,779,761 块时一个新 Geth 节点的存储分布情况。
如图所示:
第二个原因是缺乏存储历史区块的协议内激励或惩罚。 虽然该协议要求节点存储所有历史数据,但却未能提供任何机制来鼓励存储或惩罚违规的行为。 节点存储和共享历史数据变得纯粹出于利他主义,客户端运行者可以自由地删除或修改所有历史数据,而不会受到任何惩罚。 相比之下,Validator 节点必须在本地维护并更新完整的状态,以防止因提议 / 投票支持无效区块而导致的 Slash。
因此,当存储成本成为节点的重大负担时,一些节点运营商选择删除历史数据就不足为奇。 在没有历史数据的情况下,节点客户端可以显著降低存储成本,将其从大约 1TB 减少到 300GB 左右。
图示:Nethermined 配置运行没有历史区块的节点 — 目前可节省约 460GB 的存储成本
随着即将到来的以太坊数据可用性(DA)升级,存储挑战将会加剧。 全面扩容以太坊 DA 的道路始于 DenCun 升级中的 EIP-4844,它引入了一个固定大小的二进制大对象 (BLOB) ,和一个被称为 blobGasPrice 的独立费用模型。 每个 BLOB 设置为 128KB,EIP-4844 允许每个区块最多包含 6 个 BLOB。 为了对数据吞吐量进行扩容,以太坊计划采用 1D Reed-Solomon 代码,最初允许每个区块有 32 个 BLOB,并在完全扩容时达到每个区块 256 个 BLOB。
如果以太坊 DA 以全容量运行(每个块 256 个 BLOB),以太坊 DA 网络预计一年将接收大约 80 TB 的 DA 数据,该数字远远超出大多数节点的存储能力。
Vitalik 发布的以太坊路线图推文,提到了 Purge 主要涉及存储方面的内容
不断上升的存储成本引起了以太坊生态研究人员的关注。 为了解决这个问题并确保所有客户端的一致性,研究人员正在制定一些提案来明确删除历史的存储。 两个主要提案是:
删除所有客户端的历史数据会产生什么后果? 主要的一个问题是新节点无法通过「full sync」模式来同步到最新状态,「full sync」是一种将交易从创世区块执行到最新区块的同步。 相应地,我们必须采取「snap sync」或「state sync」来直接同步来自以太坊节点的最新状态。 这种方法已在 Geth 中实现,并作为默认同步运行。
同样地,这个后果也适用于所有 L2,即 L2 的新节点无法通过重放 L2 创世到最新的 L2 区块,来完全同步以太坊 L2 创世的最新状态。 此外,由于 L1 节点不维护 L2 状态,L2 的「snap sync」方法无法从 L1 中派生出最新的 L2 状态,这违反了继承以太坊安全保证的重要 L2 假设。 预计的解决方案将依赖 Infura / Etherscan / L2 项目本身等第三方服务来存储历史 L2 数据或状态副本。这是通过协议外、间接激励实现的中心化的解决方案。
我们要探讨的核心问题是:
以太坊 Portal 网络是一个轻量级、去中心化的访问网络,用于连接到以太坊协议。它提供例如 eth_call,eth_getBlockByNumber 等以太坊 JSON-RPC 接口,它将 JSON-RPC 请求转换为对分布式哈希表(DHT) 的 P2P 请求,类似于 IPFS 网络。 与允许存储任何数据类型且容易受到垃圾数据影响的 IPFS 不同,Portal P2P 网络专门托管以太坊数据,如历史区块头和区块交易数据。 这是通过 Portal 网络内置的轻客户端验证技术来实现的。
Portal 网络的一个重要特性是其轻量级运行设计以及与资源受限设备的兼容性。 它可以运行在具有几兆存储空间和低内存的节点之上,从而促进去中心化。 即使是手机或 Raspberry Pi 设备也有可能加入网络并有为以太坊数据的可用性做出贡献。
Portal 网络的开发与以太坊客户端多样性理念相一致,客户端采用 Rust、JavaScript 和 Nim 编写。 信标网络和历史网络已可供使用,而状态网络正在积极开发中。 值得注意的是,Portal 网络并不为数据存储提供直接激励 — — 网络中的所有节点都是利他的方式运行的。
图示:具有 100MB 存储限制的 Portal 网络 Rust 客户端 (Trin) 在运行中
EthStorage 网络是一个去中心化的激励存储网络,专门用于存储 EIP-4844 BLOB,并获得 ESP 项目的资助。
从模块化区块链的角度来看,EthStorage 充当以太坊存储 L2,但它收取的是存储费而不是交易费。 通过在链上索引 BLOB 哈希,EthStorage 是一个以太坊模块化存储层,提升存储可扩展性及降低成本(目标约为 1000 倍)。
在开发方面,EthStorage 已经与以太坊 Sepolia 测试网上的 EIP-4844 集成。我们已对 EthStorage 和以太坊 Sepolia 测试网进行压力测试,包括将大约数百 GB 的 BLOB 写入 EthStorage。 超过 100 名社区参与者加入网络并成功证明了他们的本地存储。
EthStorage 网络的主要优势在于在以太坊之上提供去中心化的直接激励 — — 就我们目前的知识而言,这是一项开创性的功能。 然而,该网络的局限性在于它是专门为固定大小的 BLOB 而设计的。
EthStorage 上以太坊 Sepolia 测试网的看板
尽管以太坊存储还未受到主要关注,但其在以太坊生态系统中具有重要意义。 随着以太坊网络的快速增长,以太坊数据的存储和可访问性成为关键挑战。 Portal 网络和 EthStorage 网络还处于早期阶段,还有很多重要的长期的发展方向需要关注:
在我们的追求中,我们希望通过这些努力,共同为以太坊路线图做出贡献,为未来以太坊生态系统的去中心化存储解决方案奠定基础。
本文转载自[tech flow深潮)],原文标题“以太坊存储路线图:挑战与机遇 ”,著作权归属原作者[EthStorage],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。
致谢:感谢来自 EF 的 Piper Merriam、Polychain 的 Karthik Raju、EthStorage 的 Qiang 对本文提供的反馈。
2023 年 10 月 22 日,著名的 Go-Ethereum(Geth)开发负责人 Péter Szilágyi 在 Twitter 上表达了他的深切担忧。他指出,虽然 Geth 客户端保留了所有历史数据,但 Nethermind 和 Besu 等其他以太坊客户端可以配置删除某些历史以太坊数据(例如历史区块和块头)。这使得所有客户端的行为不一致,并对 Geth 不公平。这引发了围绕以太坊路线图中以太坊存储问题的激烈讨论和辩论。
为什么 Nethermind 和 Besu 选择停止存储历史数据? 这一决定背后的问题是什么? 从我们的角度来看,有两个主要原因:
第一个原因源于运行以太坊客户端不断上升的存储需求。 为了深入了解具体需求,下面的饼图展示了截至 2023 年 12 月 13 日第 18,779,761 块时一个新 Geth 节点的存储分布情况。
如图所示:
第二个原因是缺乏存储历史区块的协议内激励或惩罚。 虽然该协议要求节点存储所有历史数据,但却未能提供任何机制来鼓励存储或惩罚违规的行为。 节点存储和共享历史数据变得纯粹出于利他主义,客户端运行者可以自由地删除或修改所有历史数据,而不会受到任何惩罚。 相比之下,Validator 节点必须在本地维护并更新完整的状态,以防止因提议 / 投票支持无效区块而导致的 Slash。
因此,当存储成本成为节点的重大负担时,一些节点运营商选择删除历史数据就不足为奇。 在没有历史数据的情况下,节点客户端可以显著降低存储成本,将其从大约 1TB 减少到 300GB 左右。
图示:Nethermined 配置运行没有历史区块的节点 — 目前可节省约 460GB 的存储成本
随着即将到来的以太坊数据可用性(DA)升级,存储挑战将会加剧。 全面扩容以太坊 DA 的道路始于 DenCun 升级中的 EIP-4844,它引入了一个固定大小的二进制大对象 (BLOB) ,和一个被称为 blobGasPrice 的独立费用模型。 每个 BLOB 设置为 128KB,EIP-4844 允许每个区块最多包含 6 个 BLOB。 为了对数据吞吐量进行扩容,以太坊计划采用 1D Reed-Solomon 代码,最初允许每个区块有 32 个 BLOB,并在完全扩容时达到每个区块 256 个 BLOB。
如果以太坊 DA 以全容量运行(每个块 256 个 BLOB),以太坊 DA 网络预计一年将接收大约 80 TB 的 DA 数据,该数字远远超出大多数节点的存储能力。
Vitalik 发布的以太坊路线图推文,提到了 Purge 主要涉及存储方面的内容
不断上升的存储成本引起了以太坊生态研究人员的关注。 为了解决这个问题并确保所有客户端的一致性,研究人员正在制定一些提案来明确删除历史的存储。 两个主要提案是:
删除所有客户端的历史数据会产生什么后果? 主要的一个问题是新节点无法通过「full sync」模式来同步到最新状态,「full sync」是一种将交易从创世区块执行到最新区块的同步。 相应地,我们必须采取「snap sync」或「state sync」来直接同步来自以太坊节点的最新状态。 这种方法已在 Geth 中实现,并作为默认同步运行。
同样地,这个后果也适用于所有 L2,即 L2 的新节点无法通过重放 L2 创世到最新的 L2 区块,来完全同步以太坊 L2 创世的最新状态。 此外,由于 L1 节点不维护 L2 状态,L2 的「snap sync」方法无法从 L1 中派生出最新的 L2 状态,这违反了继承以太坊安全保证的重要 L2 假设。 预计的解决方案将依赖 Infura / Etherscan / L2 项目本身等第三方服务来存储历史 L2 数据或状态副本。这是通过协议外、间接激励实现的中心化的解决方案。
我们要探讨的核心问题是:
以太坊 Portal 网络是一个轻量级、去中心化的访问网络,用于连接到以太坊协议。它提供例如 eth_call,eth_getBlockByNumber 等以太坊 JSON-RPC 接口,它将 JSON-RPC 请求转换为对分布式哈希表(DHT) 的 P2P 请求,类似于 IPFS 网络。 与允许存储任何数据类型且容易受到垃圾数据影响的 IPFS 不同,Portal P2P 网络专门托管以太坊数据,如历史区块头和区块交易数据。 这是通过 Portal 网络内置的轻客户端验证技术来实现的。
Portal 网络的一个重要特性是其轻量级运行设计以及与资源受限设备的兼容性。 它可以运行在具有几兆存储空间和低内存的节点之上,从而促进去中心化。 即使是手机或 Raspberry Pi 设备也有可能加入网络并有为以太坊数据的可用性做出贡献。
Portal 网络的开发与以太坊客户端多样性理念相一致,客户端采用 Rust、JavaScript 和 Nim 编写。 信标网络和历史网络已可供使用,而状态网络正在积极开发中。 值得注意的是,Portal 网络并不为数据存储提供直接激励 — — 网络中的所有节点都是利他的方式运行的。
图示:具有 100MB 存储限制的 Portal 网络 Rust 客户端 (Trin) 在运行中
EthStorage 网络是一个去中心化的激励存储网络,专门用于存储 EIP-4844 BLOB,并获得 ESP 项目的资助。
从模块化区块链的角度来看,EthStorage 充当以太坊存储 L2,但它收取的是存储费而不是交易费。 通过在链上索引 BLOB 哈希,EthStorage 是一个以太坊模块化存储层,提升存储可扩展性及降低成本(目标约为 1000 倍)。
在开发方面,EthStorage 已经与以太坊 Sepolia 测试网上的 EIP-4844 集成。我们已对 EthStorage 和以太坊 Sepolia 测试网进行压力测试,包括将大约数百 GB 的 BLOB 写入 EthStorage。 超过 100 名社区参与者加入网络并成功证明了他们的本地存储。
EthStorage 网络的主要优势在于在以太坊之上提供去中心化的直接激励 — — 就我们目前的知识而言,这是一项开创性的功能。 然而,该网络的局限性在于它是专门为固定大小的 BLOB 而设计的。
EthStorage 上以太坊 Sepolia 测试网的看板
尽管以太坊存储还未受到主要关注,但其在以太坊生态系统中具有重要意义。 随着以太坊网络的快速增长,以太坊数据的存储和可访问性成为关键挑战。 Portal 网络和 EthStorage 网络还处于早期阶段,还有很多重要的长期的发展方向需要关注:
在我们的追求中,我们希望通过这些努力,共同为以太坊路线图做出贡献,为未来以太坊生态系统的去中心化存储解决方案奠定基础。
本文转载自[tech flow深潮)],原文标题“以太坊存储路线图:挑战与机遇 ”,著作权归属原作者[EthStorage],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。