作者:BEN WEISS. 编译:Cointime:QDD.
ZK-SNARKs。ZK应用。处处都是ZK。
这两个字母是零知识证明的简写,在加密货币领域无处不在。每个新创业公司似乎都在其推介中包含了ZK的某种变体。即使像Polygon这样的已经与星巴克和Mastercard等公司合作的区块链,也推出了基于这两个字母的新产品。
一些加密货币爱好者对零知识证明如此兴奋,以至于他们认为它们将“成为经济运作的重要组成部分”,并最终会“在高中教学中被教授”,宾夕法尼亚州立大学的数学副教授杰森·莫顿(Jason Morton)在接受《财富》杂志采访时开玩笑说。
一些人甚至更进一步。Electric Coin Co.的首席执行官Zooko Wilcox告诉《财富》杂志:“零知识证明将成为人类基础设施的基本组成部分。”
但是,零知识证明到底是做什么的?这个引人注目的数学概念是如何变得如此引人注目的呢?
从零开始
1985年,学者沙菲·戈德瓦塞(Shafi Goldwasser)、席尔维奥·米卡利(Silvio Micali)和查尔斯·拉克夫(Charles Rackoff)发表了一篇迈克尔·沃尔菲什(Michael Walfish)所称之为“庞大的论文”的论文。这篇名为《交互式证明系统的知识复杂性》的论文是对零知识证明的第一个理论阐述,沃尔菲什告诉《财富》杂志。
这种密码学技术本质上允许你证明自己知道某些事情,而不暴露你所知道的内容。为了将抽象的概念具体化,想象两个朋友:一个色盲,一个不是。有一个红球和一个蓝球。色盲的朋友把两个球藏在背后,可能搞混了,然后把它们拿出来,视力更好的朋友说出它们是否被调换了位置。检查球的朋友(可能是猜测或甚至撒谎)有50%的几率选对一个球。但是,如果这个过程重复一百万次,凭借偶然性,视力更好的朋友几乎肯定无法选对正确的球。在这个练习的结束时,色盲的朋友对哪个球是红色、哪个球是蓝色仍然一无所知,但知道她的朋友知道。
零知识证明的隐私好处是显而易见的。例如,我们可以保留自己的银行数据所有权,并通过零知识证明验证我们正确计算了信用评分,而无需透露我们的私人银行信息。或者,我们可以向雇主证明我们知道自己的社会安全号码,而不向他们展示这个九位数。
然而,证明是复杂的且在计算上消耗巨大,多年来一直停留在理论阶段,而非实践阶段。
简洁的证明
根据斯坦福大学计算机科学和电气工程系教授丹·博内赫(Dan Boneh)的说法,早在1990年代,研究人员概述了一种更一般的证明类别,称为简洁证明。
这些密码计算允许某人验证某件事情的真实性,而无需逐个检查每个陈述。例如,一个审计员可以快速验证某人是否正确提交了纳税申报表,而无需看到申报表中的数据或检查每个数学运算。
与零知识证明相比,简洁证明的工作原理更难以通过具体示例说明。“简洁性是一种魔力,”博内赫告诉《财富》杂志。“对于为什么可能存在这种情况,没有一个好的物理解释。”
话虽如此,简洁性(或者需要较少的时间来证明某件事情的真实性)是大多数加密货币企业家和投资者所激动的。以太坊等区块链是缓慢的分散式计算机。随着开发人员创建越来越复杂的应用程序,运行这些应用程序所需的时间和计算能力也会增加。简洁证明可以通过“证明”代码在链下正确运行,或者在不是区块链的更强大计算机上运行来解决这个问题。
为什么将简洁证明与零知识证明并列提及?多位密码学家告诉《财富》杂志,将前者转化为后者所需的努力通常是很小的。因此,人们倾向于混淆这两个术语。
“你可以有简洁的证明而没有零知识性,”博内赫告诉《财富》杂志。“你也可以有不简洁的零知识证明。”
从理论到现实
从1990年代开始,零知识证明和简洁证明在很大程度上仅属于学术界。但从2010年开始,研究人员意识到他们可以在现代计算机上实现它们,纽约大学教授迈克尔·沃尔菲什告诉《财富》杂志。
随着计算机速度的提升和加密学研究资金的可用性,沃尔菲什说,像贾斯汀·萨勒(Justin Thaler)这样的人概述了如何在实际机器上生成零知识和简洁证明。
云计算的出现进一步推动了实施的动力。笔记本电脑或智能手机的速度比一组亚马逊服务器的综合计算能力要慢,但通过简洁证明,一个台式机可以验证一批计算机正确运行了一个程序。“这不是我在计算,”萨勒谈到云计算时说。“为什么我要相信别人的答案?”
2009年,匿名的中本聪发明了比特币和区块链。随着区块链的推出,需要减少其计算工作量。“区块链是一台运行成本高昂的慢速计算机,”博内赫说。“因此,你希望尽可能地少做工作。”
“仪式”
“让人们摆脱中央银行对货币供应的控制,以及所有想要控制每个人的警察、权威人士、爱管闲事的邻居和所有其他人,这些都是比特币的整体价值主张的一部分,”Electric Coin Co.的首席执行官Zooko Wilcox告诉《财富》杂志。
但是,虽然比特币曾被视为用户可以在政府的监视下发送和接收数字货币的安全账本,调查人员和企业分析师最终找到了如何追踪交易并追溯到真实个人的方法。
2013年,学术界在改进零知识证明实现的基础上,提出了“零币”(Zerocoin)和“木偶币”(Pinocchio Coin)的提案,承诺使比特币的伪匿名交易“完全匿名”。
Zerocoin的作者最终与Wilcox合作,Wilcox是一位计算机科学家和自称的密码朋克,共同推出了Zcash。这种加密货币可能是第一个在规模上足够大以至于不仅限于学术界的人每天都在使用这种数学技术的零知识证明的实现。
为了推出这种新的加密货币,需要进行一场被称为“典礼”的精心安排,以确保没有不良分子发现实例化该加密货币所需的秘密密码密钥。(如果不良分子拥有该密钥,他们可以大量生成Zcash。)
在2016年,Wilcox和他的团队成功地进行了这个“典礼”,其中包括用角磨机切割一台用于生成秘密密钥的Lenovo台式机,并烧毁电子废料,然后推出了Zcash,其代币至今仍在交易中。
ZK roll-ups
尽管最初的“典礼”或学术界所称的可信设置是成功的,但也非常复杂。根据卡内基梅隆大学电子与计算机工程助理教授Riad Wahby的说法,Wilcox和他的团队需要每当他们想要为不同的计算创建一个新的零知识证明时都要重新进行这个过程。
Carnegie Mellon大学电气和计算机工程系助理教授Riad Wahby的说法,研究人员和开发人员设计了一些方法,以降低“典礼”的复杂性。卡因此研究人员和开发人员设计了一些方法,以减少 "仪式 "所需的精细程度。
“从2016年开始,人们开始采取措施要么消除可信设置阶段,要么至少使其只需进行一次可信设置,然后可重复用于任何计算。”他告诉《财富》杂志。
到2019年,开发人员突然拥有了更高效的方法来生成零知识证明,无需烧毁Lenovo台式机或组织丹佛的国际密码学家团队。
与此同时,以太坊作为一种基本上是一个缓慢的去中心化计算机的区块链,正变得越来越受欢迎。越来越多的开发人员正在创建更复杂的应用程序来运行在以太坊上,他们也需要提高应用程序的速度的方法。
需要记住,大多数零知识证明是“简洁”的,即允许某人在不审核每个陈述的情况下证明某个陈述的真实性。为了利用这一特性,开发人员将交易“聚合”或批量编译和评估,然后通过生成零知识或简洁证明来准确证明他们这样做了。区块链网络只需要验证这个证明,这比检查每笔交易要花费较少的时间。
随后,在加密货币领域涌现了大量的零知识证明(ZK)聚合解决方案,如Aztec、zkSync等,加入了像Zcash这样利用零知识证明隐私特性的项目。(事实上,大多数ZK聚合都不具备隐私保护功能,Wahby说。)
下一步是什么?
研究人员现在继续推动零知识证明的能力,使其更高效,并允许开发人员轻松地“编程”它们,即将计算机程序放入证明中,而不需要针对每个新程序进行定制。
Carnegie Mellon大学的Riad Wahby告诉《财富》杂志说:“人们真的认为这是当前证明面临的一个大问题。”“对程序员来说,它们非常非常难以使用。”
即便如此,一些人开始使用它们来解决比改进缓慢的区块链更重要的问题。例如,研究人员正在设计零知识证明来验证正确的人工智能算法是否运行,这种验证在假设机器学习模型诊断癌症或交易数十亿美元时变得更加重要。
Zcash的Wilcox认为,在五到十年内,零知识证明将在我们与技术交互时在背后发挥作用。他告诉《财富》杂志:“所有这些都将依靠零知识证明,以使您在每次打开手机或进入汽车时都不会被外国国家黑客和利用。”如果Wilcox的预测成真,也许我们将超越“ZK this”和“ZK that”,完全忘记这些字母的存在。“他补充说:“零知识证明已经发展到了可以用于各种目的的状态。”
所有评论