但v2实现的一条“优化”把证明卡做了“全字段排序规范化”,在序列化时将注释字段一起排序拼接,再计算中间哈希用于日志去重。
这条中间哈希本不该影响最终结果,但在一个边界路径上,它被复用为结果哈希的输入前缀。
于是出现了荒唐的现象:
三实现对“关键字段”一致,但只因注释字段排序不同,v2与v3输出结果哈希不同。
按分层规则,这本应是d1,因为它触碰了结果哈希。
可分层器看到的只是“注释字段差异”,把它归入d3。
d1被静音。
样本b更刺骨:
某实现为提高性能,把“显示字段”的缺失当作空串默认补齐,并将补齐后的串加入缓存键。缓存键被复用于某次混合运算的短路判断,导mit-reveal的揭示域校验路径发生分叉。
分叉发生在关键路径,后果可能是“某些缺失字段绕过揭示一致性”。
可差异表面呈现为显示字段缺失。
仍被归入d3。
沈绫听完,声音发紧:“他们把‘不重要’的字段变成了开关的侧门。”
江砚点头:“更准确地说,是我们自己把它变成侧门。敌人只需要轻轻推。”
机要监补了一句更冷的现实:
这种吸入不是故意的恶意代码,也可能是工程优化、复用缓存、日志去重等常见行为。
敌人利用的是“复杂系统里,表层字段总有机会被误用”。
因此静音劫持的危险不在于“有人修改了规则”。
危险在于:规则写在纸上,代码写在现实里。
现实会偷偷把纸上的边界磨掉。
---