文章讨论了在提高以太坊L1 gas limit的同时,如何保证普通用户能够运行全节点,从而实现信任、抗审查和保护隐私地读取链上数据。文章提出了短期、中期和长期解决方案,包括:优先推出EIP-4444以减少磁盘空间需求、构建分布式历史存储解决方案、调整gas价格使存储更昂贵执行更便宜以及引入新型的部分无状态节点,用户可以根据自己的需求配置节点存储的状态部分,从而实现本地访问和隐私保护。
特别感谢 Micah Zoltu, Toni Wahrstätter, Justin Traglia 和 pcaversaccio 的讨论
在对提高 L1 gas limit 的最常见批评中,除了对网络安全的担忧之外,还有一点是它使运行一个全节点变得更加困难。
尤其是在专注于解绑全节点的路线图中,解决这个问题需要理解全节点的作用。
历史上,人们认为全节点用于验证链;请参阅此处了解我关于如果普通用户无法验证会发生什么情况的阐述。如果这是唯一的问题,那么 ZK-EVM 就可以解锁 L1 扩容:唯一的限制是保持区块构建和证明成本足够低,以至于两者都可以保持 1-of-n 的抗审查性和竞争性市场。
然而,实际上这并不是唯一的考虑因素。另一个主要担忧是:拥有一个全节点很有价值,这样你就可以拥有一个本地 RPC 服务器,你可以用它以无需信任、抗审查和保护隐私的方式读取链。本文档将讨论对当前 L1 扩容路线图的调整,以实现这一点。
我上个月发布的隐私路线图侧重于 TEEs + ORAM 作为短期补丁,以及 PIR 作为长期解决方案。这与 Helios 和 ZK-EVM 验证一起,将允许任何用户连接到外部 RPC,并完全确信 (i) 他们获得的链是正确的,并且 (ii) 他们的数据隐私受到保护。因此,值得问一个问题:为什么不在这里停下来呢?这些高级加密解决方案难道不会使自托管节点成为过时的遗物吗?
在这里,我可以给出一些答复:
由于这些原因,继续确保更容易运行个人节点是有价值的。
一旦我们启用无状态验证,就可以运行一个具有 RPC 功能的节点(即存储状态的节点),而无需存储状态 Merkle 分支。这进一步减少了约 2 倍的存储需求。
这是一个新想法,对于即使在 L1 gas limit 增长 10-100 倍的情况下也允许个人节点运行至关重要。
我们添加了一种节点类型,它可以无状态地验证区块,并验证整个链(通过无状态验证或 ZK-EVM),并保持部分状态是最新的。该节点能够响应 RPC 请求,只要所需数据位于状态的该子集中即可;其他请求将失败(或者必须回退到外部托管的加密解决方案;是否这样做应该是用户的选择)。
\
partial_statelessness.drawio776×341 19.9 KB
要保存的状态的确切部分将取决于用户选择的配置。一些例子可能是:
该配置可以由链上合约管理:用户可以使用 --save_state_by_config 0x12345...67890
运行其节点,并且该地址将以某种语言指定节点将保存并保持最新的地址、存储槽或以其他方式过滤的状态区域的列表。请注意,用户无需保存 Merkle 分支;他们只需要保存原始值。
这种类型的节点将提供用户需要关心的状态的直接本地访问的好处,以及对该状态的访问的最大程度的完全隐私。
- 原文链接: ethresear.ch/t/a-local-n...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!