midnight-security
Midnight Security 是一个面向 Midnight Network 的隐私安全审计技能,提供隐私审计清单、数据泄露模式识别以及防御性 Compact 合约编写范式。Midnight 采用「公共链上的可选隐私」模型:ZK 证明只证明执行正确性,并不隐藏交易的存在、结构或导出账本中的内容。该技能帮助开发者精确判断哪些数据会泄露,并让合约中的泄露成为有意设计。内容涵盖基本可见性规则(导出账本公开、witness 私有、证明公开)、隐私审计清单(账本字段、电路参数、承诺与哈希、域分隔符、witness 信任、重放与复用、交易结构泄露)、即使使用 witness 仍会泄露的信息、六种常见数据泄露模式(敏感值作为电路参数、需要匿名时误用 Set、小值域无 nonce 哈希、nonce 复用导致承诺关联、缺少域分隔符导致密钥跨用途复用、未验证 witness 输出),以及完整防御实现(基于哈希的 ZK 签名认证、承诺/无效化器单次匿名代币、匿名白名单 Merkle 成员证明)。此外还讲解交易语义的安全影响(well-formedness、guaranteed、fallible 三阶段及费用行为)、ZK 证明能保证与不能保证的内容、Merkle 树深度选择建议,以及安全速查表。