以太坊存储方案路线图:挑战与机遇共存

时间:2024-09-21 编辑: 浏览:(848)

来源:极客 Web3

摘要:

· 自EIP-4844之后,以太坊网络的数据吞吐量与存储压力日益增长,不断增长的存储需求为以太坊节点带来了巨大挑战。为了降低存储压力,部分以太坊客户端对本地存放的以太坊历史数据进行删剪,不同的全节点在存储行为上的一致性被逐渐瓦解。

· 为了确保所有以太坊客户端能在行为上达成一致,EIP-4444 和 EIP-4844 将历史数据删减行为进行了标准化,将在未来成为以太坊节点的标配。

· 因此,如果要重放历史数据来还原最新的 Layer1 或 Layer2 状态,要依赖于中心化的、以太坊协议外的服务设施,这促使人们探索更去中心化的、与以太坊相一致的存储解决方案

· 以太坊 Portal 网络是一个轻量级、去中心化的P2P网络,适用于包括历史数据在内的所有类型的以太坊数据。它专为资源受限的设备而设计,并提供以太坊JSON-RPC服务。历史网络和信标链网络几乎已经准备就绪。

· EthStorage 是一个针对 EIP-4844 BLOBs数据的激励模块化存储网络。为了存储BLOB,用户可以调用 L1上的 存储合约,以ETH作为存储手续费,在链上记录下BLOB的哈希值 。随着时间的推移,存储费用将逐渐分配给提供链下 BLOB 存储证明的存储服务商。

·  目前EthStorage 测试网正在以太坊 Sepolia 测试网上运行,多名社区参与者已成功证明了他们的本地存储状况。未来的计划包括开发一个去中心化的以太坊状态网络、实现动态大小数据的存储证明,并可以直接从浏览器以去中心化的方式访问EthStorage网络。

致谢:感谢来自以太坊基金会的 Piper Merriam、Polychain 的 Karthik Raju、EthStorage 的 Qiang Zhu 对本文提供的反馈。

背景:

2023年10月22日,著名的 Go-Ethereum(Geth)开发负责人 Péter Szilágyi 在 Twitter 上表达了他对以太坊数据存储方案的担忧。他指出,虽然 Geth 客户端保留了所有历史数据,但 Nethermind 和 Besu 等其他类型的以太坊客户端,可以配置删除某些以太坊历史数据(例如历史区块)。这会让部分客户端节点的行为与其他客户端不一致,对Geth客户端运行者来说很不公平。上述话题随即引发了关于以太坊路线图中存储方案的激烈讨论。

存储的挑战

为什么 Nethermind 和 Besu 允许客户端运行者删减本地的历史数据?这一决定反映出的问题是什么?

从我们的角度来看,有两个主要原因:

以太坊客户端的存储要求变得越来越高。

存储以太坊历史数据没有任何协议内的激励或惩罚。

第一个原因源于以太坊客户端不断上升的存储需求。下面的饼图展示了截至2023 年 12 月 13 日时,区块高度为18,779,761下,一个新 Geth 节点的存储分布情况。

如图所示:

总存储大小:925.39 GB

历史数据(区块/交易收据):约 628.69 GB

Merkle Patricia Trie (MPT) 中的状态数据:约 269.74 GB

第二个原因是,以太坊节点缺乏存储历史区块的协议内激励或惩罚。虽然该协议提倡节点存储所有历史数据,但却未能提供任何机制来鼓励存储或惩罚违规的行为。节点愿意存储并对外提供历史数据的提取权限,更多出于利他主义,而不是因为有激励措施。

当然,客户端运行者可以自由地删除或修改所有历史数据,而不会受到任何惩罚。相比之下,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 主要涉及存储方面的内容。

不断上升的存储成本引起了以太坊生态研究人员的关注。为了解决这个问题并确保所有客户端的一致性,研究人员正在制定一些提案来明确删除以太坊客户端的历史数据。两个主要提案是:

· EIP-4444:限制执行客户端中的历史数据:该提案允许客户端删除超过一年的过往区块。假设平均区块大小为 100K,历史块数据上限约为 250 GB(100K * (3600 * 24 * 365) / 12,假设区块时间 = 12 秒)。

· EIP-4844:分片 BLOB 交易:丢弃超过 18 天的 BLOB数据。与 EIP-4444 相比,这是一种更激进的方法,将历史 BLOB 大小限制在 100 GB 左右((18 * 3600 * 24) * 128K * 6 / 12,假设区块时间 = 12 秒)。

删除所有客户端的历史数据会产生什么后果?主要的一个问题是,新节点无法通过“full sync”模式来同步到最新状态, “full sync”是一种将历史数据重放,从创世区块同步到最新区块的数据同步方案。相应地,我们必须采取“snap sync”或“state sync”来直接同步以太坊节点的最新状态。这种方法已在 Geth 中实现,并作为默认的同步运行方式。

节点删除掉以太坊主网历史数据,也会导致以太坊 L2出现问题,即新加入的Layer2节点,无法通过重放 Layer2全部历史数据的方法,同步至当前的最新状态。此外,由于 L1 节点不维护 L2 状态,L2 的“snap sync”方法无法根据Layer1区块直接派生出最新的 Layer2 状态,这违反了Layer2继承以太坊安全所需的重要假设。

预计的解决方案将依赖 Infura / Etherscan / L2 项目本身的第三方服务来存储Layer2历史数据或状态副本,这是通过协议外、间接激励实现的中心化解决方案。

我们要探讨的核心问题是:

我们能否在存储和访问方面找到更好的去中心化解决方案?

是否有可能找到给予节点直接激励、得到以太坊网络本身保障(例如,靠L1合约实现)的解决方案?

在这一切的基础上,我们是否可以为以太坊存储路线提供一种完全去中心化的、协议内直接激励的解决方案?

解决方案

解决方案1:以太坊 Portal 网络

以太坊 Portal 网络是一个轻量级、去中心化的网络,用于连接到以太坊协议。它提供eth_call,eth_getBlockByNumber等以太坊 JSON-RPC 接口,它将 JSON-RPC 请求转换为对分布式哈希表(DHT)的 P2P 请求,类似于 IPFS 网络。与允许存储任何数据类型且容易受到垃圾数据影响的 IPFS 不同,Portal P2P 网络专门托管以太坊数据,如历史区块头和交易数据,这是通过 Portal 网络内置的轻客户端验证技术来实现的。

Portal 网络的一个重要特性是。其轻量级的运行设计以及与资源受限设备的兼容性。它可以运行在具有几MB存储空间和低内存的节点之上,从而促进去中心化。即使是手机或 Raspberry Pi 设备也有可能加入该网络,为解决以太坊DA问题做出贡献。

Portal 网络的开发与以太坊客户端多样性的理念相一致,客户端采用 Rust、JavaScript 和 Nim 编写。信标网络和历史网络已可供使用,而状态网络正在积极开发中。值得注意的是,Portal 网络并不为数据存储提供直接激励。

图示:具有 100MB 存储限制的 Portal 网络Rust客户端(Trin)在运行中

解决方案2:EthStorage 网络

EthStorage 网络是一个去中心化的激励存储网络,专门用于存储 EIP-4844 BLOB,并获得 ESP 项目的资助。

· 最小信任:与需要中心化数据桥的现有解决方案不同,EthStorage 依赖于以太坊的共识和无需许可的 EthStorage 存储节点的 1/m 信任模型。存储 BLOB 的过程是这样的:用户签署一个携带 BLOB 的交易,调用存储合约的put(key, blob_idx) 方法。然后,存储合约将记录 BLOB 哈希在链上。之后存储提供商将直接从以太坊 DA 网络下载并存储 BLOB,从而绕过数据桥问题。

· 存储成本与激励相一致:当调用 put() 方法时,交易必须发送存储费(通过 msg.value)并存入合约中。在成功链下存储节点提交并验证存储证明后,这个存储费用将随着时间的推移逐渐分配给存储节点。与现有的向出块者(proposer)支付一次性存储费的以太坊存储费模型相比,随着时间的推移,支付的存储费遵循贴现现金流模型——假设随着时间的推移,存储成本将相对于 ETH价格而降低。EthStorage 引入的这一重大创新使得费用和存储节点的存储贡献保持一致。

· 存储证明:存储证明是受到数据可用性抽样的启发,而 EthStorage 中的采样是针对一段时间内的保存的BLOB。为了有效地验证链上采样,EthStorage 充分利用了智能合约和最新的 SNARK 技术发展。

· 无许可操作:EthStorage 中的任何存储节点只要存储数据并定期在链上提交存储证明,都可以获得报酬。

从模块化区块链的角度来看,EthStorage 充当以太坊存储L2,但它收取的是存储费而不是交易费。通过在链上索引 BLOB 哈希,EthStorage 是一个以太坊模块化存储层,提升存储可扩展性及降低成本(目标约为 1000 倍)。

在开发方面,EthStorage 已经与以太坊 Sepolia 测试网上的 EIP-4844 集成。我们已对 EthStorage 和以太坊 Sepolia 测试网进行压力测试,包括将大约数百 GB 的 BLOB 写入 EthStorage。超过 100 名社区参与者加入网络并成功证明了他们的本地存储。

EthStorage 网络的主要优势在于在以太坊之上提供去中心化的直接激励——就我们目前的知识而言,这是一项开创性的功能。然而,该网络的局限性在于它是专门为固定大小的 BLOB 而设计的。

EthStorage 上以太坊 Sepolia 测试网的看板

展望未来

尽管以太坊存储还未受到主要关注,但其在以太坊生态系统中具有重要意义。随着以太坊网络的快速增长,以太坊数据的存储和可访问性成为关键挑战。Portal 网络和 EthStorage 网络还处于早期阶段,还有很多重要的长期的发展方向需要关注:

去中心化低延迟访问的以太坊状态数据网络:以去中心化且可验证的方式访问以太坊状态是一项关键但具有挑战性的任务。使用传统的 DHT 网络模型,查询帐户信息通常需要对存储在不同 P2P 节点中的内部 trie 节点进行多次查询。这往往会导致相当长时间的延迟。如何利用状态树的结构来加速访问是关键所在。以太坊 Portal 网络即将推出的状态网络,正是旨在解决这个问题。

Portal 网络与 EthStorage 网络的集成:Portal 网络可以无缝扩展以支持BLOB数据。EthStorage 团队已部分实现了这个功能。下一步进展,是将这些网络统一起来,提供一个去中心化JSON-RPC 网络,能够通过合约来对 BLOBs可编程访问 。通过将合约中的应用逻辑与 EthStorage 提供的规模化 BLOB 存储相结合,我们可以在以太坊上启用新的 dApps,例如动态的去中心化网站(例如去中心化的 Twitter/YouTube/Wikipedia 等)。

浏览器的去中心化访问:与访问 IPFS 网络中的数据的 ipfs:// 协议类似,web3行业需要一个以太坊原生访问协议的来支持浏览器直接访问,以释放以太坊丰富数据的巨大潜力。这些数据涵盖了广泛的领域,从代币所有权和账户余额到 NFT 图像和动态去中心化网站,所有这些都得益于智能合约和未来以太坊存储的功能所实现。在这个领域,ERC-4804/6860 定义的 web3://协议目前正在积极开发和推广,以实现这一目标。

动态大小数据的高级存储证明:除了固定 BLOB 之外,探索高级存储证明对于解决动态大小数据(例如历史区块甚至状态对象等)也势在必行。开发复杂的算法可以增强存储解决方案的适应性。

在我们的追求中,我们希望通过这些努力,共同为以太坊路线图做出贡献,为未来以太坊生态系统的去中心化存储解决方案奠定基础。

最新 更多 >
  • 1 HAHA币怎么出售

    HAHA币怎么出售HAHA币是一种虚拟货币,也是目前市场上较为热门的数字货币之一。对于想要出售HAHA币的人来说,有几种常见的方法可以选择。通过交易所出售最常见的方式就是通过数字货币交易所来出售HAHA币。以下是几个热门且真实存在的交易平台: 欧易(EOE) 币安(Binance) 火币(Huobi)在这些交易所注册账户,并完成实名认证后,你可以在交易所上找到HAHA币的交易对,将自己持有的

  • 2 WBRISE币值多少钱一枚

    WBRISE币是一种全新的加密数字货币,它在数字金融领域具有极高的潜力。作为一种新兴的数字资产,WBRISE币在市场中的价值已逐渐凸显出来。那么,WBRISE币值多少钱一枚呢?下面让我们一起来探讨一下。目前来说,WBRISE币的价值一直在波动,但整体趋势是呈上涨趋势。对于投资者来说,持有WBRISE币可以带来不错的回报。根据最新的数据统计,每一枚WBRISE币的价值大致在100美元左右。当然,这只

  • 3 WSHEC币值多少钱一枚

    近年来,加密货币市场迅速崛起,越来越多的人开始关注和投资数字资产。其中一种备受瞩目的加密货币便是WSHEC币。WSHEC币是一种基于区块链技术的数字资产,其价值由市场供需决定。那么,现在的WSHEC币值多少钱一枚呢?让我们来了解一下。WSHEC币的价值是由市场的买卖力量决定的。随着加密货币市场的发展和数字资产投资的增加,WSHEC币的价值也在不断上升。目前,一枚WSHEC币的价格约为XX元。然而,

  • 4 XUSD币有希望吗

    随着区块链技术的不断发展,加密货币逐渐引起了人们的关注和热议。作为近年来崭露头角的数字货币之一,XUSD币备受瞩目。那么,XUSD币有希望吗?我们将从多个方面来探讨。首先,XUSD币具备较高的区块链技术支持。区块链技术作为加密货币的核心技术,保证了交易的安全性和可靠性。XUSD币采用的区块链技术是一种高度安全的技术,可以有效防止黑客攻击和数据篡改的风险。这意味着XUSD币具备稳定的技术基础,能够吸

  • 5 YTZ币有希望吗

    YTZ币,是一种新型的加密数字货币,近来备受关注。它引发了人们对加密货币领域的关注,让人们产生了对未来发展的期待。那么,YTZ币有希望吗?它能够成为下一个比特币吗?让我们一起来分析。首先,YTZ币的背后团队是其成功的关键因素之一。YTZ团队由一群经验丰富的专业人士组成,他们在加密货币领域拥有丰富的经验和技术知识。这个团队致力于将YTZ币推向全球市场,并与其他加密货币项目建立合作关系。他们的专业素质

  • 6 WNYC币有希望吗

    近年来,虚拟货币市场蓬勃发展,各种新型数字货币层出不穷。其中,WNYC币作为一种新兴的数字货币备受瞩目。那么,WNYC币是否有希望成为下一个热门数字货币呢?这是一个值得思考和探讨的问题。首先,我们需要了解WNYC币的背景和特点。WNYC币是由一家名为WNYC的公司发行的数字货币。与传统的货币相比,WNYC币的最大特点就是去中心化。它不受任何政府或金融机构的控制,具有更高的安全性和匿名性。其次,WN

  • 7 G币如何购买与销售

    G币如何购买与销售随着加密货币的兴起,越来越多的人开始关注和投资数字货币,其中之一就是G币。G币(Gcoin)是一种基于区块链技术的数字货币,具有去中心化、安全可控等特点。在购买和销售G币时,我们可以选择多种途径和交易平台。购买G币要购买G币,我们需要选择一个可信的交易所。以下是一些热门且真实存在的交易所:1. 欧易(Okex):欧易是全球领先的数字资产交易平台之一,支持多种加密货币的交易,包括G

  • 8 WOJ币值多少钱一枚

    WOJ币是一种数字货币,它的价值一枚是多少钱呢?要了解这个问题,我们需要了解WOJ币的背景和特点。WOJ币,全名为World of Jedediah Coin,是由一群加密货币爱好者创立的区块链项目。它的目标是通过分布式账本技术,实现全球数字货币的流通和应用。WOJ币不依赖于任何中央机构,其交易记录被保存在区块链上,实现了去中心化的特点。那么,WOJ币的价值一枚是多少钱呢?由于加密货币市场的波动性

  • 9 WMOVR币有风险吗

    WMOVR币是一个相对较新的数字货币项目,它在虚拟现实和增强现实技术领域有着巨大的潜力。然而,与任何投资品种一样,WMOVR币也带有一定的风险。投资者在考虑投资WMOVR币之前需要认识到这些风险,并做出理性的决策。首先,WMOVR币市场的波动性是投资者面临的首要风险之一。由于数字货币市场的特殊性,价格波动通常较大,这意味着投资者可能会面临较大的资金损失。虽然WMOVR币目前面临着增长的潜力,但市场

  • 10 yhc币值多少钱一枚

    在数字货币市场中,有一种叫做YHC币的虚拟货币正在逐渐崭露头角。YHC币是一种基于区块链技术的加密货币,它使用分布式账本技术,实现了去中心化的交易与数据储存。与其他数字货币相比,YHC币具有许多独特的特点,其价值也在不断变化中。首先,我们来看一下YHC币的价值。目前,YHC币的价格每枚约为1美元。然而,这个价格是非常波动的,随着市场供求关系的改变,YHC币的价格会上下波动。由于其去中心化的特性,Y