独立验证器遍历会使内存随认证族数量增长,并超出一台 30 GB 机器的容量。实际部署的 HistoryStep 把三组 Link 与六组 Block 放入一份联合交互记录和一次有序的非规则 Poseidon2b 遍历。各区域的规范承诺列与端点声明保留每组的语义,而成本最高的置换轨迹由九组区域共同使用。
参考组合及其扩展极限
Poseidon2b 是一种四字状态密码学置换,用于对证明数据进行哈希与认证。递归验证器必须重放多组基于 Poseidon2b 的认证族。每个认证族由一种重复出现的哈希关系及其承诺绑定组成,例如来源树节点、来源叶节点、在某一折叠层共同打开的一对符号,或 Merkle 路径节点。参考组合有意为每个认证族分配独立的槽位调度、独立选择层与层之间传递的四个状态字,并建立独立的深链遍历;后者是一条约束轨迹,会为每个已占用槽位重放全部六十六层 Poseidon2b。这种直接构造为测量完整认证图提供了清晰基线。
在代数层面,每个认证族都容易单独检查;在运行层面,完整图基准却显示内存随认证族数量增长,因为每次独立遍历都会生成另一大组轨迹列。完整的九族形状超出一台 30 GB 内存机器的容量,由此确认独立遍历不是可行的组合拓扑。
“每个认证族一次遍历”是一种有用的参考构造,但其内存成本随认证族数量扩展。实际部署组合共享计算成本高昂的置换遍历。
找出共享对象
每个认证族最终都在问同一个问题:这组宽度为四的状态序列是否遵循 Poseidon2b 置换?各族的区别不在置换,而在输入来源、固定调度以及消费输出的关系。
联合构造使用一个固定周期为 P 的共享槽位域。每个认证族占据周期内互不重叠的区间。四个已承诺的状态传递列 C0..C3 保存从一层传入下一层的四个 Poseidon 状态字。这些列、遍历输入和 Poseidon2b 遍历由所有认证族共享;只有各族的输入列和固定模式不同。
局部化各族等式
合并域会产生一个细微问题。原本定义在某个认证族自身步长上的固定模式会周期重复。若直接复制到共享域,其常数会在其他认证族的槽位内触发。未受选择器控制的状态传递等式也可能越过认证族边界读取数据。
联合原语把每个模式重建为长度 P 的表,只在分配给该族的区间写入其值,其余位置全部写零。因此,某个族的项会在自身区域之外消失。没有固定因子的项会得到显式区域选择器。需要从空状态开始的认证族经过排列,使第一个活动节点永远不会读取前一区域传来的状态。
在 A 槽位,只有 A 项生效;在 B 槽位,只有 B 项生效。右侧与认证族无关,因为两种情况下描述的都是同一置换输入关系。
双认证族对抗性测试
最小端到端实验组合了两个真正不同的深链认证族:来源叶节点链与 Merkle 路径。一次状态传递选择、一次深链遍历和一个合并后的多项式恒等式——即各族局部化等式之和——贯穿外层多项式承诺方案(PCS)与公共输入输出边界。Merkle 方向位保留单独的布尔性 sumcheck,但不再建立第二次置换遍历。
回归测试修改一个输入符号或兄弟节点,同时让轨迹保持可满足。被修改的承诺列随后在打开证明边界失败。这一点很重要:测试不仅说明联合构造能够接受自己组装的见证数据,还证明每个认证族仍然绑定回各自的承诺。
实际部署的联合组合
当前 HistoryStep 把九个递归区域放入一份联合交互记录。Link 提供三组,Block 提供六组。九组区域共同使用:
- 一份有序的非规则槽位调度;
- 一次 66 层 Poseidon2b 遍历;
- 一份批处理挑战值调度;
- 一组进入外层 PCS 批次的规范终端声明。
外层通道在承诺后导出三段 Link 前缀,并为 Block 子通道设定初始状态。子通道处理按顺序排列的九组遍历,再完成六段 Block 后缀。其最终哈希值返回外层通道后,三段 Link 后缀才完成。每个区域保留自身的规范承诺列,但不再实例化独立的置换遍历。
相互独立的内存控制
单次全局遍历消除了主要的乘法因子。其他实验分别把约束矩阵改为压缩稀疏行(CSR)存储、精确调整 BaseFold 多项式承诺验证器使用的两个交替工作缓冲区、限制线性约束检查(lincheck)的临时数据、按字节约束暂存空间,并对重复矩阵系数进行字典编码。
这些改变解决不同问题。CSR 与字典编码缩小静态矩阵表示;有界暂存空间控制临时分配;全局遍历则改变组合拓扑本身。若把三者都笼统称作“内存优化”,就会掩盖原始方案失败的原因。
构造的适用范围
该构造适用于共享 Poseidon2b、且能局部化进同一固定域的异构轨迹族。它不是任意验证器子计算的编译器。其有效范围非常具体:一次昂贵的共享遍历,配合各族在输入和输出边界上的专属代数。
当多项递归检查包含同一个昂贵子计算时,应先批处理该子计算,再优化其实现。即使把每次遍历都做得更快,内存仍会与认证族数量成正比。
为何完整图基准至关重要
单族测试确立局部正确性与每族成本;完整认证图则测量这些局部测试有意省略的乘法拓扑。因此,30 GB 边界是一项组合测量,并非 Poseidon2b 或某个认证族的缺陷。它解释了为何选定设计先共享拓扑,再施加底层内存控制。