扩展、隐私与前沿
zk-SNARK
zk-SNARK 是零知识证明中一种特别且极为实用的形式,其名称是几项定义性特征的缩写:零知识(Zero-Knowledge,除断言为真外不透露任何信息)、简洁(Succinct,证明非常小且核验极快)、非交互(Non-interactive,证明者只发送一份证明,无需来回往返)、知识论证(ARgument of Knowledge,令人信服地表明证明者确实掌握那项秘密信息)。这些性质合在一起,使它非常适合区块链。
它的超能力在于简洁。一项计算可能涉及数百万步,而由此生成的 zk-SNARK 证明却可能只有几百字节,并能在毫秒内完成验证。正是这一点,让区块链无需重做任何工作,就能确认一大批链下计算被正确执行——这正是大多数 zk-Rollup 内部的引擎。非交互这一点同样重要:证明者发布一份自洽的证明,任何人、任何时候都可核验,无需进行一场实时对话。
可以把它想象成密封报告上一枚防伪印章:小巧、一眼可辨、无法伪造,却能证明海量的隐藏工作完全按规格完成。一个经典的注意事项是:许多 zk-SNARK 系统需要一次性的可信初始化来生成其公共参数,而那批秘密材料事后必须被销毁;较新的方案如 zk-STARK 则免去了这一要求,代价是证明体积稍大一些。
一种相关方案 zk-STARK 取消了可信初始化的要求,也更能抵御未来的量子计算机,但通常会产生更大的证明。
又称
另见