你可能曾经听说过 ZK 证明或零知识证明。但为什么它会突然变成一个热词?它是什么?什么是 ZK-rollups? 什么是 ZK-SNARKS? 以上问题都会在本文中得到解答,抓紧了快上车!
什么是零知识证明 (Zero Knowledge Proof)?
零知识证明可以让一方 (证明方) 在不透露任何实际信息的情况下向另一方 (验证方) 证明某保密信息或声明是真的。
术语 “零知识“ 本身就表明了不需要揭露任何信息,证明方就可以向验证方证实 ta 所知道的保密信息以及 ta 的声明都是真的。
那为什么需要零知识证明呢?当我们不想披露任何信息,但需要说服其他人相信我们知道的保密信息和提出的声明是真的时候。
目前有两种零知识证明:
1.交互式的 (Interactive)
2.非交互式的 (Non Interactive)
举例说明交互式的零知识证明
假设你需要通过 ZKP (零知识证明) 证明你的年龄大于或等于18岁,但不揭露具体年龄。我们需要第三方机构为你的年龄担保,具体如下:
第三方说:”已接收您出生证明的复印件,我们已经得知您的年龄为 21 岁。现在为您提供一串数字密码,请将它保存到保密与安全的地方。稍后您会用到它。“
”你持有的那串数字密码将会被哈希算法处理 22 次,然后得出一个最终年龄哈希代码给你 (没错,处理次数必须为年龄 +1,才能使得整个操作行得通)。也就是说,你拿到那串数字密码之后,会有 22 次哈希处理过程才能获得最终的年龄哈希代码。“
《周六夜现场》在OpenSea拍卖NFT作品“到底什么是NFT”:NBC的《周六夜现场》(Saturday Night Live:SNL)团队正在OpenSea上拍卖NFT作品“到底什么是NFT?”(What the hell's an NFT?)。SNL拍摄的同名短视频颇受欢迎,它使用2000年代初的流行文化为SNL观众揭开了NFT的神秘面纱,三分半的搞笑说唱改编了来自姆爷(Eminem)的《Without Me》,SNL演员还Cosplay了黑客帝国的Morpheus,向观众解释了NFT的简单概念。截至目前,该NFT目前的出价为6.9 ETH,拍卖于4月5日结束。中标者不仅将获得NFT,还将收到在第47季录制《周六夜现场》的两张门票。(decrypt)[2021/4/4 19:44:02]
“我们将您的姓名、时间戳与最终年龄哈希代码一起打包。这个证明包将提供给他人验证。“
好了,那么当你想要向其他人证明你的年龄超过 18 岁时,你只需要证明从你拿到数字密码到最终年龄哈希代码之间的哈希算法处理次数大于 18 就可以了。
那么怎么证明呢?你只需要向他人展示最后的 18 次哈希算法处理记录。你需要自己进行前 4 次哈希算法处理 (对数字密码进行哈希算法处理 4 次),然后将结果提供给其他人:第四次哈希值。
他们会对第四次哈希值再处理18次 (现在对你的数字密码总共进行了 22 次哈希算法处理),最终他们能够得出最终年龄哈希代码并且使用证明包对它进行验证。
声音 | Tetras Capital联合创始人:去年以700美元卖空ETH 不相信BTC已经到底:据Newsbtc报道,总部位于纽约市的加密货币对冲基金Tetras Capital的创始合伙人Alex Sunnarborg近日接受福布斯采访时透露了其公司的投资策略。他表示,其公司在去年5月以700美元的价格卖空以太坊,完成了去年利润最高的一笔交易。当被问及比特币是否已经触底这个关键问题时,Sunnarborg回答说,我不这么认为,我觉得现在说这种话还为时过早,但这也是我非常感谢我们现在所处的位置的原因。我们可以对冲风险,保持中立,而不必预测准确的价格或时间底部。我现在对比特币还没有足够的信息。[2019/2/21]
实际上,验证者是在说:"发送我们一个值,我们会对其进行 18 次哈希算法处理,然后这个哈希值将与你提供的年龄哈希代码进行对比。" 如果你低于18岁,最终年龄哈希代码的哈希算法处理次数就没有18次,我们对你提供的那个初始哈希值进行 18 次哈希算法处理后,就会与最终年龄哈希代码不一样。
这里是另一个绝佳例子 ?
《一个很棒的零知识证明例子》 - MathOverflow
https://mathoverflow.net/questions/22624/example-of-a-good-zero-knowledge-proof
?但是这种交互式方法有一些局限:
1.每次验证都需要进行整个冗长的过程。而上述例子只是简单的哈希算法处理,想象一下如果需要对实际加密算法进行计算会如何。
声音 | 币印朱砝:比特币可能已经到底了:币印矿池联合创始人朱砝今日发朋友圈称:大胆预测,可能已经是底了。[2018/12/9]
2.证明方与验证方都需要同时在场,不管是在线还是面对面。
接下来是非交互式的零知识证明
1986 年,Fiat 与 Shamir 发明了 Fiat-Shamir heuristic (启发式) 算法,这是第一个基于交互式零知识证明来构建数字签名的算法。
Fiat-Shamir heuristic 算法通过使用承诺方案 (Commitment Scheme) 可变为非交互式零知识证明。这就是所谓的 ZK-SNARKs,也可以称为简洁的非交互式零知识证明 (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge)。
要使 Fiat-Shamir Heuristic 算法更加强大,需要使用承诺 (commitment)。承诺方案在许多加密协议中都是基本组成部分。承诺方案允许承诺者发布一个值 (即承诺),然后将它们绑定到某消息上而不披露它们 (隐藏)。
Pederson 承诺与 Polynomial 承诺是 ZK 证明使用的两个最著名承诺方案。
但大约到 2013 年,ZK-SNARKs 才实际可行和实现,并真正用于应用中。
我推荐你们阅读 Vitalik Buterin 写的 ?一篇解释 zk-SNARKs 如何可行的概论,这篇文章写得很棒,解释了 ZK-SNARKs 是如何实现的。只阅读一遍可能还不能理解整篇文章。多阅读 3、4 次,一旦你了解了 ZK-SNARKs 的原理,你会激动到全身起鸡皮疙瘩。
声音 | 赵长鹏在推特发文:引发下一波牛市的到底是什么:赵长鹏发布推文问到:到底什么才是引发下一波牛市的关键事件呢?他同时表示自己并不知道答案,只是会经常在推特上跟大家讨论。孙宇晨则转发推文表示,下一波引爆牛市浪潮的将会是 DApp的爆发。[2018/12/8]
? 跟 AI 与 Web3 一样,我们似乎无法避免后量子世界到来,因此我们需要确保为 ZK-SNARKs 选择使用的加密函数不能被量子计算机暴力破解。这就是为什么我们还需要改进,以保证后量子安全性。
如果想要了解更多信息,可以观看由 ACM 发布的谈话?
提高非交互式零知识证明在后量子签名中的应用
https://www.youtube.com/watch?v=V0FfpVQzajk
现在终于明白 ZK 证明是什么了,但是它们应用到什么地方呢 ??
在概念上它们有两个主要用例:
扩容区块链交易
个人数据隐私保护,例如在医疗卫生领域
区块链扩容 - ZK Rollups
Rollup 是一种扩容解决方案,在 L1 外执行交易,但在 L1 上发布交易数据。这种工作办法可以让 rollup 对网络进行扩容,但依然受到以太坊共识的安全保护。
将计算转移到链下进行,实际上可以处理更多交易。因为只需要将 rollup 交易的一些数据放进以太坊区块中。
声音 | John McAfee:不能肯定市场已到底部:John McAfee发推文称,现在已经上涨第二天了。不能肯定这是底部,但如果你要买东西,你就无法选择最美好的一天。[2018/11/30]
要做到这一点,rollup 交易在另一条链上执行,而这条链甚至可以运行一个 rollup 特定版本的 EVM。
执行完 rollup 上的交易后,下一步是将这些交易打包成一个 batch,然后发布到以太坊主链上。
整个过程基本是执行交易、提取数据、压缩,将其 rollup 到一个个 batch 中然后发到主链上,因而得名 —— ”rollup“。
以太坊怎样得知这些数据是有效的、而不是由恶意份子出于牟利目的而提交的呢??
每个 rollup 都会在 L1 部署一组智能合约,来负责处理存款、取款交易以及验证证明。
证明也是主要区分不同类型 rollups 的因素。
Optimistic rollups 使用欺诈证明。与之相对, ZK rollups 采用有效性证明。
在 ZK rollups 中,发布到 L1 的每个 batch 包含一个叫做 ZK-SNARK 的加密证明。当提交交易 batch 至 L1 之后,L1 上的合约可以快速验证 ZK-SNARK 证明,无效的 batch 会被直接拒绝。
关于 ZK 与 Optimistic rollups 还有很多其他内容,比如它们的实现方法和限制。在这里我只是简短地介绍了一下它们的概念。
许多项目都在开发基于 ZK rollups 的以太坊扩容方案。一些比较知名的项目有 dYdX 、Loopring 、Polygon Miden 、 Polygon Hermez 等等。
隐私 —— 日常生活应用
假设有两个公司 A 和 B 想要使用区块链作为运行与通信的媒介。
A 向 B 转移资产。并且他们想让这笔交易只有他们双方知道。没错,区块链会带来透明度、互操作性、数据安全性、完整性还有其他优点,但是公司怎么会想让内部运行信息在公众面前显示呢?零知识证明就是最佳选择。
比如你想隐私地给你的海外朋友转账,你会怎么做呢?选择零知识证明。
ZK 证明还可以在医疗健康、保险、电子投票、身份管理等领域产生深远影响。
在医疗健康方面,ZK 证明可以保证 DNA 数据、个人信息、医疗报告、基本病史信息、药物溯源、临床试验、医疗健康供应链、器官移植的隐私安全。
在保险方面,ZK 证明可以保证保险单和保险凭证数字信息、个人信息、车辆信息、理赔信息的隐私安全。
使用区块链与 ZKP 的身份管理具有深刻意义。每个关联 KYC (了解你的客户) 的应用、学校、大学、支付软件都要询问我们的 ID 图像,例如驾照、护照、投票 ID 、国家 ID。我们敏感的个人数据就这样给他们了,我们甚至都没有意识到这一点。通过 ZKP,我们可以保证以上所有 ID 信息的隐私安全,只需透露必要信息给供应商、应用与官方即可。实际上,使用 ZKP 我们可以完全改进这些 ID 的发行方式。
我们可以使用 ZK 证明对这些信息进行加密处理。当需要给到一些信息时,用户授权并提供所需信息,而其他详细资料可以保持隐藏。
这些都是在 2013 年后,ZK-SNARKs 在实际应用上足够有效率才开始被开发者使用。这也是为什么未来出现的 ZKP 应用会有很多发展空间。
2016 年上线的 Zcash 是一个成功应用 ZK-SNARKs 的重要产品,为用户提供隐私交易功能。
最普遍的几种 zkp 系统的对比
来源:Matter Labs 的 github 代码库
zk-STARK (zero-knowledge scalable transparent argument of knowledge) 代表零知识的可扩展、透明知识证明,zk-SNARK (zero-knowledge succinct non-interactive argument of knowledge) 代表零知识的简洁、非交互式知识证明。
这两种零知识技术都是非交互式的,这意味着代码可被部署且自动作用。
Zk-SNARKs 底层依靠椭圆曲线保证安全性。在密码学中,椭圆曲线在这样一个基本假设下运行:根据一个公开已知的基本点来找到一个随机椭圆曲线元素的离散对数是不可行的。也就是说,Zk-SNARKs 也需要信任设置。
信任设置是指密钥的初始创建事件,它会被用于生成隐私交易的证明以及验证那些证明。
如果用于创建信任设置的密钥的保密信息没有被销毁,那么这些保密信息可能会被利用通过虚假验证来伪造交易。
SNARKs 的另一个限制是,在前文中我们已经知道了:它们在后量子世界中的可行性。
?另一方面,在一个网络中开始使用 STARKs 的话,不需要信任设置。这些都可认为是抗量子的。虽然 STARK 的证明大小要比 SNARK 大得多。
但是 STARKs 现仍处于初期阶段,开发者们得不到太多支持,所以基于 ZK-STARK 的产品还需要一些时间才能成熟。
本文到这里就结束了。这只是一篇简短的关于 ZK 证明在 Web3 世界是怎样运作的介绍。
来源 | ravjot.hashnode.dev
作者 | Ravjot Singh
停止畅想、落到实处,元宇宙在国内最快落地、最具商业能力的产品,会是什么?游戏、电子竞技、社交游戏是元宇宙稳定性与扩展性的绝佳试验场.
1900/1/1 0:00:00在Web 3.0时代,借助DID(Decentralized Identifier),即去中心化身份体系,将身份和数据的控制权交还到用户手中,摆脱中心化数据服务平台控制的同时.
1900/1/1 0:00:00根据 BBC 新闻的一项调查,儿童可以在虚拟宇宙中访问性材料并体验在线美容。使用元界应用 VRChat,研究人员能够访问虚拟脱衣舞俱乐部,在那里化身模拟性行为.
1900/1/1 0:00:00这是迄今为止 dYdX 的简史。我认为对于任何对 dYdX 感兴趣的人来说,这应该是一个很好的背景。对于在更广泛的 DeFi/加密货币领域工作的任何人来说,我们所经历的旅程可能也是有用的.
1900/1/1 0:00:00以下是来自BowTiedPickle的一篇客座文章。我读过他写的一篇文章,并从里面学到了很多知识,因此我决定邀请他在这里写一篇文章。请大家好好品读!透明度是区块链的关键属性之一.
1900/1/1 0:00:00每个举动都得到一个相等和相反的反应。去年,NFT 蓬勃发展。他们成为了加密的典型代表——可数字验证的私人所有权。 创造了财富。 同时也催生了炒作.
1900/1/1 0:00:00