什么是零知识证明
零知识证明,也叫作ZKP,是zero-knowledge proof的缩写。通俗解释,零知识证明指的是在我不给你提供任何有用信息的情况下,但是我能够让你相信我得论断是正确的。这当中涉及到证明者和验证者,证明者提供信息,验证者来验证,证明者向验证者证明并使其相信自己知道或拥有某一消息,但是却不提供任何有意义的信息。这就是所谓的零知识证明。
其实,零知识证明在生活中很常见。比如,A要向B证明自己拥有某个房间的钥匙,假设该房间只能用钥匙打开锁,而其他任何方法都打不开。
这时有2个方法: 方法一:A把钥匙出示给B,B用这把钥匙打开该房间的锁,从而证明A拥有该房间的正确的钥匙。方法二:B确定该房间内有某一物体,A用自己拥有的钥匙打开该房间的门,然后把物体拿出来出示给B,从而证明自己确实拥有该房间的钥匙。方法二就属于零知识证明。它的好处在于,在整个证明的过程中,B始终不能看到钥匙的样子,从而避免了钥匙的泄露。
零知识证明在区块链中的应用
零知识证明在区块链中的典型应用是在扩容解决方案中 ZK rollup. 我们知道,底层区块链只需计算轻量化的交易证明,验证网络活动并储存原始交易数据。
零知识汇总解决方案是在链下处理交易并在发布到底层区块链之前对其进行批处理,还生成用于验证交易数据真实性的加密有效性证明,称为 SNARK。L1 上的合约可以快速验证 ZK-SNARK 证明,这就类似于我我们刚开始举的例子,我去房间取东西,间接证明我有房间钥匙是一样的道理。一句话汇总,ZK Rollups是分批处理链下交易并生成加密有效性证明以验证每批交易的真实性。许多项目都在开发基于 ZK rollups 的以太坊扩容方案。比如 dYdX 、Loopring 、Polygon Miden 、 Polygon Hermez 等等明
零知识证明的挑战
从数学意义上来讲,零知识证明并非真正的证明,因为证明者说谎而不被验证者识别的概率,虽然可以无限趋近于零,但它永远不会到达零。因此零知识证明并不能保证100 %有效。
硬件方面,市面上目前还没有专门用作零知识证明相关的硬件和软件。零知识证明需要证明者和验证者之间不断交互,因此需要大量的计算能力,这让零知识证明不适合在速度慢或移动的设备上使用。
涉及到参考网页
https://phemex.com/academy/zk-rollup-optimism-rollup-eth
https://zhuanlan.zhihu.com/p/152065162
https://finance.sina.com.cn/blockchain/roll/2022-06-27/doc-imizmscu8969315.shtml
https://foresightnews.pro/article/detail/11297
https://www.secrss.com/articles/23689
https://wiki.mbalib.com/wiki/%E9%9B%B6%E7%9F%A5%E8%AF%86%E8%AF%81%E6%98%8E
https://blog.chain.link/zero-knowledge-projects-zh/
https://www.8btc.com/article/6781754
https://www.ethereum.cn/Layer2/what-the-heck-is-zero-knowledge-zk-proof
https://phemex.com/academy/zk-rollup-optimism-rollup-eth
Comments
Post a Comment