传统轻客户端依赖验证者每个区块都通过 Merkle 树等状态承诺对整个区块链状态进行提交,客户端从而能用短证明验证事实。但维护大规模且不断增长的状态树给验证者带来显著负担,且位于区块生产的关键路径上。因此许多现代高吞吐链选择完全避免这种方案。本文提出一个是否能在不要求验证者维护完整状态承诺的前提下支持高效包含证明的问题,并给出了 Guppy 协议。Guppy 让验证者只提交状态更新,而由一个链下的、不受信任的服务基于递归零知识证明(ZKP)维护一个完整的、可验证的 Merkle 树。该设计保持验证者开销可忽略,且不增加区块构建的渐进复杂度。核心思想包含两点:一是使用哈希链承诺将验证者签名验证移出 ZK 电路,从而保持证明电路高效;二是设计了并行递归证明流水线,利用现代 ZKP 中廉价的递归特性,使延迟只随吞吐量对数增长。基于 Plonky2 的实现显示,Guppy 能维护大小为 2^30 的 Merkle 树,同时每秒处理数千个更新,且仅增加 2-4 秒的延迟。
💡 推荐理由: 该协议可解决轻客户端验证与高吞吐区块链之间的核心矛盾,为在无需验证者维护完整状态树的情况下实现可验证状态提供了新路径,对区块链安全架构和 Layer2 方案有重要意义。
🎯 建议动作: 研究跟进