
先把研究结论拆成可核验的问题
“采用VRF”本身不足以证明整个随机流程公平。核验时,应区分输出是否能够验证、安全性质在什么假设下成立,以及应用是否允许参与者改变结果。不同层次需要不同证据,不能用算法定义替代合约行为的检查。
来源一:用RFC核对性质与前提
RFC 9381将VRF描述为可公开验证的带密钥哈希:相同私钥和输入对应确定输出,验证者利用公钥、输入和证明核验结果。其安全性质包括唯一性、抗碰撞性和伪随机性,且存在不同强度与密钥生成条件。该文件属于信息类RFC,并非互联网标准轨道规范。
核验研究中的“不可预测”或“唯一”时,应要求结论对应明确的性质定义。例如,依赖正确生成密钥的性质,不能直接支持对抗恶意选钥的论断。伪随机性也有观察条件:知道私钥或相应有效证明的一方,并不处于同样的安全假设之下。
来源二:用应用文档检查集成边界
Chainlink VRF v2.5安全文档指出,请求与回填顺序可能不同,应按requestId对应;链重组可能使请求产生新的随机结果;取消或重新请求可能带来丢弃不利结果的风险。文档还要求约束请求后的相关用户输入,并指出回调失败不会触发服务再次调用。
这些内容适用于该版本服务的集成审查。核验某个应用时,可以据此追问:结果绑定的是哪个请求,相关输入何时固定,失败后如何处理?具体答案仍需由对应版本的代码、配置和测试记录支持,不能仅凭服务文档推定应用已满足要求。
把主张、证据和对象对应起来
一份可复核的记录应写清研究主张、引用位置、适用假设与被检查对象。声称实现符合某种构造,需要说明算法版本及参数;声称应用不会选择性丢弃结果,需要检查相关状态转换和权限。测试记录应包含输入条件、预期行为与实际结果,让其他人能够重复检查。
两个来源承担不同作用:RFC解释密码学基础,产品安全文档说明特定集成风险。它们相互补充,但并非对同一项目结论的两次独立验证。
常见问题:验签通过是否等于流程公平
有效证明支持对应公钥和输入下的输出正确性,不能单独证明输入选择、请求时序或结果使用方式公平。同样,单次测试成功只能说明该次条件下的行为,无法覆盖重排、重组和回调失败等边界情形。核验结论应限定在证据实际覆盖的范围内。