零知识证明
ZKP安全定义
在ZKP实现中,ZKP的三个核心特性均成立才能满足ZKP安全:
可靠性
所有无效输入都必须被拒绝
有效输入无法作假,修改或重放
负面例子
约束条件被攻破
证明密钥的生成方式不安全,或密封形式不安全
零知识性
见证信息不应外泄,如在proof中泄露
负面例子
私有变量变成了公有
元数据攻击
完备性
所有有效的证据都应被接受
所有电路和程序都应被正确处理
负面例子
R1CS生成错误
gadget i/o 值不匹配导致gadget组合失败
其他负面例子
在支路或编码中泄露了数据
任意的不安全状态(代码执行,DoS)
初始化仪式被黑
build和release版本完整性有问题
软件的依赖和库有问题
最后更新于