区块链隐私保护:零知识证明(ZKP)、全同态加密(FHE)、多方安全计算(MPC)技术解析

进阶May 06, 2024
比特币和以太坊虽然让金融交易摆脱了中间人的束缚,但这也使得用户隐私暴露无遗。随着零知识证明等技术的兴起,如何在链上保护隐私成了Web 3.0时代的关键议题。Aztec和Aleo是在这方面颇有潜力的两大网络。零知识证明技术能够在不泄露任何个人信息的前提下,验证交易的有效性,适合于匿名社交平台和企业的账单处理等应用场景。全同态加密技术则能在保证数据隐私的同时,实现数据的共享和处理,非常适合处理无担保的DeFi借贷和链上的客户身份验证等问题。多方计算技术能够在多个参与者之间安全地共享和处理数据,保护私钥和敏感信息,适合于分布式人工智能的训练和应用。通过结合这些技术,我们可以在区块链上实现更加全面的隐私保护。
区块链隐私保护:零知识证明(ZKP)、全同态加密(FHE)、多方安全计算(MPC)技术解析

比特币自从大约14年前诞生以来,就以其去中心化的特性,彻底改变了金融交易的面貌。随后,以太坊及其智能合约技术的推出,进一步深化了这一变革,使得在交易、借贷和期权等复杂金融产品中无需中介参与。但是,这种去中介化的过程往往以牺牲用户隐私为代价,我们的链上活动(包括身份和交易)容易被中心化交易所、资金流入流出渠道、链上分析机构等轻松追踪。这种对链上活动的透明度,限制了Web 3技术在企业支付、专属链上交易等多个领域的应用。

这一隐私问题并非新生事物,自2016年以来,已有众多项目尝试通过引入零知识证明(ZKP)等技术来解决。自那以后,零知识证明技术发展迅猛。同时,全同态加密(FHE)、安全的多方计算(MPC)等技术也在涌现,旨在解决链上处理私有数据时遇到的更为复杂的难题,即如何安全管理私有状态。

在Alliance,我们坚信,链上隐私保护将开启前所未有的应用场景,未来几年将成为Web 3领域的核心议题。如果你正致力于构建隐私保护基础设施或需要处理私有状态的应用,我们非常希望给予支持。欢迎随时联系我们,加入Alliance共同探索未来。

私有状态的分类

当我们谈到在区块链上处理加密的私有数据时,这些数据的安全性主要取决于加密和解密密钥的掌握者。这里所说的密钥,也就是用于保护数据隐私的密钥,和我们通常用来签名交易的私钥是不同的。前者负责保障数据的隐私安全,而后者则负责对数据进行修改和管理。

基于隐私密钥的控制权,我们可以将私有状态分为两大类。这种分类对于理解数据如何在区块链上表示及如何有效管理这些数据至关重要。简而言之,私有状态可以被分为个人私有状态(PPS)和共享私有状态(SPS),这两种状态各有特点,适用于不同的场景和需求。

个人私有状态

所谓个人私有状态,指的是某种数据或状态仅由一个主体所拥有,并且只有这个主体有权查看或者修改这些数据。此外,该主体还可以选择是否允许其他人访问这些数据,比如通过分享一个可查看的密钥,使他人能够查看全部或部分数据。典型的个人私有状态示例包括:

  • 个人的代币余额
  • 私密的认证信息或个人资料,涵盖年龄、国籍、投资者资格认证状态、Twitter账户以及其他在Web 3.0中有用的Web 2.0信息
  • 私人交易记录

共享私有状态

共享私有状态(SPS)是一种特殊类型的私有数据,它允许多个用户在保护数据隐私的前提下进行更改或计算。这种状态可能对所有人开放,因此任何人都有可能对其进行修改,如暗池自动做市商(AMM)的状态或是一个私有借款池的状态。此外,SPS也可能仅限于一个小范围的参与者,这些参与者有权访问或修改数据。例如,一个链上多人游戏的状态可能仅限于当前参与游戏的玩家进行更改。或者,对于链上的AI模型,可能只有少数几个实体,如模型的操作者,有权限对私有数据进行处理。

相较于个人私有状态,共享私有状态的管理要复杂得多。理解可以在SPS上进行哪些类型的计算,以及这些计算是否可能泄露相关信息始终是一项挑战。举个例子,通过暗池AMM进行交易可能会透露出池中流动性的一些信息。

零知识证明(ZKP)、全同态加密(FHE )和多方安全计算(MPC)

在管理链上的私有状态时,我们有多种不同的技术方案可供选择。每种技术方案都各有所长,适合处理特定类型的私有状态,因而也就适合于一系列特定的应用场景。实际上,要开发出真正有用的应用程序,往往需要将这些不同的技术方案结合起来使用。

零知识证明ZKP

在链上隐私保护的策略中,首先采用的是零知识证明(ZKP)技术。这种技术特别适合保护个人的私有数据。使用这种方法时,数据拥有者可以很方便地在本地使用自己的隐私密钥解开数据加密,进行所需的修改,然后再用该密钥将数据重新加密。完成这些步骤后,他们可以创建一个零知识证明,以此向整个网络证明他们对私有数据所做的更改是合法有效的。

这正是为什么零知识证明(ZK)技术特别适合用于支付网络,如zCash、Iron Fish等。在这类系统中,用户在进行私有资产交易时,所有的计算工作都在本地完成,比如使用和生成新的未花费交易输出(UTXO)以及更新私有代币余额。因为这些计算和零知识证明的生成都是在用户自己的设备上进行的,所以资金余额和交易历史的隐私得到了良好的保护。网络中的矿工只能看到生成的零知识证明和加密后的新UTXO。

虽然支付操作所需的计算本身不复杂,但由于生成零知识证明所需时间较长,私有支付的用户体验并不理想。不过,随着零知识证明系统的技术进步,现在在普通消费级硬件上完成一次简单支付的证明生成时间已经缩短到不到一秒。这种进步还使得基于零知识证明的系统能够支持更广泛的可编程功能。AztecAleo就是两个引入了广泛可编程性的杰出网络。虽然Aztec和Aleo在某些方面存在差异,但它们都主要基于ZEXE模型。在此模型中,每个应用都需要作为一个零知识电路来构建。这就要求这两个网络为应用开发者和用户简化零知识证明的复杂性。因此,开发了如Noir(Aztec)和Leo(Aleo)这样的高级编程语言,能够将高级代码有效地转换成零知识电路。

以Aztec为例,它利用Noir语言及其智能合约开发框架Aztec.nr,将每个智能合约拆分成多个函数,每个函数都作为一个零知识电路实现。用户可以通过下载所需的函数到自己的设备上,就能在保护隐私的同时,对自己的私有数据进行处理。Aztec如何执行智能合约的具体细节,在相关讨论中有所讨论。

通过引入广泛的可编程能力,Aztec等实现极大地提升了零知识证明系统的易用性。但是,这类系统仍面临着一系列挑战:

  1. 所有关于私有状态的计算活动都必须在客户端完成,这不仅影响了用户体验,还意味着用户必须拥有性能较好的设备才能顺畅使用网络。
  2. 零知识证明技术并不适合处理需要多方共享的私有状态。在默认情况下,所有应用的状态都是公开的,这给开发像是信息不完全的游戏或是私有的去中心化金融(DeFi)应用带来了挑战。
  3. 交易的组合性变得复杂,无法执行涉及修改多个私有状态的交易,因为每个状态的计算需要由不同的用户独立完成。这类交易需要分解成多个步骤,每个步骤在不同的区块中独立执行。
  4. 此外,私有数据的发现性问题也是一个挑战。如果用户接收到包含私有状态的交易,他们无法知晓这一状态,除非下载整个网络的私有状态并尝试用自己的隐私密钥解密每一部分数据。这甚至使得执行一些基本操作,如查询余额,都变得复杂,正如相关讨论所指出的那样。

适合基于零知识证明系统的应用场景

零知识证明(ZK)技术提供的强大隐私保护特性,使其成为多种应用场景的理想选择:

匿名社交平台

许多公众人物由于担心社会反响和被“取消”的风险,无法公开分享他们的真实观点和经历。这推动了一种新型社交媒体平台的发展,用户可以在这些平台上私密地证明自己具有某些属性,比如链上财富或特定NFT的拥有者,然后基于这些证明匿名发帖,无需透露真实身份。一个例子是我的同事David开发的Whale Songs原型。

私有链上凭据

另一个应用是允许持有特定凭据的人匿名参与去中心化自治组织(DAO)或对需要特定专业知识的议题进行匿名投票。Web 3.0中的一个例子是HeyAnoun。更广泛的应用领域包括使用现实生活中的凭证,如财富、学位等,匿名参与链上活动。将这些现实生活中的私有凭证引入链上,可以支持多种应用场景,包括无抵押的去中心化金融(DeFi)借贷、链上客户身份验证(KYC)或地理限制等。零知识证明技术适用于这些场景,因为它允许在特定情况下使用特殊的查看密钥来访问私有状态的某些部分,例如在贷款违约时。

将现实世界的凭证引入链上的主要挑战在于如何验证这些凭证/数据的真实性。一些方法,如zkEmailTLSNotary,通过验证特定网站域的网络流量及其包含的必要数据来应对这一问题。

企业开票/支付

企业支付是私有支付的一个重要分支。许多公司不愿公开其商业合作伙伴/供应商或合同条款。链上支付的透明度限制了企业对稳定币支付的接受程度。通过确保链上交易的隐私,企业采用链上支付 的速度可以基于效率提升和成本效益的优势而加快,这与传统银行服务相比具有明显优势。

全同态加密技术FHE的应用

全同态加密技术的神奇之处在于,它允许我们在完全不解密数据的前提下,对加密后的数据进行计算,并得到加密的正确结果。这一特性让全同态加密成为处理共享的私有状态的理想选择。利用全同态加密,我们能够在区块链上开发出拥有私有状态的应用,例如私有的自动做市商(AMM)池或是私有投票箱。这些私有状态以加密形式存储在链上,任何人都可以在不泄露数据内容的情况下对其进行计算。将全同态加密技术引入区块链,能够实现并简化许多之前难以想象的应用场景,比如保密投票和需要隐藏信息的游戏(如扑克)。

FHE优势

全同态加密技术最大的优点之一是它在多个方面极大地提升了区块链的组合性能力。

  1. 它允许在同一个区块中,多个交易或用户修改同一份私有状态。举个例子,多次交换操作可以共享同一个暗池资源。
  2. 单个交易能够同时影响多个私有状态。比如说,一次交易可以通过使用多个暗池中的自动做市商(AMM)来完成交易。

另一个重要优势是用户体验的提升。利用全同态加密,对私有状态的计算工作由网络的验证节点负责,而这些节点可以使用专业硬件来加速计算过程。

全同态加密还极大地改善了开发者的工作体验。虽然开发者需要调整他们对处理私有状态的理解,但相比于零知识证明系统,这一挑战的难度要小得多。一方面,全同态加密系统可以直接采用智能合约链所使用的账户模型。另一方面,全同态加密的操作可以被集成到现有的虚拟机实现中,这意味着开发者可以继续使用他们熟悉的开发框架、工具、钱包和基础设施。ZamafhEVM 实现就是一个例子,它通过预编译的方式加入了加密变量和全同态加密操作。出乎意料的是,这一优势对于推动链上私有应用的发展至关重要,因为开发者是创造吸引用户的应用的关键力量。简便易用的开发体验能够吸引更多的开发者投身于全同态加密技术的探索和应用开发中。

全同态加密技术的限制

隐私保护的信任前提

全同态加密技术的运用需要为所有私有数据设置一套全局的加密和解密密钥,这对于确保不同组件间能够顺利协同工作至关重要。这些密钥通常由网络的验证者团队管理,他们需要用这些密钥来解密经过全同态加密处理的私有数据。这样一来,我们就必须信任这些验证者不会侵犯用户的隐私数据。

隐私泄露的风险

在加密数据上执行多次运算可能会导致隐私泄露。比如,通过在暗池自动做市商(AMM)上执行的交易,可能会无意中泄露出该池当前的流动性结构信息。

计算复杂度问题

尽管技术日益进步,全同态加密的计算成本仍旧远高于普通计算,大约高出1000倍至100万倍。这一计算复杂度极大限制了全同态加密在链上应用的处理能力。根据Inco Network的估计,全同态加密操作的处理速度大约在每秒1至5次交易(TPS)之间。不过,借助GPU和FPGA的加速技术,这一处理速度有望提高10至50倍。

来源:https://eprint.iacr.org/2021/1402.pdf

全同态加密系统的理想应用场景

全同态加密技术非常适合那些对组合性要求极高的应用场景:

信息不完全的游戏。扑克等卡牌游戏就是很好的例子,游戏中的卡牌堆状态需要能够被多位玩家共同访问和更改。

私密投票。全同态加密技术能够简化秘密投票系统的构建,使得投票者能够在不知道之前投票结果的情况下改变投票计数。

私有自动做市商(AMM)。利用全同态加密技术,可以通过将资金池的状态设定为加密变量,从而简化私有AMM或私有去中心化金融(DeFi)资金池的建立和管理。

MPC技术应用

在加密领域,多方计算(MPC)技术因其在资产托管方面的应用而广为人知并受到青睐。例如,Fireblocks这样的行业巨头就通过利用MPC技术来实现安全的资产并发托管,建立了成功的商业模式。此外,Coinbase、0xPass等多家钱包即服务提供商也采用了MPC技术,以此来增强钱包的安全性和提升用户体验。

然而,多方计算(MPC)技术的应用远不止于保护私钥。通常情况下,MPC解决了如何在保护输入数据隐私的同时,对这些数据进行计算并仅展示计算结果的问题。在资产托管这一特定场景中,所说的私有输入指的是私钥的若干碎片。这些碎片的持有者协同合作,对这些私有数据进行“计算”,即生成交易签名。通过这种方式,多个参与方共同生成并解密签名,而无需任何一方直接接触私钥本身。

同理,MPC技术也允许在不泄露任何私有数据的前提下,对各类数据进行计算处理。这让MPC在处理区块链环境下的私有状态方面显得尤为重要。例如,它可以用于在保护隐私的数据集上进行去中心化的人工智能(AI)训练。不同的数据所有者和计算服务提供者可以协同进行基于MPC的AI训练,以计算出模型权重。训练结束后,由MPC小组解密计算结果,即模型权重,从而构建出完整的AI模型。

MPC技术的许多实现为数据隐私提供了强大的保护措施,即便是在诚实少数的情况下也能保障隐私,这让它在隐私保护方面与零知识证明(zk)系统不相上下。MPC在某些方面也与全同态加密(FHE)相似,因为它支持在特定私有状态(SPS)上进行计算,从而实现不同组件间的组合性。然而,与FHE相比,MPC存在一些局限性:

  1. 只有MPC小组内的成员才能对数据进行计算处理,组外的任何人都无法参与计算。
  2. 为了确保诚实少数的保证,所有MPC参与方都需要共同协作完成计算任务。这意味着任何MPC小组成员都有可能对计算过程进行干预。虽然通过降低MPC的参与门槛可以在一定程度上缓解这一限制,但这样做的代价是,数据隐私可能会因为少数参与者之间的协作而被破坏。

MPC系统的理想应用场景

暗池集中限价订单簿(CLOBs)

MPC技术在去中心化金融(DeFi)领域的一项创新应用是构建暗池CLOBs。在此系统中,交易者可以在不了解订单簿当前状态的情况下提交限价或市价订单。通过MPC技术处理私有数据——即订单簿,实现订单的匹配。Renegade Financee就是开发此类系统的公司之一。

去中心化的专有AI模型推理

例如,DeFi领域的AI策略管理器或Web 3 信用评分系统,可以通过MPC技术利用专有模型进行数据推理。在此架构中,AI模型的权重保持私密,可以安全地在若干计算节点间共享,每个节点仅持有权重的一部分。这些节点可以合作对链上更新的事件进行AI推理,进而作出决策并提交执行特定DeFi策略的交易。

利用专有数据训练公开AI模型

一个典型的应用是使用私有健康记录来训练医疗诊断AI模型。在这种情况下,模型的创建者、公司和数据所有者(如患者)可以通过MPC合作,在不泄露任何私有数据的前提下进行模型训练。如BittensorNillion 等网络平台支持这样的应用场景。

伪无需权限的共享私有状态

经过精心设计,MPC技术也可以用于管理伪无需权限的共享私有状态(SPS)。例如,一个暗池AMM的状态及其计算过程可以通过多方实体的MPC合作来构建。想要与该AMM进行交互的用户需要将他们的交易信息共享给MPC组,由其代表用户进行计算。这种方法的优势在于,每个SPS可以拥有不同的隐私密钥(与全同态加密技术使用的全局密钥相比)。但这种方法的潜在风险在于MPC小组可能进行审查。尽管如此,通过精心设计的经济激励机制,可以降低这一风险。

竞争还是合作

乍一看,处理链上私密信息的各种技术似乎彼此竞争。但若不考虑开发这些网络的团队背后的经济利益,零知识证明(zk)、全同态加密(FHE)以及多方计算(MPC)实际上是可以互相补充的技术。

从一方面来看,zk技术因为未加密数据永远不会离开用户的设备,所以提供了更加强大的隐私保护。此外,没有用户的许可,任何人都无法对这些数据进行处理。但这种高度的隐私保护牺牲了一定的灵活性和兼容性。

而从另一方面来看,FHE虽然在提高灵活性和兼容性方面表现更佳,但其隐私保护能力较弱。这种隐私风险主要是因为需要信任某个实体或少数几个实体掌握全局FHE解密密钥。尽管存在这种风险,但考虑到兼容性是加密技术的核心要素,FHE在许多关键应用场景下,如去中心化金融(DeFi),能够提供必要的隐私保护。

MPC技术则位于zk和FHE之间,提供了一种独特的平衡方案。MPC允许在共享的私有数据上进行计算,因此比零知识证明提供了更多的灵活性。然而,对这些私有数据的处理仅限于少数参与方,不像FHE那样是完全开放的。

考虑到零知识证明、MPC和FHE在应用领域上的差异,实际操作中常常需要将这些技术结合起来使用。例如,Renegade Finance就通过结合MPC和零知识证明来构建一个既保证参与者有足够资本覆盖其隐秘订单的暗池CLOB。同样,链上扑克游戏zkHoldem结合了零知识证明和FHE技术。

我们预计,未来注重隐私保护的网络平台会将这些技术融合在一起,为开发者提供一套完整的工具箱,使他们能够无缝地构建应用。例如,Aztec可能会在其网络中融合MPC技术来管理共享的私有信息。同理,Inco Network也可能利用零知识证明来实现私有地址和交易历史的隐私保护。

面对这样一个以隐私为核心的未来愿景,Alliance期待支持那些致力于构建这一未来的创业者。如果你在这个领域有所建树,请主动联系并加入 Alliance

声明:

  1. 本文转载自[Alliance],所有版权归原作者[Mohamed Fouda]所有。如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译,除非另有说明,否则禁止复制、分发或抄袭翻译文章。

区块链隐私保护:零知识证明(ZKP)、全同态加密(FHE)、多方安全计算(MPC)技术解析

进阶May 06, 2024
比特币和以太坊虽然让金融交易摆脱了中间人的束缚,但这也使得用户隐私暴露无遗。随着零知识证明等技术的兴起,如何在链上保护隐私成了Web 3.0时代的关键议题。Aztec和Aleo是在这方面颇有潜力的两大网络。零知识证明技术能够在不泄露任何个人信息的前提下,验证交易的有效性,适合于匿名社交平台和企业的账单处理等应用场景。全同态加密技术则能在保证数据隐私的同时,实现数据的共享和处理,非常适合处理无担保的DeFi借贷和链上的客户身份验证等问题。多方计算技术能够在多个参与者之间安全地共享和处理数据,保护私钥和敏感信息,适合于分布式人工智能的训练和应用。通过结合这些技术,我们可以在区块链上实现更加全面的隐私保护。
区块链隐私保护:零知识证明(ZKP)、全同态加密(FHE)、多方安全计算(MPC)技术解析

比特币自从大约14年前诞生以来,就以其去中心化的特性,彻底改变了金融交易的面貌。随后,以太坊及其智能合约技术的推出,进一步深化了这一变革,使得在交易、借贷和期权等复杂金融产品中无需中介参与。但是,这种去中介化的过程往往以牺牲用户隐私为代价,我们的链上活动(包括身份和交易)容易被中心化交易所、资金流入流出渠道、链上分析机构等轻松追踪。这种对链上活动的透明度,限制了Web 3技术在企业支付、专属链上交易等多个领域的应用。

这一隐私问题并非新生事物,自2016年以来,已有众多项目尝试通过引入零知识证明(ZKP)等技术来解决。自那以后,零知识证明技术发展迅猛。同时,全同态加密(FHE)、安全的多方计算(MPC)等技术也在涌现,旨在解决链上处理私有数据时遇到的更为复杂的难题,即如何安全管理私有状态。

在Alliance,我们坚信,链上隐私保护将开启前所未有的应用场景,未来几年将成为Web 3领域的核心议题。如果你正致力于构建隐私保护基础设施或需要处理私有状态的应用,我们非常希望给予支持。欢迎随时联系我们,加入Alliance共同探索未来。

私有状态的分类

当我们谈到在区块链上处理加密的私有数据时,这些数据的安全性主要取决于加密和解密密钥的掌握者。这里所说的密钥,也就是用于保护数据隐私的密钥,和我们通常用来签名交易的私钥是不同的。前者负责保障数据的隐私安全,而后者则负责对数据进行修改和管理。

基于隐私密钥的控制权,我们可以将私有状态分为两大类。这种分类对于理解数据如何在区块链上表示及如何有效管理这些数据至关重要。简而言之,私有状态可以被分为个人私有状态(PPS)和共享私有状态(SPS),这两种状态各有特点,适用于不同的场景和需求。

个人私有状态

所谓个人私有状态,指的是某种数据或状态仅由一个主体所拥有,并且只有这个主体有权查看或者修改这些数据。此外,该主体还可以选择是否允许其他人访问这些数据,比如通过分享一个可查看的密钥,使他人能够查看全部或部分数据。典型的个人私有状态示例包括:

  • 个人的代币余额
  • 私密的认证信息或个人资料,涵盖年龄、国籍、投资者资格认证状态、Twitter账户以及其他在Web 3.0中有用的Web 2.0信息
  • 私人交易记录

共享私有状态

共享私有状态(SPS)是一种特殊类型的私有数据,它允许多个用户在保护数据隐私的前提下进行更改或计算。这种状态可能对所有人开放,因此任何人都有可能对其进行修改,如暗池自动做市商(AMM)的状态或是一个私有借款池的状态。此外,SPS也可能仅限于一个小范围的参与者,这些参与者有权访问或修改数据。例如,一个链上多人游戏的状态可能仅限于当前参与游戏的玩家进行更改。或者,对于链上的AI模型,可能只有少数几个实体,如模型的操作者,有权限对私有数据进行处理。

相较于个人私有状态,共享私有状态的管理要复杂得多。理解可以在SPS上进行哪些类型的计算,以及这些计算是否可能泄露相关信息始终是一项挑战。举个例子,通过暗池AMM进行交易可能会透露出池中流动性的一些信息。

零知识证明(ZKP)、全同态加密(FHE )和多方安全计算(MPC)

在管理链上的私有状态时,我们有多种不同的技术方案可供选择。每种技术方案都各有所长,适合处理特定类型的私有状态,因而也就适合于一系列特定的应用场景。实际上,要开发出真正有用的应用程序,往往需要将这些不同的技术方案结合起来使用。

零知识证明ZKP

在链上隐私保护的策略中,首先采用的是零知识证明(ZKP)技术。这种技术特别适合保护个人的私有数据。使用这种方法时,数据拥有者可以很方便地在本地使用自己的隐私密钥解开数据加密,进行所需的修改,然后再用该密钥将数据重新加密。完成这些步骤后,他们可以创建一个零知识证明,以此向整个网络证明他们对私有数据所做的更改是合法有效的。

这正是为什么零知识证明(ZK)技术特别适合用于支付网络,如zCash、Iron Fish等。在这类系统中,用户在进行私有资产交易时,所有的计算工作都在本地完成,比如使用和生成新的未花费交易输出(UTXO)以及更新私有代币余额。因为这些计算和零知识证明的生成都是在用户自己的设备上进行的,所以资金余额和交易历史的隐私得到了良好的保护。网络中的矿工只能看到生成的零知识证明和加密后的新UTXO。

虽然支付操作所需的计算本身不复杂,但由于生成零知识证明所需时间较长,私有支付的用户体验并不理想。不过,随着零知识证明系统的技术进步,现在在普通消费级硬件上完成一次简单支付的证明生成时间已经缩短到不到一秒。这种进步还使得基于零知识证明的系统能够支持更广泛的可编程功能。AztecAleo就是两个引入了广泛可编程性的杰出网络。虽然Aztec和Aleo在某些方面存在差异,但它们都主要基于ZEXE模型。在此模型中,每个应用都需要作为一个零知识电路来构建。这就要求这两个网络为应用开发者和用户简化零知识证明的复杂性。因此,开发了如Noir(Aztec)和Leo(Aleo)这样的高级编程语言,能够将高级代码有效地转换成零知识电路。

以Aztec为例,它利用Noir语言及其智能合约开发框架Aztec.nr,将每个智能合约拆分成多个函数,每个函数都作为一个零知识电路实现。用户可以通过下载所需的函数到自己的设备上,就能在保护隐私的同时,对自己的私有数据进行处理。Aztec如何执行智能合约的具体细节,在相关讨论中有所讨论。

通过引入广泛的可编程能力,Aztec等实现极大地提升了零知识证明系统的易用性。但是,这类系统仍面临着一系列挑战:

  1. 所有关于私有状态的计算活动都必须在客户端完成,这不仅影响了用户体验,还意味着用户必须拥有性能较好的设备才能顺畅使用网络。
  2. 零知识证明技术并不适合处理需要多方共享的私有状态。在默认情况下,所有应用的状态都是公开的,这给开发像是信息不完全的游戏或是私有的去中心化金融(DeFi)应用带来了挑战。
  3. 交易的组合性变得复杂,无法执行涉及修改多个私有状态的交易,因为每个状态的计算需要由不同的用户独立完成。这类交易需要分解成多个步骤,每个步骤在不同的区块中独立执行。
  4. 此外,私有数据的发现性问题也是一个挑战。如果用户接收到包含私有状态的交易,他们无法知晓这一状态,除非下载整个网络的私有状态并尝试用自己的隐私密钥解密每一部分数据。这甚至使得执行一些基本操作,如查询余额,都变得复杂,正如相关讨论所指出的那样。

适合基于零知识证明系统的应用场景

零知识证明(ZK)技术提供的强大隐私保护特性,使其成为多种应用场景的理想选择:

匿名社交平台

许多公众人物由于担心社会反响和被“取消”的风险,无法公开分享他们的真实观点和经历。这推动了一种新型社交媒体平台的发展,用户可以在这些平台上私密地证明自己具有某些属性,比如链上财富或特定NFT的拥有者,然后基于这些证明匿名发帖,无需透露真实身份。一个例子是我的同事David开发的Whale Songs原型。

私有链上凭据

另一个应用是允许持有特定凭据的人匿名参与去中心化自治组织(DAO)或对需要特定专业知识的议题进行匿名投票。Web 3.0中的一个例子是HeyAnoun。更广泛的应用领域包括使用现实生活中的凭证,如财富、学位等,匿名参与链上活动。将这些现实生活中的私有凭证引入链上,可以支持多种应用场景,包括无抵押的去中心化金融(DeFi)借贷、链上客户身份验证(KYC)或地理限制等。零知识证明技术适用于这些场景,因为它允许在特定情况下使用特殊的查看密钥来访问私有状态的某些部分,例如在贷款违约时。

将现实世界的凭证引入链上的主要挑战在于如何验证这些凭证/数据的真实性。一些方法,如zkEmailTLSNotary,通过验证特定网站域的网络流量及其包含的必要数据来应对这一问题。

企业开票/支付

企业支付是私有支付的一个重要分支。许多公司不愿公开其商业合作伙伴/供应商或合同条款。链上支付的透明度限制了企业对稳定币支付的接受程度。通过确保链上交易的隐私,企业采用链上支付 的速度可以基于效率提升和成本效益的优势而加快,这与传统银行服务相比具有明显优势。

全同态加密技术FHE的应用

全同态加密技术的神奇之处在于,它允许我们在完全不解密数据的前提下,对加密后的数据进行计算,并得到加密的正确结果。这一特性让全同态加密成为处理共享的私有状态的理想选择。利用全同态加密,我们能够在区块链上开发出拥有私有状态的应用,例如私有的自动做市商(AMM)池或是私有投票箱。这些私有状态以加密形式存储在链上,任何人都可以在不泄露数据内容的情况下对其进行计算。将全同态加密技术引入区块链,能够实现并简化许多之前难以想象的应用场景,比如保密投票和需要隐藏信息的游戏(如扑克)。

FHE优势

全同态加密技术最大的优点之一是它在多个方面极大地提升了区块链的组合性能力。

  1. 它允许在同一个区块中,多个交易或用户修改同一份私有状态。举个例子,多次交换操作可以共享同一个暗池资源。
  2. 单个交易能够同时影响多个私有状态。比如说,一次交易可以通过使用多个暗池中的自动做市商(AMM)来完成交易。

另一个重要优势是用户体验的提升。利用全同态加密,对私有状态的计算工作由网络的验证节点负责,而这些节点可以使用专业硬件来加速计算过程。

全同态加密还极大地改善了开发者的工作体验。虽然开发者需要调整他们对处理私有状态的理解,但相比于零知识证明系统,这一挑战的难度要小得多。一方面,全同态加密系统可以直接采用智能合约链所使用的账户模型。另一方面,全同态加密的操作可以被集成到现有的虚拟机实现中,这意味着开发者可以继续使用他们熟悉的开发框架、工具、钱包和基础设施。ZamafhEVM 实现就是一个例子,它通过预编译的方式加入了加密变量和全同态加密操作。出乎意料的是,这一优势对于推动链上私有应用的发展至关重要,因为开发者是创造吸引用户的应用的关键力量。简便易用的开发体验能够吸引更多的开发者投身于全同态加密技术的探索和应用开发中。

全同态加密技术的限制

隐私保护的信任前提

全同态加密技术的运用需要为所有私有数据设置一套全局的加密和解密密钥,这对于确保不同组件间能够顺利协同工作至关重要。这些密钥通常由网络的验证者团队管理,他们需要用这些密钥来解密经过全同态加密处理的私有数据。这样一来,我们就必须信任这些验证者不会侵犯用户的隐私数据。

隐私泄露的风险

在加密数据上执行多次运算可能会导致隐私泄露。比如,通过在暗池自动做市商(AMM)上执行的交易,可能会无意中泄露出该池当前的流动性结构信息。

计算复杂度问题

尽管技术日益进步,全同态加密的计算成本仍旧远高于普通计算,大约高出1000倍至100万倍。这一计算复杂度极大限制了全同态加密在链上应用的处理能力。根据Inco Network的估计,全同态加密操作的处理速度大约在每秒1至5次交易(TPS)之间。不过,借助GPU和FPGA的加速技术,这一处理速度有望提高10至50倍。

来源:https://eprint.iacr.org/2021/1402.pdf

全同态加密系统的理想应用场景

全同态加密技术非常适合那些对组合性要求极高的应用场景:

信息不完全的游戏。扑克等卡牌游戏就是很好的例子,游戏中的卡牌堆状态需要能够被多位玩家共同访问和更改。

私密投票。全同态加密技术能够简化秘密投票系统的构建,使得投票者能够在不知道之前投票结果的情况下改变投票计数。

私有自动做市商(AMM)。利用全同态加密技术,可以通过将资金池的状态设定为加密变量,从而简化私有AMM或私有去中心化金融(DeFi)资金池的建立和管理。

MPC技术应用

在加密领域,多方计算(MPC)技术因其在资产托管方面的应用而广为人知并受到青睐。例如,Fireblocks这样的行业巨头就通过利用MPC技术来实现安全的资产并发托管,建立了成功的商业模式。此外,Coinbase、0xPass等多家钱包即服务提供商也采用了MPC技术,以此来增强钱包的安全性和提升用户体验。

然而,多方计算(MPC)技术的应用远不止于保护私钥。通常情况下,MPC解决了如何在保护输入数据隐私的同时,对这些数据进行计算并仅展示计算结果的问题。在资产托管这一特定场景中,所说的私有输入指的是私钥的若干碎片。这些碎片的持有者协同合作,对这些私有数据进行“计算”,即生成交易签名。通过这种方式,多个参与方共同生成并解密签名,而无需任何一方直接接触私钥本身。

同理,MPC技术也允许在不泄露任何私有数据的前提下,对各类数据进行计算处理。这让MPC在处理区块链环境下的私有状态方面显得尤为重要。例如,它可以用于在保护隐私的数据集上进行去中心化的人工智能(AI)训练。不同的数据所有者和计算服务提供者可以协同进行基于MPC的AI训练,以计算出模型权重。训练结束后,由MPC小组解密计算结果,即模型权重,从而构建出完整的AI模型。

MPC技术的许多实现为数据隐私提供了强大的保护措施,即便是在诚实少数的情况下也能保障隐私,这让它在隐私保护方面与零知识证明(zk)系统不相上下。MPC在某些方面也与全同态加密(FHE)相似,因为它支持在特定私有状态(SPS)上进行计算,从而实现不同组件间的组合性。然而,与FHE相比,MPC存在一些局限性:

  1. 只有MPC小组内的成员才能对数据进行计算处理,组外的任何人都无法参与计算。
  2. 为了确保诚实少数的保证,所有MPC参与方都需要共同协作完成计算任务。这意味着任何MPC小组成员都有可能对计算过程进行干预。虽然通过降低MPC的参与门槛可以在一定程度上缓解这一限制,但这样做的代价是,数据隐私可能会因为少数参与者之间的协作而被破坏。

MPC系统的理想应用场景

暗池集中限价订单簿(CLOBs)

MPC技术在去中心化金融(DeFi)领域的一项创新应用是构建暗池CLOBs。在此系统中,交易者可以在不了解订单簿当前状态的情况下提交限价或市价订单。通过MPC技术处理私有数据——即订单簿,实现订单的匹配。Renegade Financee就是开发此类系统的公司之一。

去中心化的专有AI模型推理

例如,DeFi领域的AI策略管理器或Web 3 信用评分系统,可以通过MPC技术利用专有模型进行数据推理。在此架构中,AI模型的权重保持私密,可以安全地在若干计算节点间共享,每个节点仅持有权重的一部分。这些节点可以合作对链上更新的事件进行AI推理,进而作出决策并提交执行特定DeFi策略的交易。

利用专有数据训练公开AI模型

一个典型的应用是使用私有健康记录来训练医疗诊断AI模型。在这种情况下,模型的创建者、公司和数据所有者(如患者)可以通过MPC合作,在不泄露任何私有数据的前提下进行模型训练。如BittensorNillion 等网络平台支持这样的应用场景。

伪无需权限的共享私有状态

经过精心设计,MPC技术也可以用于管理伪无需权限的共享私有状态(SPS)。例如,一个暗池AMM的状态及其计算过程可以通过多方实体的MPC合作来构建。想要与该AMM进行交互的用户需要将他们的交易信息共享给MPC组,由其代表用户进行计算。这种方法的优势在于,每个SPS可以拥有不同的隐私密钥(与全同态加密技术使用的全局密钥相比)。但这种方法的潜在风险在于MPC小组可能进行审查。尽管如此,通过精心设计的经济激励机制,可以降低这一风险。

竞争还是合作

乍一看,处理链上私密信息的各种技术似乎彼此竞争。但若不考虑开发这些网络的团队背后的经济利益,零知识证明(zk)、全同态加密(FHE)以及多方计算(MPC)实际上是可以互相补充的技术。

从一方面来看,zk技术因为未加密数据永远不会离开用户的设备,所以提供了更加强大的隐私保护。此外,没有用户的许可,任何人都无法对这些数据进行处理。但这种高度的隐私保护牺牲了一定的灵活性和兼容性。

而从另一方面来看,FHE虽然在提高灵活性和兼容性方面表现更佳,但其隐私保护能力较弱。这种隐私风险主要是因为需要信任某个实体或少数几个实体掌握全局FHE解密密钥。尽管存在这种风险,但考虑到兼容性是加密技术的核心要素,FHE在许多关键应用场景下,如去中心化金融(DeFi),能够提供必要的隐私保护。

MPC技术则位于zk和FHE之间,提供了一种独特的平衡方案。MPC允许在共享的私有数据上进行计算,因此比零知识证明提供了更多的灵活性。然而,对这些私有数据的处理仅限于少数参与方,不像FHE那样是完全开放的。

考虑到零知识证明、MPC和FHE在应用领域上的差异,实际操作中常常需要将这些技术结合起来使用。例如,Renegade Finance就通过结合MPC和零知识证明来构建一个既保证参与者有足够资本覆盖其隐秘订单的暗池CLOB。同样,链上扑克游戏zkHoldem结合了零知识证明和FHE技术。

我们预计,未来注重隐私保护的网络平台会将这些技术融合在一起,为开发者提供一套完整的工具箱,使他们能够无缝地构建应用。例如,Aztec可能会在其网络中融合MPC技术来管理共享的私有信息。同理,Inco Network也可能利用零知识证明来实现私有地址和交易历史的隐私保护。

面对这样一个以隐私为核心的未来愿景,Alliance期待支持那些致力于构建这一未来的创业者。如果你在这个领域有所建树,请主动联系并加入 Alliance

声明:

  1. 本文转载自[Alliance],所有版权归原作者[Mohamed Fouda]所有。如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译,除非另有说明,否则禁止复制、分发或抄袭翻译文章。
即刻开始交易
注册并交易即可获得
$100
和价值
$5500
理财体验金奖励!