在之前《隐私/匿名币》中说过Zcash 首次运用 zk-SNARKs 零知识证明技术验证交易有效性,原来的计划是先把基于以太坊的侧链开发完成,再做ZKP(Zero-Knowledge Proofs)的技术跟进,以解决匿名交易以及增强TPS扩容方案(交易指纹上链,交易数据链下存储)。

今天先做一些技术调研和储备,方便后续技术评估时的一些技术方向的把控

技术相关

什么是 zk-SNARK?
零知识证明:STARKs 与 SNARKs
zk-SNARKs 介绍(零知识证明概述以及如何将 zk-SNARK 集成到以太坊中)
https://zokrates.github.io/
https://docs.ethhub.io/ethereum-roadmap/privacy/
https://starkware.co/
https://docs.ethhub.io/built-on-ethereum/infrastructure/aztec-protocol/
https://scrt.network/blog/introducing-secret-network
https://ethresear.ch/t/zether-the-first-privacy-mechanism-designed-for-ethereum/5029
https://ethereum.stackexchange.com/questions/49781/can-zksnarks-be-implemented-on-the-ethereum-ecosystem
https://github.com/starkware-libs/
https://hackmd.io/@zkteam/gnark
https://docs.gnark.consensys.net/en/latest/

开源代码

https://github.com/zkcrypto/bellman/
https://github.com/matter-labs/bellman
https://github.com/zcash/librustzcash (Groth16)
https://github.com/zcash/mpc
https://github.com/scipr-lab/libsnark
https://github.com/Zokrates/ZoKrates
https://github.com/AztecProtocol
https://github.com/arnaucube/go-snark-study
https://github.com/vocdoni/go-snark
https://github.com/ConsenSys/gnark (Groth16, PlonK)
https://github.com/ConsenSys/gnark-crypto
https://github.com/nikkolasg/playsnark (Groth16, PHGR13)
https://github.com/ConsenSys/quorum