零知识证明是近年来密码学界最重要的突破之一。短短4年时间里,涌现出一大批证明系统。本文简要介绍并推荐一些经典的零知识证明项目作为入门推荐。
高级语言
本节项目对证明系统做了封装,开发者可以将更多注意力转移到描述证明约束。系统提供了领域特定语言(DSL),支持标识符,能让用户直观的表达约束系统中所使用的哈希、非对称加密等密码学算法。典型项目有
-
Zokrates: 基于zkSNARK证明系统,可以方便适配到已有区块链平台,只要这些平台支持Solidity智能合约即可。该工具提供了Remix插件,容易集成到已有工作流中,强烈推荐。
-
zkInterface: 相比Zokrates,zkInterface的野心更大,层次更高,希望提供跨Zokrates, libsnark, JSnark等多种证明系统的统一接口
证明系统
经典证明系统的具体实现,相比上述工具,开发需要关注底层细节(如电路搭建、证明生成等)
- libsnark: C++
- Bellman: Rust
- Bulletproof: Rust
网友评论