摘要

一个采用混合域并带有类型标签的 Merkle 证明,把未花费输出路径与槽重用保护路径合并到同一关系中。证明大小从 29.69 KB 降到 23.75 KB,但生成时间从 2.68 秒升至 4.50 秒,验证时间也从 450.82 毫秒升至 612.96 毫秒。测量完成后,该融合构造被移除。

两个 Merkle 关系能否共享一份证明?

State 是由当前未花费交易输出(UTXO)与共识计数器组成的认证集合。UTXO 路径用于认证主 State 树中的一个此类输出。重用保护路径则认证另一棵树;在受测设计中,这棵树阻止刚释放的物理槽位被过早重新分配。两者都是固定深度的二叉 Merkle 路径,也都会在证明前后两个 State 根之间的精确转换时接受检查。一个带域标签的混合域构造把它们融合成一条更大的多线性轨迹。

假设很直接:共享代数与单一证明封装应当减少证明字节,同时不显著改变生成成本。

实测对比

构造证明生成验证
两份域专用证明29.69 KB2.68 秒450.82 毫秒
一份融合标签证明23.75 KB4.50 秒612.96 毫秒

融合使字节数减少 20.0%,但证明生成慢了 67.9%,验证也慢了 36.0%。

更小的证明为何更慢

融合构造产生了一个更大的多线性扩展(MLE),即组合轨迹在布尔域上的多项式表示。Sumcheck 工作量随扩大的域增长,而原来的两份独立证明可以并行执行。字节节省来自共享证明封装;时间退化则来自失去域分离与并行性。

决定

完成测量后,我们移除了融合关系。精确 State 证明继续使用两份针对各自域的 Merkle 证明。

可复用的结论

证明大小并不能可靠代表证明系统成本。在融合关系之前,应当实测扩大后的多线性扩展、sumcheck 次数以及因融合而损失的调度并行性。对于这项工作负载,用 68% 的证明生成时间换取 20% 的序列化证明缩减并不划算。