rwadurian/backend/mpc-system/docs
hailin 747e4ae8ef refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing
- Remove Address field from PartyEndpoint (parties connect to router themselves)
- Update K8s Discovery to only manage PartyID and Role labels
- Add Party registration and SessionEvent protobuf definitions
- Implement PartyRegistry and SessionEventBroadcaster domain logic
- Add RegisterParty and SubscribeSessionEvents gRPC handlers
- Prepare infrastructure for party-driven MPC coordination

This is the first phase of migrating from coordinator-driven to party-driven
architecture following international MPC system design patterns.
2025-12-05 08:11:28 -08:00
..
01-architecture.md refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
02-api-reference.md refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
03-development-guide.md refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
04-testing-guide.md refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
05-deployment-guide.md refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
06-tss-protocol.md refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
IMPLEMENTATION_SUMMARY.txt refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
MPC_FINAL_VERIFICATION_REPORT.txt refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
MPC_SYSTEM_VERIFICATION.md docs(mpc-system): add comprehensive verification report for HTTP and gRPC protocols 2025-12-04 23:33:58 -08:00
README.md refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00

README.md

MPC 分布式签名系统文档

文档目录

文档 说明 适用读者
01-architecture.md 系统架构设计 架构师、技术负责人
02-api-reference.md API 接口文档 后端开发、前端开发、集成工程师
03-development-guide.md 开发指南 后端开发
04-testing-guide.md 测试指南 测试工程师、开发人员
05-deployment-guide.md 部署指南 运维工程师、DevOps
06-tss-protocol.md TSS 协议详解 密码学工程师、安全研究员

快速开始

1. 环境要求

  • Go 1.21+
  • Docker 20.10+
  • Docker Compose 2.0+

2. 本地运行

# 克隆项目
git clone https://github.com/rwadurian/mpc-system.git
cd mpc-system

# 安装依赖
make init

# 启动服务
docker-compose up -d

# 运行测试
make test

3. 验证安装

# 健康检查
curl http://localhost:8080/health

# 运行集成测试
go test -v ./tests/integration/... -run "TestFull2of3MPCFlow"

系统概览

┌─────────────────────────────────────────────────────────────────────┐
│                    MPC 分布式签名系统                                │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│   ┌──────────────┐    ┌──────────────┐    ┌──────────────┐         │
│   │   Account    │    │   Session    │    │   Message    │         │
│   │   Service    │───►│  Coordinator │───►│    Router    │         │
│   │   账户管理    │    │   会话协调    │    │   消息路由    │         │
│   └──────────────┘    └──────────────┘    └──────────────┘         │
│          │                   │                    │                 │
│          │                   ▼                    │                 │
│          │           ┌──────────────┐             │                 │
│          │           │ Server Party │◄────────────┘                 │
│          │           │  ×3 实例     │                               │
│          │           │  TSS 计算    │                               │
│          │           └──────────────┘                               │
│          │                   │                                      │
│          ▼                   ▼                                      │
│   ┌─────────────────────────────────────────────────────────┐      │
│   │                   PostgreSQL + Redis                     │      │
│   └─────────────────────────────────────────────────────────┘      │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘

核心功能

阈值签名支持

方案 密钥生成 签名 状态
2-of-3 3 方 任意 2 方 已验证
3-of-5 5 方 任意 3 方 已验证
4-of-7 7 方 任意 4 方 已验证

安全特性

  • ECDSA secp256k1 (以太坊/比特币兼容)
  • 密钥分片 AES-256-GCM 加密存储
  • 无单点密钥暴露
  • 门限安全性保证

测试报告

最新测试结果:

=== 2-of-3 MPC 流程测试 ===
✅ 密钥生成: PASSED (92s)
✅ 签名组合 0+1: PASSED
✅ 签名组合 0+2: PASSED
✅ 签名组合 1+2: PASSED
✅ 安全性验证: PASSED

=== 3-of-5 MPC 流程测试 ===
✅ 密钥生成: PASSED (198s)
✅ 5 种签名组合: ALL PASSED

=== 4-of-7 MPC 流程测试 ===
✅ 密钥生成: PASSED (221s)
✅ 多种签名组合: ALL PASSED
✅ 安全性验证: 3 方无法签名

技术支持

  • 问题反馈: GitHub Issues
  • 文档更新: 提交 PR 到 docs/ 目录

版本历史

版本 日期 更新内容
1.0.0 2024-01 初始版本,支持 2-of-3
1.1.0 2024-01 添加 3-of-5, 4-of-7 支持