特别感谢Micah Zoltu,Toni Wahrstätter,Justin Traglia和pcaversaccio的讨论
增加L1燃气限制最常见的批评,除了对网络安全的担忧外,还包括增加全节点运行的难度。
特别是在关注路线图的背景下拆分完整节点,解决这个问题需要了解完整节点的作用。
在历史上,人们认为完整节点用于验证链;请参阅这里对于我自己对普通用户无法验证可能发生的情况的阐述。如果这是唯一的问题,那么ZK-EVMs可以解锁L1扩展:唯一的限制是保持区块构建和证明成本足够低,以至于两者都能保持1-of-n无需审查且竞争激烈的市场。
然而,实际上这并不是唯一的关注点。另一个主要关注点是:拥有一个完整节点是很有价值的,这样你就可以拥有一个本地的RPC服务器,可以以一种不受信任、抗审查和注重隐私的方式读取链。本文将讨论对当前L1扩展路线图的调整,从而实现这一目标。
我上个月发布的隐私路线图侧重于TEE + ORAM作为短期补丁加PIR作为长期解决方案。 这与Helios和ZK-EVM验证一起,将允许任何用户连接到外部RPC,并完全确信(i)他们获得的链是正确的,以及(ii)他们的数据隐私受到保护。因此,值得问的问题是:为什么不就此结束呢?这些先进的加密解决方案难道不会使自托管节点成为过时的遗迹吗?
这里我可以给出一些回复:
基于这些原因,继续确保更轻松地运行个人节点是有价值的。
一旦我们启用无状态验证,就有可能运行一个支持RPC的节点(即一个存储状态的节点),而无需存储状态Merkle分支。这进一步将存储要求减少约2倍。
这是一个新的想法,将成为允许个人节点操作的关键,即使在 L1 气体限制增长10-100倍的情况下。
我们添加了一个节点类型,该节点无状态地验证区块,并验证整个链(通过无状态验证或ZK-EVM),并保持状态的一部分是最新的。只要所需数据在状态的子集内,该节点就能够响应RPC请求;其他请求将失败(或者必须回退到外部托管的加密解决方案;是否这样做应该由用户决定)。
partial_statelessness.drawio776×341 19.9 KB
要持有的状态确切部分将取决于用户选择的配置。一些例子可能是:
配置可以由链上合约管理:用户将运行其节点并使用—save_state_by_config 0x12345…67890,地址将以某种语言指定地址列表、存储槽或其它过滤状态区域,节点将保存并保持最新。请注意,用户无需保存默克尔分支;他们只需要保存原始值。
这种类型的节点将为用户提供直接本地访问所需关心的状态的好处,以及对该状态的最大全面隐私访问。
Mời người khác bỏ phiếu
特别感谢Micah Zoltu,Toni Wahrstätter,Justin Traglia和pcaversaccio的讨论
增加L1燃气限制最常见的批评,除了对网络安全的担忧外,还包括增加全节点运行的难度。
特别是在关注路线图的背景下拆分完整节点,解决这个问题需要了解完整节点的作用。
在历史上,人们认为完整节点用于验证链;请参阅这里对于我自己对普通用户无法验证可能发生的情况的阐述。如果这是唯一的问题,那么ZK-EVMs可以解锁L1扩展:唯一的限制是保持区块构建和证明成本足够低,以至于两者都能保持1-of-n无需审查且竞争激烈的市场。
然而,实际上这并不是唯一的关注点。另一个主要关注点是:拥有一个完整节点是很有价值的,这样你就可以拥有一个本地的RPC服务器,可以以一种不受信任、抗审查和注重隐私的方式读取链。本文将讨论对当前L1扩展路线图的调整,从而实现这一目标。
我上个月发布的隐私路线图侧重于TEE + ORAM作为短期补丁加PIR作为长期解决方案。 这与Helios和ZK-EVM验证一起,将允许任何用户连接到外部RPC,并完全确信(i)他们获得的链是正确的,以及(ii)他们的数据隐私受到保护。因此,值得问的问题是:为什么不就此结束呢?这些先进的加密解决方案难道不会使自托管节点成为过时的遗迹吗?
这里我可以给出一些回复:
基于这些原因,继续确保更轻松地运行个人节点是有价值的。
一旦我们启用无状态验证,就有可能运行一个支持RPC的节点(即一个存储状态的节点),而无需存储状态Merkle分支。这进一步将存储要求减少约2倍。
这是一个新的想法,将成为允许个人节点操作的关键,即使在 L1 气体限制增长10-100倍的情况下。
我们添加了一个节点类型,该节点无状态地验证区块,并验证整个链(通过无状态验证或ZK-EVM),并保持状态的一部分是最新的。只要所需数据在状态的子集内,该节点就能够响应RPC请求;其他请求将失败(或者必须回退到外部托管的加密解决方案;是否这样做应该由用户决定)。
partial_statelessness.drawio776×341 19.9 KB
要持有的状态确切部分将取决于用户选择的配置。一些例子可能是:
配置可以由链上合约管理:用户将运行其节点并使用—save_state_by_config 0x12345…67890,地址将以某种语言指定地址列表、存储槽或其它过滤状态区域,节点将保存并保持最新。请注意,用户无需保存默克尔分支;他们只需要保存原始值。
这种类型的节点将为用户提供直接本地访问所需关心的状态的好处,以及对该状态的最大全面隐私访问。