仅供教育参考,不构成投资建议;投资可能产生损失。
直接答案
Verkle 树是一种内部节点使用向量承诺的认证键值树,名称由“向量承诺”和“Merkle 树”组合而来。它把许多值承诺到一个根,但与普通的哈希 Merkle 树不同,可以证明承诺位置上的子节点而无须列出所有兄弟值。
这一性质支持高分支树和多打开证明聚合,使状态见证比等价的 Merkle-Patricia Trie 见证更小。见证仍须包含执行所需的值及其关联到已认证状态根的密码学证据。
紧凑见证可让节点用随区块提供的见证重新执行区块,而无须在本地保存全部当前状态。“无状态”不表示无人保存状态或不再需要共识;数据必须可用,验证者也必须取得规范且足够最终的根。截至 2026-08-22,以太坊路线图仍称 Verkle 测试网在运行且客户端工作尚未完成,EIP-6800 的状态为 Stagnant。
工作原理
协议先确定键值编码、向量承诺方案和空节点规则。每个内部节点对有序的子节点向量作出承诺,逐层向上形成约束状态位置与内容的根承诺。
证明者在每层打开相关位置;对多个键,多重证明可以聚合打开证明并复用共享路径。验证者取得键、值、路径承诺和证明,先对可信根验证,再执行或核验状态转换。
EIP-6800 的以太坊设计使用 32-byte 键:31-byte stem 加 1-byte suffix,内部节点宽度为 256。stem 相同的值可共享更多证明材料。这是该提案的布局,不是所有 Verkle 树的定义。更宽的树路径更短,但承诺、更新和验证需要专门的椭圆曲线运算及预计算。
示例
假设一个 31-byte stem 包含 256 个可能的 suffix 位置。若区块读取同一 stem 下的 2 个值,见证可复用共享路径并聚合打开证明,而不用携带 2 套独立的 Merkle 兄弟哈希;验证者仍须检查两个键、两个值、证明和协议选定的根。
值改变后,其 suffix 组承诺和直到根的所有受影响祖先都要更新。旧根证明即使对旧状态仍有效,也不能证明新根下的值。节省程度取决于访问模式;紧凑证明不等于零带宽、零证明成本或数据可用性保证。
风险
实现错误可能破坏绑定性或拒绝诚实证明。键派生、字节序、位置绑定、域分离、曲线点验证、标量转换,以及空位置与已存储零的区别都必须一致,并用测试向量和跨客户端测试核验。
小证明不能解决数据可用性和活性。提议者扣留值或见证时,无状态验证者无法执行区块;错误的根认证或最终性逻辑也会接受错误历史。证明生成本身还可能成为资源瓶颈或审查点。
迁移运行中的链会改变状态布局、同步、证明格式、数据库、Gas 计量和历史状态证明假设。提案、开发网或基准并不等于生产就绪。相关椭圆曲线承诺也通常不被视为后量子安全;紧凑性不代表所有威胁模型下都更安全。
常见误区
误区 1: Verkle 树只是子节点更多的 Merkle 树
高分支会缩短路径,但关键差异是向量承诺能打开选定子节点而不列出全部兄弟值。
误区 2: 任何工作负载的 Verkle 证明总大小都是常数
打开证明可以精简和聚合,但状态见证仍随访问值、不同路径和协议元数据增长。
误区 3: 无状态验证意味着没有参与者保存状态
它只表示验证者可用见证代替完整本地状态;仍须有人保存或重建并交付数据。
误区 4: 以太坊主网已经使用 Verkle 树保存执行状态
引用资料描述研究、规范和测试网;截至核查日,路线图仍列有大量客户端工作,EIP-6800 仍是 Stagnant。
相关主题
来源
- Verkle Trees - MIT PRIMES (访问日期: 2026-08-22)
- EIP-6800: Ethereum state using a unified verkle tree - Ethereum Improvement Proposals (访问日期: 2026-08-22)
- Verkle tree structure - Ethereum Foundation (访问日期: 2026-08-22)
- Verkle trees - Ethereum.org (访问日期: 2026-08-22)