了解多方计算 (MPC) 如何在不泄露私有数据的情况下实现安全协作。了解其发展历程、安全模型和应用场景。
目录
多方计算(MPC)是密码学的一个子领域,专注于安全计算,它允许多个参与者在对个人数据保密的情况下进行计算。每个参与者只能看到最终结果,而看不到其他参与者的输入。MPC 结合了用于计算、验证(检测作弊)和隐私保护的密码协议。
想象一下,三家公司需要计算它们的平均收入,但彼此不能透露实际数字。MPC 允许它们计算平均值,每家公司只能看到最终结果,而看不到其他公司的收入。
零知识证明(ZKP)和多方计算(MPC)都属于隐私保护密码学范畴,但它们的用途却截然不同。ZKP 允许参与方在不泄露秘密的情况下证明其知晓该秘密(例如,在不泄露任何敏感凭证的情况下证明身份),即使在多方参与的情况下也是如此。而 MPC 则允许多方在不暴露输入数据的情况下,共同计算基于其私有输入的函数。
多方计算的关键突破在于,各方可以在不向任何人透露数据的情况下协作进行计算。
多方计算(MPC)作为密码学中的一个理论概念,于 20 世纪 80 年代出现,但其实际应用却历经数十年才得以实现。以下是其发展历程中的关键里程碑——从姚氏混淆电路等早期协议到现代区块链集成。该时间线突显了 MPC 如何从学术研究过渡到现实世界的隐私解决方案。

多方计算通过数学保证来确保输入隐私。该协议在数学上防止参与者获知其他参与者的输入,同时仍然允许对这些输入进行计算。
没有哪个单一方掌握所有数据或控制计算过程。多方计算的安全性源于信任在多个参与者之间的分散,使其能够抵御单个参与者的攻击。
那么,这一切为什么如此重要呢?让我们来探讨一下为什么多方计算对当今的隐私需求至关重要。
模型计算(MPC)解决了数据隐私领域的一个特定问题:如何在不泄露敏感数据的情况下进行计算。这之所以重要,原因有以下几点:
1.数据隐私法:组织在分析数据时必须遵守《通用数据保护条例》( GDPR ) 和《加州消费者隐私法案》( CCPA ) 等法规。2 .跨组织协作:公司可以在不共享机密信息的情况下开展合作。3 .单点故障:传统的将数据收集和集中存储在单一位置的系统会带来安全风险。4 .信任最小化:多方计算 (MPC) 消除了对单一可信第三方的依赖。例如,组织可以在不共享原始数据的情况下进行协作,加密系统(例如零知识证明 (ZKP) 可信设置)可以在没有中央机构的情况下安全地生成公共参数。
但MPC是如何抵御潜在威胁的呢?让我们来看看它背后的安全模型。
在多方计算(MPC)协议中,“攻击者”指的是试图破坏协议安全性的参与者(或参与者群体)。攻击者是系统中的恶意行为者。他们可能是:
因此,MPC协议的设计围绕着两个基本问题展开:
这些问题定义了该协议对串谋的抵抗力(例如,多个腐败方秘密共享数据以侵犯隐私)以及其处理对抗行为(如窃听(拦截消息以推断私人输入)或破坏(故意扰乱计算))的能力。
安全模型描述了这些攻击者可能采取的行动以及协议如何防御这些行动。多方计算中的一些主要安全模型包括:
它的含义:
半诚实安全模型假设攻击者遵循协议规则,但试图从交换的消息中推断出私密信息。能够抵御半诚实攻击者的协议(称为半诚实安全协议)确保即使攻击者被动地分析协议交互,也无法推断出私密输入。
工作原理:
半诚实安全协议使用诸如混淆电路和秘密共享方案(稍后讨论)之类的密码学原语,以确保任何一方都无法在未经合作(例如,获得足够的秘密份额)的情况下重构私有数据。
使用案例:
半诚实安全机制的优势:
它的含义:
恶意安全模型假设攻击者可以任意偏离协议:发送虚假输入、篡改计算或提前中止以破坏结果。而恶意安全协议则保证即使部分参与方作弊,也能确保隐私性和正确性,从而保证输出有效且输入保密。
工作原理:
这种恶意安全协议包含额外的加密验证步骤(例如,零知识证明、选择性验证、经过认证的秘密共享消息认证码),能够从数学上检测并防止作弊。它强制参与方在每个步骤中证明他们正确地遵循了协议,从而保证了输入隐私和计算完整性,即使面对主动攻击者也能有效防御。
使用案例:
恶意安全防护的优势:
其他安全模型,如隐蔽安全,在半诚实安全和恶意安全之间提供了一种中间立场,但这两种是应用最广泛的。
这些安全模型定义了协议如何应对攻击者。让我们来看看决定其实现方式的设置:
现在,让我们来探讨一下秘密共享如何实现安全计算 。
秘密共享允许将一个秘密分成多个部分,称为“份额”,其中:
在阈值秘密共享方案中:
举个实际例子,请看下面沙米尔分享的秘密。
1.沙米尔的秘密分享
例如,在五分之三的评分方案中:
这就像拼图游戏:你需要一定数量的碎片(“阈值”)才能解开谜题,但单个碎片本身毫无用处 。
2.加性秘密共享
例如:如果秘密数字是 10,则份额可以是 3、5 和 2(3 + 5 + 2 = 10)。必须将所有份额组合起来才能恢复秘密数字。
与存储单个私钥的传统加密货币钱包不同,MPC钱包将密钥生成和签名过程分散到多个独立方。当用户签署交易时,这些参与方会使用加密协议协同工作来生成签名,而无需访问完整的私钥。
这种方法消除了传统钱包中存在的单点故障。私钥不再集中存储在一个位置,因此不存在被盗或丢失的风险。即使某个设备遭到入侵,资金仍然安全,因为攻击者必须同时入侵多个设备。此外,这种安全模型还允许用户添加或移除设备、设置多重授权等,从而实现更灵活的密钥管理。
MPC钱包的示例包括:
MPC钱包使用阈值签名,其中:
例如:在三方二合一的门槛机制中,必须有两方合作才能签署——单方不能签署。
多重签名钱包需要多个私钥;每个参与方都持有自己的完整密钥并独立签名。相比之下,MPC钱包使用秘密共享技术将单个私钥拆分成多个份额。任何参与方都不持有完整的密钥,必须协作才能生成单个签名。最终生成的是一个标准的数字签名,其功能与区块链上的任何其他签名相同。
既然我们已经了解了MPC钱包的工作原理,接下来让我们探讨一下它们更广泛的应用——包括现在和未来的应用。
MPC 为区块链钱包中的加密货币提供安全的密钥管理:
MPC使组织能够在不暴露单个输入数据的情况下,从共享数据中获取洞察。例如:
MPC 无需共享原始数据即可实现协同 AI 训练:
MPC 为加密系统(例如,ZKP 可信设置)生成安全参数,确保任何一方都无法获知敏感参数:
多方计算的核心优势在于能够在不泄露数据的情况下实现协作,这可以满足一些需要保密领域的复杂需求。例如:
多方计算从20世纪80年代的理论概念发展成为如今解决实际隐私挑战的实用技术。它能够在不泄露隐私的情况下处理敏感数据,为各行各业开辟了新的可能性,从帮助医院开展医学研究合作到实现更安全的加密货币钱包,无所不包。
虽然多方计算(MPC)并非解决所有隐私问题的万能方案,但它确实能够让多方在不直接共享数据的情况下进行协作。随着隐私问题日益突出,监管也日趋严格,MPC在实现安全协作方面的作用可能会变得更加关键。
原文:https://www.cyfrin.io/blog/multi-party-computation-secure-private-collaboration
免责声明:本文为c2e Labs的第三方内容,仅供信息分享与传播之目的,不代表我们的立场或观点且不构成任何投资及应用建议。版权归原作者或来源方所有,如内容或素材有所争议请和我们取得联系。