什么是零知识证明(Zero-Knowledge Proof)?
2023-04-23分类:区块链技术 阅读()
在密码学中,零知识证明(zero-knowledge proof)是一种证明方法,指一方(证明者)向另一方(验证者)证明一个陈述是真实的,且除了该陈述是真实的之外,不透露任何信息。
日常生活中的证明并不是零知识的。例如,当购买者必须证明自己超过 21 岁才能购买酒精时,他们会出示带有出生日期的身份证明。但这种证明方法存在缺陷,因为在证明满足年龄要求的同时,这种方法同时会披露其他不相关但敏感的信息,例如姓名和地址。
相比较而言,零知识证明更优越,因为它不需要证明者透露关于陈述本身或他/她是如何发现真相的细节。假设 Alice 是色盲,分不清蓝球和红球。Alice 认为两个球是一样的,但 Bob 想用零知识的方式向Alice 证明这两个球是不同的。Bob 可以依赖以下机制。
Bob 让 Alice 双手各拿一个球并将双手放在背后,左手是蓝色,右手是红色。Alice 可以决定是否将左右手上的球交换。之后,Alice 再次向 Bob 展示两个球,Bob 则告诉 Alice 她有没有将球互换。
Alice:我把球换了吗?(左手由蓝色变为红色)
Bob:是的。
Alice:我把球换了吗?(左手依然是红色)
Bob:不,上次没有。
Alice 和 Bob 不断重复这个过程,直到 Alice 确信这两个球确实是不同的,否则 Bob 将无法始终准确地判断 Alice 在背后做了什么。注意,在这个过程中,Bob 不需要告诉 Alice 哪个球是蓝色的,也不需要阐述他是如何知道的。
上面的零知识证明例子是交互式的。虽然它很容易理解,但作为一个实际的解决方案来讲不太现实,因为它需要双方在建立证明之前多次相互通信。
研究人员发明了非交互式的零知识证明来解决这些问题。非交互式证明只需要证明者和验证者进行一轮通信。证明者将信息输入到一个特殊的算法来计算零知识证明。然后验证者可以检查证明以确保秘密信息的有效性。非交互式证明的另一个好处是,一旦证明生成,任何人都可以验证它。
在区块链领域,零知识证明主要应用于 rollup 场景里。它使得底层区块链能够将计算外包,同时保证计算结果的可验证性。链下的计算机执行交易,然后提交结果以及正确执行交易的证明。这减少了链上网络拥塞并提高了交易速度。
零知识证明允许底层区块链在不重新执行的情况下验证链下交易。虽然零知识证明在技术上是优越的,但围绕该主题的研究仍处于早期阶段。在零知识证明技术被实际采用之前,至少还需要几年的时间。
Tags: 零知识证明
标签云
-
Binance OKx 虚拟货币交易所 USDT 模因币 BRC20 TRC20 Staking 虚拟货币 ARB Sol gamefi 小狐狸钱包 DAO web3.0 流动性挖矿 什么是DeFi ICO 什么是NFT 什么是稳定币 SHIB 虚拟货币钱包 加密货币交易所 加密货币 什么是加密货币 GST 资金费率 MAX 区块链技术 区块链投资 区块链是什么 Coinw BingX Gate.io Bitfinex MEXC BITGET BitMEX Kucoin pionex Bybit BitMart KYC 网格交易 LTC Litecoin PI 什么是狗狗币 LUNA USDC