Cointime

扫码下载App
iOS & Android

中肯评估零知识证明ZKPs,它能做什么?不能做什么?

个人专家

简介

围绕零知识证明(ZKPs)的潜力所产生的传染性兴奋,使一些人非常着迷。对于这个阵营来说,ZKPs感觉就像一个密码学的天堂,没有什么问题是ZKPs不能解决的。

一些人将ZKPs作为一种全面的隐私解决方案来销售。这是不准确的。这篇文章的目的是对ZKPs能做什么和不能做什么进行诚实的评估 - 特别是当涉及到隐私时。我们还将检查可以与ZKPs一起配对的补充工具,以加强ZKPs。

ZKPs有一些很好的优点,但它们也有局限性。为了摆脱它们无所不能的假象,了解这两点是至关重要的。只有在有了这种认识之后,我们才能负责任地将它们纳入我们的建设工具箱。

ZKPs允许用户在不透露细节的情况下证明知识

零知识证明使用户有可能在不透露任何细节的情况下证明他们知道什么。要做到这一点,必须有一个 "证明者/测试者 "和一个 "验证者"。

有一个关于山洞的流行故事有助于解释ZKPs:

两个朋友,Alice和Jorge,发现了一个山洞。山洞里有两条进出的路,通向中间,那里有一扇门。这扇门上有一个密码,据说可以连接这两条路。

Jorge说他知道这扇门上的密码。爱丽丝想从他那里买到这个密码,但想要他证明他知道这个密码。Jorge不能直接告诉她密码来证明。所以他们都同意进行一个 "零知识 "交流测试。

Alice将告诉Jorge通过其中一条路径进入洞穴。如果他真的有密码,他就可以通过另一条路离开。

零知识证明是这个故事的一个密码学解决方案。它们利用排序器来生成一个 "证明",不需要双方进行知识交流。

ZKPs提供交易隐私和可扩展性

ZKPs的一个简单用例是识别用户和检查签名。这与它的优势领域完全吻合。

ZCash等项目也利用零知识来提供交易隐私。

ZKPs因其可扩展性而闻名。一个信息包可以被一个轻量级的 "证明 "所取代,缓解了区块链的拥堵,加快了交易速度。这使得ZKPs适合建立一个高度可扩展的layer1,或layer2的扩展解决方案,如零知识rollup。     

ZKPs不能容纳安全计算或可扩展的隐私

ZKPs可以实现 "本地"(在交易层面)的隐私承诺。但它们不能在 "全球"(网络层面、应用程序、多方)层面保密。

例如,为了使DeFi私有化,用户需要能够与一个不可信任的代理--如基于智能合约的DEX--进行交易,同时始终保持其数据的私有性。而这在ZKPs中是不可能的。

当我们从交易领域进入安全计算领域时,ZKPs的隐私就会被打破。

Secret Labs的首席执行官Guy Zyskind解释了这在实践中是如何运作的:

一个中心化的一方(通常称为排序者)在链外执行所有交易(和计算)。这意味着客户直接与这个排序者而不是区块链互动,并向它发送他们的非加密输入数据。排序者在运行所有计算后,产生一个简洁的证明,并将其与输出(通常是更新的状态)一起发送到区块链上。区块链作为验证器,验证该证明是否正确,如果正确,则在不了解学习客户数据的情况下应用状态更改。所有通用的区块链ZK解决方案都使用这种扩展方法。

这很简单。如果你能看到你的数据,你就能证明它。你不能证明与其他人的数据的相似性或差异。谁或什么来做这个?排序器在所有参与者的数据上生成一个证明。

但是,如果用户需要用他们的数据信任一个链外的、集中的排序器......我们又回到了Web2的基本问题。

使用ZKP的安全计算

理论上也有对基础设施层的信息泄露的担忧。例如,ZKPs不能防止交易规模分析或各种其他形式的元数据泄漏,这有可能暴露ZKP交易的信息。

简而言之,ZKPs对于在本地(如点对点交易)保守秘密是很好的。但它们无法在全球/网络范围内保持同样的数据隐私。

这在很大程度上是因为零知识证明不能使智能合约或DEX保密。以及为什么,不幸的是,ZKPs并不是隐私的万能钥匙。

与其他隐私解决方案相比,ZKPs的优势和局限性如何?

在密码学中,很少有一个 "最佳 "方法。这里提到的每个解决方案都有多种结构,可以单独使用或与其他解决方案串联使用,以逐一解决有趣的问题。如下图所示,每一种结构和组合都有取舍和相对优势。

比较和对比链上隐私解决方案

完全同态加密在加密的数据上进行计算而不需要解密 

完全同态加密(FHE)是一个容易理解但极难实现的想法。

想象一下,在一个世界里只有一个单一的用户和一个服务器。该服务器并不保护隐私,我们如何解决隐私问题?

通过FHE,用户可以向服务器发送加密数据,而服务器在她的数据上进行计算,不需要查看原始数据。

使用FHE的安全计算

FHE是所有现有隐私技术中效率最低的一种

不幸的是,到目前为止,FHE的效率非常低。事实上,FHE是我们所知的所有隐私保护技术中最慢的一种。然而,FHE的计算效率一直在以惊人的速度提高,在未来十年,专门的硬件(CPU → GPU → FPGA → ASIC)将进一步提高计算速度,提高几个数量级。

但即使在5-10年内,使用FHE功能也很可能只对某些用例或智能合约执行的某些部分有意义。例如,你可能想用FHE来存储和操作极其敏感(和小)的数据,如加密密钥或SSN。

FHE无法对用不同密钥加密的数据进行计算

我们如何为这个安全计算问题引入第二个客户端?

让我们假设世界上只有两个客户端。两个客户都有自己的输入,并想对他们的输入计算一个函数。两个人都想要隐私。

使用 "纯 "FHE,不清楚如何做到这一点,因为每个客户都使用自己的密钥来加密他们的数据。FHE无法对用不同密钥加密的数据进行计算。那么我们如何解决这个问题呢?

用FHE进行多用户安全计算 

部分同态加密(PHE)不能支持一般的智能合约

事实证明,需要用很多方法来解决这个问题。除了可以在加密数据上计算任何任意函数的完全同态加密外,还有许多部分同态加密方案(HE或PHE)。这些部分方案可以计算特定的功能--通常是加法或乘法,但不能同时计算(注意,所有功能都可以简化为加法和乘法运算)。这些部分HE方案是几十年前发明的,效率高得多,它们可能足以满足有限的用例,但它们不足以满足安全计算的一般情况。

一些网络旨在使用像PHE这样的部分方案来实现隐私(例如Penumbra和Dero)。然而,重要的是要了解,根据定义,它们不能支持通用的智能合约。这些技术在以隐私为重点的区块链上的应用是新颖的,但它能支持的用例是相当有限的。

有一些非常重要的方法来扩展你可以用这样的部分解决方案来支持的应用范围,但这需要在密码学方面有深厚的专业知识。这些应用往往带来其他难以推理的隐藏权衡。由于这个原因,PHE可能永远不会允许开发者建立具有隐私的任意应用程序。

那么,如果仅靠FHE或部分HE解决方案不能解决多客户安全计算问题......那什么可以呢?

安全的多方计算(MPC)将计算分布在整个系统中

MPC是一种在私有数据上进行计算的分布式系统方法。在这个意义上,它与区块链的基本架构自然契合。

在MPC中,我们没有信任单一的服务器,而是有多个不受信任的服务器,它们共同对客户数据进行计算。改变信任假设会大大增加解决方案的空间。MPC的解决方案是在考虑到多个客户的情况下开发的。因此,服务器结合来自多个用户的数据不存在理论上的问题(与FHE不同)。

有趣的是,MPC可以与FHE结合,创造一个 "阈值FHE"。阈值FHE将一个单一的FHE加密密钥分割成所有服务器之间的共享。

MPC依赖于非共存的安全性

使用FHE(单独)允许用户保持他的秘密加密密钥,而服务器永远无法获得他的数据。

但在MPC中,如果所有的服务器串通起来,他们可以重建私人数据。只要有一个服务器是诚实的,就可以避免这种串通,这个模型就是安全的。

在这一点上需要注意的是,MPC解决方案并不包含密钥。相反,MPC通过给每个服务器一个 "加密 "的数据份额来隐藏数据,这样你就需要所有的份额来 "解密 "数据。此外,每个共享不会透露关于明文数据的任何信息。

使用MPC进行安全计算

在实践中,人们可以定制合谋的阈值,以优化活跃度或隐私。在上面的例子中,所有的密钥共享都需要重建数据,我们获得最大的隐私。

然而,只需要一个服务器就可以对整个系统进行拒绝服务(DoS)攻击。这是因为只需要一台服务器不响应客户的请求,结果就无法计算出来。

另一方面,我们可以只要求½或⅔的密钥共享。这将要求大多数服务器是诚实的,在执行计算的时候不串通。

在MPC中,隐私性比正确性更难解决 

正确性是可以验证的--如果一个交易被篡改,这要么被看到,要么共识甚至停止。然而,人们无法验证对隐私的串通攻击,使其成为一种'无声'的攻击。

如果服务器通过共享密钥进行串通(在系统外),我们将永远不知道他们可以解密数据。为了消除这种攻击矢量,我们可以旨在让尽可能多的服务器运行计算,从而避免串通攻击。

可悲的是,MPC随着各方数量的增加而扩展得很差,而且增加服务器的数量会妨碍灵活性。因此,单靠MPC似乎是不够的,还需要实施其他的技术来使串通变得困难。

TEEs可以使MPC的合谋攻击矢量复杂化

使MPC合谋更加困难的一种方法是强迫分布式系统中的所有服务器使用可信执行环境(下文将详细介绍)。

或者,人们可以通过在许可环境中工作来使合谋行为复杂化,在这种环境中,服务器是(部分)被信任的,如果发生数据泄漏,可以被重新识别出来。这就是Partisia区块链似乎采取的方向:一个半信任的节点链外集执行私人计算,而区块链只存储和验证状态。

可信执行环境(TEE)将计算与CPU的其他部分分开

TEE将处理转移到一个 "黑匣子",以便计算机的CPU无法访问。这个区域可以存储数据(如加密密钥),并运行不能被机器的主机所篡改的计算。同时,主机也无法提取存储在该区域的任何数据(至少在理论上)。

TEE可以通过要求我们的服务器(或在区块链设置中,服务器)在其TEE内执行所有计算来解决隐私和正确性问题。此外,我们可以要求客户使用只有在服务器的TEE中才有的密钥对他们的输入数据进行加密。

在这种设计下,即使是拥有服务器的主机,都无法接触到客户的数据。这是因为数据只在TEE内进行解密和计算。关于这种系统在实践中是如何工作的,以及加密密钥是如何被保护的,请看Secret Network的技术文件。

另一种考虑TEE的方式是将其作为我们之前想象的简单世界的硬件近似(有一个用户和一个可以正确和私密地运行计算的受信任服务器)。然而,充分利用TEE要比这个世界复杂得多。为了防止审查或DoS攻击,最好还是在区块链这样的分布式系统中使用TEE,而不是依赖单一的服务器。

因为TEE系统通过硬件依赖获得安全,而不是纯粹的密码学,所以它们非常高效。虽然密码学解决方案通常比透明的计算慢几个数量级,但在大多数情况下,TEE的计算时间开销不到40%。这主要是由于要求解密输入和重新加密输出以保护隐私。

使用TEE进行安全计算

令用户担心的TEE的主要缺点是有可能发生旁路攻击。近年来,研究人员展示了他们如何从TEE中提取信息,主要是利用推测执行,这是所有现代处理器为获得效率而使用的方法。虽然这些问题大多可以在软件或硬件中解决,并且在实践中难以利用,但与纯加密技术相比,它们在这种特定的攻击矢量上确实存在着劣势。架构错误(可以影响任何类型的硬件,而不仅仅是安全飞地)也是可能的,并构成了严重的风险,这是不容忽视的。

考虑到这些权衡,TEE目前仍然是最好的实用解决方案,特别是对于低敏感性数据的高性能计算。即使潜在解决方案的核心是加密性质的,TEE也是增强安全性的关键,并能帮助防止串通,同时提高可扩展性。

当与其他区块链隐私解决方案相结合时,ZKPs会被“强化”

例如,构建者可能会将ZKPs与多方计算结合起来,建立一个完全私有的应用程序。也有基于硬件的解决方案(可信执行环境,TEEs)--尽管在使用TEEs时,你可能不需要额外的ZKPs。

多方计算弥补了ZKPs的缺点,因为它可以在加密的即私人数据上进行计算。因此,你可以在智能合约层面保持数据的私密性。

在这个例子中,DEX的内部状态可以被加密,MPC允许你对数据进行计算,并在不解密的情况下更新它。这就始终保持数据的私密性。

最终,ZKP可以在其优势领域有所帮助:验证用户身份、签名和轻量级交易。

Web3隐私的未来并不是一刀切的

正如我们在这次讨论中所看到的,每个隐私解决方案都有其权衡之处。无论你听说过什么,没有一个解决方案可以满足我们所有的隐私需求,并且是零风险的。

负责任地使用任何隐私技术意味着了解其固有的限制。

当这些被清楚地了解后,我们可以将手伸向更广泛的隐私工具箱,并有可能将该技术与补充其各自弱点的解决方案配对。ZKPs、TEEs、MPC和FHE都会带来一些优势和限制。

对用户来说,链上隐私应该是 "正常 "的。为实现这一愿景,意味着对各种隐私工具持开放态度,而不是围绕一个单一的解决方案满足最大的心理需求。

评论

所有评论

推荐阅读

  • 美股三大指数开盘涨跌不一 科技股多数反弹

    美股三大指数开盘涨跌不一,道琼斯指数跌0.36%,标普500指数涨0.09%,纳斯达克综合指数涨0.36%。热门股票中,英伟达股价上涨2.17%,苹果股价下跌3.8%,微软股价上涨0.66%,谷歌-A股价上涨0.76%,亚马逊股价上涨1.39%,台积电股价上涨1.4%,SpaceX股价上涨1.33%,特斯拉股价上涨0.46%,Meta股价上涨1.03%,博通股价上涨1.44%,SK海力士股价上涨2.61%,美光科技股价上涨2.62%,超威半导体股价上涨2.27%,阿斯麦股价上涨1.92%,思科股价上涨0.49%,甲骨文股价上涨1.91%,英特尔股价上涨1.83%,戴尔科技-C股价上涨2.45%,ARM股价上涨2.04%。 苹果股价低开近4%,苹果CEO特努斯在财报会上表示,内存价格上涨正拖累公司新一季度毛利率环比下滑,预计未来内存成本会更高。

  • 央行潘功胜:维护股票、债券、外汇等金融市场平稳运行

    11月3日,十四届全国人大常委会第二十五次会议3日上午在北京人民大会堂举行第二次全体会议。会议听取了中国人民银行行长潘功胜受国务院委托作的关于金融工作情况的报告。报告介绍了2025年10月以来金融工作主要进展及成效、当前经济金融形势和问题挑战,提出下一步工作考虑:继续实施好适度宽松的货币政策,为经济持续向新向优向好发展营造适宜的货币金融环境;进一步加强和完善金融监管,不断增强监管质效;实施好支持资本市场的货币政策工具,巩固完善资本市场稳市机制。维护股票、债券、外汇等金融市场平稳运行,守住不发生系统性金融风险底线。(新华社)

  • Meta拟发行150亿美元美元债

    11月3日,Meta计划通过美元债发行募资约150亿美元,此次发行是其跨境债券融资的一部分。此前消息称,Meta计划通过美元及欧元债券发行合计募资至少200亿美元,融资规模可能根据投资者需求进一步扩大。

  • CFTC 主席发布声明:美国可正式上市个股永续期货

    11 月 3 日,美国商品期货交易委员会(CFTC)主席 Michael S. Selig 发布公告,个股永续期货(Equity Perps)即日起可在同时获得 CFTC 指定合约市场资质、且在 SEC 完成通知注册的证券交易所上市交易。 Selig 表示,此举是重要进展,让美国市场参与者能够在受监管框架内使用永续期货开展风险管理与价格发现,避免资金流向海外无监管平台。 该产品落地依托《2000 年商品期货现代化法案》以及 CFTC 与 SEC 的监管谅解备忘录。长期以来,证券期货、个股永续期货这类创新产品长期卡在两机构管辖权模糊的 “监管无人区”,如今双方达成协调,扫清合规路径。

  • 消息人士:美伊在核问题及被冻结资产方面做出让步

    据半岛电视台:据接近调解团队的消息人士透露,调解方已向沙特阿拉伯和阿联酋通报了谅解备忘录的相关内容,两国均已表示认可。华盛顿与德黑兰在核问题及被冻结资产方面做出让步。

  • 知情人士:Anthropic今年年底可用算力将达到3.5吉瓦

    AI巨头Anthropic上周提交S-1招股文件,预计本月将完成创纪录IPO,搅动华尔街情绪。 周一公司更新招股书,披露亮眼增长数据,但支出端风险同样突出。 过去一年Anthropic签下大量算力采购合约,锁定算力资源训练、运行AI大模型,押注暴涨的需求可以覆盖巨额投入。 更新版S-1显示,Anthropic第三季度营收170亿美元,同比翻12倍,环比二季度上涨47%;但净亏损230亿美元,环比增速从上一季度144%有所回落。 截至2045年,Anthropic的数据中心、芯片、算力采购承诺总额高达8954亿美元;未来12个月内,近700亿美元的合约款项就要开始兑付。 两名知情人士透露:今年年底,公司可用算力将达到3.5吉瓦,足够供应芝加哥全部家庭用电;明年目标算力再翻一倍。 Anthropic甚至深度参与数据中心设计,招聘基建、供应链专家,还向承建方采购冷却系统等硬件。 它的头号竞争对手OpenAI同样在算力上疯狂投入。知情人士透露,OpenAI预计到2030年,算力总投入约7500亿美元。

  • 现货黄金失守3900美元/盎司

    现货黄金失守3900美元/盎司,日内跌1.19%。

  • BTC突破77000美元

    行情显示,BTC突破77000美元,现报77001.78美元,24小时跌幅达到1.94%,行情波动较大,请做好风险控制。

  • SEC更新加密资产FAQ,明确“中央方”认定标准

    11月2日,据SEC公司财务部官网消息,该部门更新联邦证券法适用于加密资产的常见问题解答,新增3条问答: 广泛治理体系的参与者若互不关联、无协议安排或默契(含通过委托)协同行动,一般不视为“中央方”; “中央方监督参与”指其在协议层、验证者层或用户层单方有权控制访问、更改投票程序、修改规则代码或撤销交易,而重大运作全部由规则代码自动执行、或裁量仅经广泛治理体系行使的一般不构成; “功能性”与“去中心化”属不同概念。 该FAQ为工作人员意见,不具规则或法规效力,关联3月17日解释性发布与8月18日《加密资产监管条例》提案。

  • Web3数据和AI公司Validation Cloud完成1000万美元新一轮融资

    Web3数据和AI公司Validation Cloud宣布从True Global Ventures获得1000万美元融资,该公司计划利用这笔资金扩展其AI产品,实现对Web3数据的无缝访问。 据介绍,该公司的产品平台由三个部分组成:质押、节点API以及数据和AI。在质押方面,Validation Cloud的质押资产已超过10亿美元。Validation Cloud的一些客户包括 Chainlink、Aptos、Consensys、Stellar和Hedera。