多方安全计算(MPC, Multi-Party Computation)是密码学中一个极其重要的分支,它允许多个参与方在不泄露各自私密数据的前提下,共同计算一个函数的输出结果。MPC 的演进过程体现了效率、安全性、可扩展性、实际部署性上的逐步突破。
本文将深度讲解 MPC 的发展演变,按时间线+技术阶段+代表协议+应用方向三个维度展开:
timeline
title MPC(多方安全计算)技术演变
1980s - 1990s : 起源探索期<br>Yao 电路、BGW、GMW
2000s : 实用化尝试<br>Sharemind<br>Secret Sharing 应用
2010s : 工程化 & 安全性提升<br>SPDZ、GG18、GG20
2020s : 灵活化发展<br>融合零知识与钱包部署<br> <br>Flexible TSS、<br> <br>CGGMP21、<br> FROST、ZK-MPC
2025+ : 服务化演进<br>MPC as a Service<br>AI + MPC 融合
一、MPC 的起源与初代探索(1980s - 1990s)
1. 起源背景
- 1982 年,姚期智院士 提出了著名的“百万富翁问题”。
- 核心目标:两个富翁比大小,不暴露具体财富数值。
- 引出第一个真正的 MPC 架构:Yao’s Garbled Circuits(混淆电路)
2. 代表协议
| 协议 | 年代 | 安全模型 | 特点 |
|---|---|---|---|
| Yao’s Garbled Circuits | 1986 | 半诚实 | 支持任意二方函数计算,效率较低 |
| BGW 协议(Ben-Or, Goldwasser, Wigderson) | 1988 | 信息论安全,n ≥ 3t+1 | 基于秘密共享(Shamir),适用于多方 |
| CCD 协议(Chaum, Crépeau, Damgård) | 1988 | 同上 | 类似 BGW |
二、实用性探索阶段(2000s)
1. 安全模型扩展
MPC 进入更强的模型探索:
- 半诚实模型(semi-honest)
- 恶意模型(malicious)
- 静态 vs 动态腐败模型
2. 技术突破
- 从复杂的理论协议走向更实际的“可计算”协议
- 提出了更高效的秘密共享方案,如 SPDZ, Sharemind
3. 代表协议
| 协议 | 年代 | 安全性 | 技术核心 | 特点 |
|---|---|---|---|---|
| GMW 协议 | 1987-2000s | 半诚实 | XOR-based Secret Sharing | 支持布尔电路 |
| Sharemind | 2007 | 半诚实 | 3方 secret sharing | 适用于数据分析 |
| SPDZ 系列 | 2012+ | 恶意模型 | MAC + secret sharing | 高效率,广泛用于机器学习场景 |
三、强安全模型 + 高效率阶段(2015s-2020s)
这一阶段的目标是在实际应用中部署 MPC 系统,并追求:
- 在线阶段效率极致优化
- 面向恶意敌手的强安全性
- 支持大规模参与方
- 支持状态持久化 / 签名 / 聚合签名等实际加密功能
1. Threshold Signature(门限签名)
GG18/GG20 系列 是实际可部署的 MPC-TSS(Threshold Signature Scheme)协议,广泛用于 MPC 钱包:
| 协议 | 年代 | 关键点 |
|---|---|---|
| GG18(Gennaro-Goldfeder) | 2018 | 基于 ECDSA 的门限签名 |
| GG20 | 2020 | 多轮优化 + 更强恶意安全 |
| CGGMP21 | 2021 | 低交互、强恶意安全 |
广泛应用:Fireblocks, ZenGo, Coinbase Wallet 等 MPC 钱包
2. Bulletproof + Zero-Knowledge 结合
- 通过 ZKP + MPC 融合,提高参与方对执行状态的可验证性
- 支持更多功能:隐私交易、身份验证
四、现代进展与灵活 MPC(2020s 至今)
1. Flexible TSS (2022+)
- 动态门限(如 2/3 改为 3/4)
- 节点离线自动剔除,支持恢复
2. ZK-MPC 融合架构
将 MPC 与零知识证明融合:
- MPC 计算主流程
- ZK 验证计算过程或参与者行为
- 应用:ZK-rollup 账本更新安全、多方可信身份验证
3. FROST 协议(Schnorr 多方签名,2020+)
- 高效 2 轮签名
- Schnorr signature (兼容 Taproot/比特币)
| 协议 | 特点 |
|---|---|
| FROST | 快速、灵活、简洁,广泛用于 Schnorr 多签场景 |
| ROAST | 针对节点离线鲁棒性优化 |
五、MPC 典型应用方向
| 应用方向 | 示例项目 | 描述 |
|---|---|---|
| MPC 钱包 | Fireblocks、ZenGo、Safeheron | 实现去中心化签名、不暴露私钥 |
| 保密计算 | Sharemind、Oblivious.ai | 对数据隐私保护的数据分析平台 |
| 匿名身份 | ZK Login(Mysten) | 零知识 + MPC 实现基于社交账户的身份系统 |
| 去中心化交易撮合 | Arpa、Oasis | 多方参与的密钥控制与订单撮合 |
六、协议优缺点分析汇总
| 协议/技术 | 优点 | 缺点 |
|---|---|---|
| Yao 电路 | 二方计算通用性强 | 扩展到多方复杂 |
| GMW | 支持布尔电路 | 慢且通信复杂 |
| BGW | 信息论安全 | n ≥ 3t+1 限制大 |
| SPDZ | 支持恶意敌手 | 预处理复杂 |
| GG18/GG20 | 适用于实际签名 | 多轮通信 |
| FROST | 快速签名,低通信 | 只适用于 Schnorr |
| ZK-MPC | 可验证计算,增强隐私 | 架构复杂 |