零知识证明(Zero-Knowledge Proof)
零知识证明(Zero Knowledge Proof)指的是,证明的人可以向验证的人,在不透露任何有用信息的情况下,使得验证者相信该结论是对的。
三种零知识证明技术:zk-SNARKs, Zk-STARKs和 BulletProofs
1、Bulletproofs 和 Zk-STARKs 不需要可信设置,zk-SNARKs则需要可信设置;
zk-STARKs:通过证明者与验证者之间的交互来执行,以一种有效的数学方法,使得验证者通过验证每一个步骤,最终确信证明者确实知道某个信息或者拥有某种权益。其特点是:证明快、验证快,但证明体积大。
SNARK指无需双方交互,证明人单方出具即可,不需要反复在双方之间传递信息。其特点是:证明慢、验证快,证明体积小。
2、证明速度对比:zk-STARKs > zk-SNARKs > Bulletproofs
3、文件大小:zk-SNARKs < Bulletproofs <Zk-STARKs
3种技术的对比图,可以明晰3个技术的区别: