零知識證明是近年來密碼學(xué)界最重要的突破之一。短短4年時間里,涌現(xiàn)出一大批證明系統(tǒng)。本文簡要介紹并推薦一些經(jīng)典的零知識證明項目作為入門推薦。
高級語言
本節(jié)項目對證明系統(tǒng)做了封裝,開發(fā)者可以將更多注意力轉(zhuǎn)移到描述證明約束。系統(tǒng)提供了領(lǐng)域特定語言(DSL),支持標(biāo)識符,能讓用戶直觀的表達(dá)約束系統(tǒng)中所使用的哈希、非對稱加密等密碼學(xué)算法。典型項目有
Zokrates: 基于zkSNARK證明系統(tǒng),可以方便適配到已有區(qū)塊鏈平臺,只要這些平臺支持Solidity智能合約即可。該工具提供了Remix插件,容易集成到已有工作流中,強(qiáng)烈推薦。
zkInterface: 相比Zokrates,zkInterface的野心更大,層次更高,希望提供跨Zokrates, libsnark, JSnark等多種證明系統(tǒng)的統(tǒng)一接口
證明系統(tǒng)
經(jīng)典證明系統(tǒng)的具體實現(xiàn),相比上述工具,開發(fā)需要關(guān)注底層細(xì)節(jié)(如電路搭建、證明生成等)
- libsnark: C++
- Bellman: Rust
- Bulletproof: Rust