一文入门MPC钱包(干货分享)
一文入门MPC钱包(干货分享)
- 微信公众号:密码应用技术实战
- 博客园首页:https://www.cnblogs.com/informatics/
- GitHub地址:https://github.com/warm3snow
引言
随着区块链技术的发展,传统钱包在安全性和易用性方面面临挑战。MPC(Multi-Party Computation,安全多方计算)钱包通过密码学手段实现私钥的分布式管理,解决了单点故障和私钥管理复杂等问题。
一、背景与核心概念
1.1 传统钱包痛点
- 单点故障风险:私钥泄露或丢失导致资产损失
- 管理复杂:助记词保管困难,技术门槛高
- 恢复困难:丢失助记词后资产无法找回
1.2 MPC钱包
MPC由姚期智院士1982年提出,核心思想是多方在不泄露各自私有数据的前提下协同计算。MPC依赖于多种密码技术,其中TSS(Threshold Signature Scheme,阈值签名)是MPC钱包的核心技术。 MPC钱包主要应用在以下场景:
企业级资产管理:
- 多层级权限控制和审批流程
- 实时AML/KYT监控和合规报告
- 企业级安全认证和审计追踪
个人高端用户:
- 无需记忆助记词,支持社交恢复
- 跨设备资产访问,增强安全性
- 抗单点攻击,高级加密保护
DeFi与Web3应用:
- 多链兼容,快速适配新兴公链
- 与DeFi协议深度集成
- 智能Gas费优化,批量交易支持
二、MPC钱包架构
2.1 整体架构
2.2 参与方分布
三、核心技术原理
MPC钱包的核心技术包括分布式密钥生成(DKG)、阈值签名(TSS)。这些技术共同实现了私钥的安全生成和签名计算。
3.1 分布式密钥生成(DKG)
DKG(Distributed Key Generation)是MPC钱包的核心技术之一。它采用去中心化的方式,允许多个参与方共同生成一个私钥的分片,而无需任何单一方掌握完整的私钥。解决了单点故障和信任问题。
在多参与方密钥生成中,主要用到了两种密码技术:秘密分享(Secret Sharing)和可验证秘密分享(VSS)技术。
3.1.1 秘密分享
Shamir秘密分享是一种基于多项式插值的秘密分享方案,能够将秘密分散到多个参与方中,是DKG使用的底层密码技术之一。
核心原理:\(t\)个点可以唯一确定一个\(t-1\)次多项式
对于\((t,n)\)阈值方案,构造多项式:
其中:
- \(s\) = 秘密值
- \(a_1, a_2, \ldots, a_{t-1}\) 为随机系数
- \(p\) 为大素数
秘密恢复使用拉格朗日插值:
3.1.2 可验证秘密分享(VSS)
可验证秘密分享(VSS)确保参与方可以验证收到的分片是正确的,防止恶意参与方提供错误分片。主要有两种实现方式:
- Feldman VSS验证: 使用承诺和验证机制,确保分片的有效性。
- Pedersen VSS:使用Pedersen承诺提供更强隐私保护。
Feldman VSS验证:
对于分片\((i, s_i)\),验证:
其中\(C_j = g^{a_j}\)为多项式系数的承诺。
Pedersen VSS:
使用Pedersen承诺\(C_j = g^{a_j}h^{b_j}\)提供更强隐私保护。
3.1.3 DKG流程
密钥生成根据有无Dealer,我们可以分为中心化模式和DKG无中心模式。
传统中心化方式:有Dealer
DKG方式:无Dealer
两种方式对比:
| 对比维度 | Dealer模式 | 分布式DKG |
|---|---|---|
| 信任假设 | 需要信任Dealer | 无需可信第三方 |
| 单点故障 | Dealer是单点故障 | 无单点故障 |
| 计算复杂度 | 低(仅Dealer计算),高效简单 | 高(所有方参与),计算复杂 |
| 通信轮数 | 1轮(单向分发),通信成本低 | 4-5轮(多轮交互),通信开销大 |
| 隐私保护 | Dealer知道完整私钥,隐私风险 | 无人知道完整私钥,隐私保护 |
| 验证机制 | 简单验证 | VSS复杂验证 |
| 适用场景 | 受信任环境 | 零信任环境 |
| 安全性 | 依赖Dealer诚实性,信任依赖 | 密码学保证,零信任 |
- Dealer模式优点:高效简单、通信成本低
- Dealer模式缺点:信任依赖、单点故障、隐私风险
- 分布式DKG优点:零信任、无单点故障、隐私保护
- 分布式DKG缺点:计算复杂、通信开销大
3.2 阈值签名方案(TSS)
TSS: 阈值签名方案(Threshold Signature Scheme),允许多个参与方使用密钥分片共同计算签名,而无需重构完整私钥。TSS是MPC钱包的核心技术。
3.2.1 TSS核心挑战
传统ECDSA签名原理:
ECDSA是区块链领域最主流的签名算法之一, 主要应用在比特币、以太坊等公链上。其签名和验证过程如下:
-
密钥生成:用户生成私钥\(x\),并计算公钥\(Q = xG\),其中\(G\)为椭圆曲线基点。
-
签名步骤:
- 选择随机数\(k\)(每次签名都需全新随机,防止私钥泄露)。
- 计算椭圆曲线点\(R = kG\),取\(x\)坐标\(r = R.x \bmod n\)。
- 计算消息哈希\(e = H(m)\),其中\(m\)为待签名消息。
- 计算签名值:$$s = k^{-1}(e + r x) \bmod n$$
- 签名结果为\((r, s)\)。
-
验证过程:
- 校验\(r, s\)在有效范围内。
- 计算\(w = s^{-1} \bmod n\),\(u_1 = e w \bmod n\),\(u_2 = r w \bmod n\)。
- 计算点\(P = u_1 G + u_2 Q\),若\(P.x \bmod n = r\)则签名有效。
参数说明:
- \(k\):每次签名独立生成的随机数,极其重要,泄露或复用会导致私钥暴露。
- \(e\):消息哈希值,确保签名与消息唯一绑定。
- \(x\):用户私钥,仅本人持有。
- \(r\):由随机数生成的椭圆曲线点的\(x\)坐标,作为签名的一部分。
TSS核心挑战:
- 如何分布式计算公共\(r\)值
- 如何处理除法运算\(k^{-1}\)
- 如何防止各种密码学攻击
3.2.2 TSS技术框架
3.2.3 主流TSS方案
主流TSS方案发展脉络图
- GJK96:最早的门限签名方案,后续方案都是以GJK96为基础,在门限最优、高效性、可审计等方面进行设计和改进。
- GG18/GG20/CMP20/CGGMP21:基于MtA协议,MtA(Multiplication to Addition)是目前ECDSA门限签名最主流的实现方式。
- DKLS18/DKLS20:基于OT协议的门限签名方案,支持多方参与,具有较好的安全性和效率。
- LNR18:基于Private Multiplication协议的门限签名方案,主要用于私有乘法计算。
四、MPC钱包伪代码
4.1 DKG密钥生成
def dkg_protocol(participants, threshold):
# 每方生成多项式和承诺,广播承诺
for i in participants:
coeffs = gen_random_coeffs(threshold)
commitments = commit_coeffs(coeffs)
broadcast(commitments)
# 分发分片,验证分片
for i in participants:
shares = distribute_shares(coeffs)
verify_shares(shares, commitments)
# 计算最终分片
final_shares = aggregate_shares(shares)
return final_shares
4.2 TSS门限签名
def tss_sign_protocol(message, private_shares, participants, threshold):
# 预签名阶段,生成随机数分片并广播
k_shares = gen_random_shares(threshold)
broadcast(k_shares)
# 收集分片,计算公共R值
R = aggregate_R(k_shares)
r = get_r(R)
# 分布式计算s分片
s_shares = compute_s_shares(message, r, private_shares)
broadcast(s_shares)
# 聚合签名
s = aggregate_s(s_shares)
return (r, s)
4.3 签名验证伪代码
def verify_signature(message, signature, public_key):
r, s = signature
# 按ECDSA标准验证
return check_signature(message, r, s, public_key)
五、MPC钱包市场现状与发展趋势
5.1 主要厂商
| 厂商 | 类型 | 特点 | 市场定位 |
|---|---|---|---|
| Fireblocks | 企业级托管 | $25B+ AUM,机构客户 | 托管服务领导者 |
| ZenGo | 消费级非托管 | 700K+用户,社交恢复 | 消费级先驱 |
| Safeheron | 开源基础设施 | SDK/API,开源协议 | 技术解决方案 |
| Binance | 交易所集成 | 平台内置MPC | 交易所应用 |
5.2 技术发展方向
算法优化:更高效的TSS方案、抗量子攻击算法、轻量级MPC协议
标准化进程:IEEE标准制定、行业最佳实践、互操作性标准
生态集成:DeFi深度整合、跨链互操作、Web3基础设施
六、总结
随着密码学技术发展和工程实现优化,MPC钱包将成为Web3时代数字资产管理的重要解决方案。对企业而言提供专业级安全保障,对个人用户而言降低使用门槛。未来需要关注算法优化、标准化进程和生态建设,确保技术健康可持续发展。
参考文献:
- Numen Cyber Labs - 《一文读懂 MPC 钱包技术原理》
- Safeheron官方博客 - 《什么是MPC(安全多方计算)钱包?》
- Binance Academy - 《什麼是多方運算 (MPC) 錢包?》
- Wikipedia - 《Threshold cryptosystem》

浙公网安备 33010602011771号