零知识证明介绍
零知识证明
·初始化算法:证明公钥+验证公钥-要证明的问题 ·证明算法:证明-证明公钥+证明公开数据+证明私有数据 ·验证算法:验证通过/不通过-验证公钥+证明公开数据+证明
零知识证明的性能指标
·证明时间 ·验证时间:决定了链上执行的 gas 消耗 ·证明大小:决定了交易大小和链上消耗 ·安全假设 ·Zk-Snark:开发工具相对成熟,核心算法代码相对成熟,以太坊/Conflux 主网有内置合约支持,证明长度小。需要 trusted setup,非量子安全。
开发者需要做哪些部分
![develop_zkp](https://blog-1259556217.cos.ap-chengdu.myqcloud.com/image/develop_zkp.png)
扩展材料
零知识证明系统 https://zkp.science/
上层构建工具
- ZokRates https://zokrates.github.io/
- Zinc https://github.com/matter-labs/zinc
- Cairo(通用 cpu 电路) https://www.cairo-lang.org/
底层库
- Libsnark:https://github.com/scipr-lab/libsnark
研究问题 ·学术研究: ·如何设计更好的零知识证明系统? ·如何实现零知识证明运算的安全外包?
工程研究: ·如何解决 zkRollup 中心化的问题?
零知识证明最大的局限性在于:
它要把所有的隐私拿在一方手中,让该方生成证明。 对于数据挖掘的场景下,隐私是分散在各方的,那就不能直接运用零知识证明了。
zkp 开发工具
![develop_tools](https://blog-1259556217.cos.ap-chengdu.myqcloud.com/image/develop_tools.png)