Skip to content

Phase 91 — 隐私计算框架设计

版本: v4.2.0 创建日期: 2026-03-10 状态: ✅ 已实现 (v4.2.0)


一、模块概述

Phase 91 实现隐私计算框架,集成联邦学习、安全多方计算(MPC)、差分隐私和同态加密四大隐私保护技术。在数据不出域的前提下实现多方协作计算和模型训练,为去中心化AI和隐私数据分析提供底层能力。

1.1 核心目标

  1. 联邦学习: 多节点协作训练AI模型,原始数据不离开本地,仅交换梯度/参数
  2. 安全多方计算: 多参与方联合计算函数结果,任一方无法获取其他方的输入数据
  3. 差分隐私: 对发布数据添加校准噪声,提供数学可证明的隐私保护
  4. 同态加密: 在密文上直接执行计算,返回加密结果,服务端零知识

1.2 技术架构

┌──────────────────────────────────────────────────────────┐
│            Privacy Computing Framework (Phase 91)         │
│                                                           │
│  ┌──────────────────────┐  ┌───────────────────────────┐ │
│  │  FederatedLearning    │  │  MPCEngine                │ │
│  │  模型聚合+梯度交换   │  │  秘密分享+安全求和        │ │
│  │  异步训练+容错       │  │  Shamir/Beaver三元组      │ │
│  └──────────────────────┘  └───────────────────────────┘ │
│  ┌──────────────────────┐  ┌───────────────────────────┐ │
│  │  DifferentialPrivacy  │  │  HomomorphicEncryption    │ │
│  │  Laplace/高斯噪声    │  │  Paillier/BFV方案         │ │
│  │  隐私预算(ε)管理     │  │  密文计算+结果解密        │ │
│  └──────────────────────┘  └───────────────────────────┘ │
│  ┌──────────────────────────────────────────────────────┐ │
│  │       Privacy Computing IPC Layer (8 handlers)        │ │
│  └──────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────┘

二、核心模块设计

2.1 PrivacyComputing (crypto/privacy-computing.js)

隐私计算核心框架。

常量:

  • FL_STATUS: INITIALIZING, TRAINING, AGGREGATING, COMPLETED, FAILED
  • MPC_PROTOCOL: SHAMIR, BEAVER, GMW
  • DP_MECHANISM: LAPLACE, GAUSSIAN, EXPONENTIAL
  • HE_SCHEME: PAILLIER, BFV, CKKS

核心方法:

  • initialize() — 初始化隐私计算框架,加载模型和计算配置
  • federatedTrain({ modelId, localData, participants, rounds, learningRate }) — 启动联邦学习训练轮次(本地训练+梯度上传+聚合下载)
  • mpcCompute({ computation, participants, inputs, protocol }) — 执行安全多方计算(秘密分享+安全聚合)
  • dpPublish({ data, epsilon, delta, mechanism }) — 差分隐私发布(添加校准噪声后输出数据)
  • heQuery({ encryptedData, operation, scheme }) — 同态加密查询(密文上执行加法/乘法运算)
  • getPrivacyReport() — 获取隐私报告(隐私预算消耗、各技术使用统计、合规状态)
  • configure({ flConfig, mpcConfig, dpConfig, heConfig }) — 配置各隐私技术参数
  • getModelStatus(modelId) — 查询联邦学习模型状态(训练轮次、参与方、准确率)
  • exportModel({ modelId, format }) — 导出训练完成的联邦学习模型

三、核心文件

文件路径说明
src/main/crypto/privacy-computing.js隐私计算核心(联邦学习、MPC、差分隐私、同态加密)
src/main/crypto/privacy-computing-ipc.jsIPC接口层(8个handler)
src/renderer/stores/privacyComputing.tsPinia Store — 模型列表、计算记录、隐私报告
src/renderer/pages/PrivacyComputingPage.vue前端页面 — 联邦学习/MPC/差分隐私/同态加密

四、数据库设计

sql
-- Phase 91: Federated Learning Models
CREATE TABLE IF NOT EXISTS fl_models (
  id TEXT PRIMARY KEY,
  name TEXT NOT NULL,
  model_type TEXT,
  architecture TEXT,
  status TEXT DEFAULT 'initializing',
  current_round INTEGER DEFAULT 0,
  total_rounds INTEGER,
  participant_count INTEGER DEFAULT 0,
  accuracy REAL DEFAULT 0.0,
  loss REAL,
  learning_rate REAL DEFAULT 0.01,
  aggregation_strategy TEXT DEFAULT 'fedavg',
  model_weights BLOB,
  privacy_budget_spent REAL DEFAULT 0.0,
  created_at INTEGER,
  updated_at INTEGER
);

-- Phase 91: MPC Computations
CREATE TABLE IF NOT EXISTS mpc_computations (
  id TEXT PRIMARY KEY,
  computation_type TEXT NOT NULL,
  protocol TEXT DEFAULT 'shamir',
  participant_count INTEGER,
  participant_ids TEXT,
  result_hash TEXT,
  status TEXT DEFAULT 'pending',
  shares_received INTEGER DEFAULT 0,
  shares_required INTEGER,
  computation_time_ms REAL,
  error_message TEXT,
  created_at INTEGER,
  completed_at INTEGER
);

五、IPC接口设计

Privacy Computing IPC (8 handlers)

通道说明
privacy:federated-train联邦学习训练
privacy:mpc-compute安全多方计算
privacy:dp-publish差分隐私发布
privacy:he-query同态加密查询
privacy:get-privacy-report获取隐私报告
privacy:configure配置隐私参数
privacy:get-model-status查询模型状态
privacy:export-model导出训练模型

六、前端集成

Pinia Store

  • privacyComputing.ts — 模型列表、训练进度、MPC记录、隐私预算、报告数据

Vue Page

  • PrivacyComputingPage.vue — 联邦学习管理/MPC计算/差分隐私发布/同态加密查询/隐私报告

Route

  • /privacy-computing — 隐私计算框架

七、配置选项

javascript
privacyComputing: {
  enabled: false,
  federatedLearning: {
    maxRounds: 100,
    minParticipants: 3,
    aggregationStrategy: 'fedavg',
    secureAggregation: true,
  },
  mpc: {
    defaultProtocol: 'shamir',
    timeoutMs: 30000,
    maxParticipants: 10,
  },
  differentialPrivacy: {
    defaultEpsilon: 1.0,
    defaultDelta: 1e-5,
    maxBudget: 10.0,
    mechanism: 'laplace',
  },
  homomorphicEncryption: {
    defaultScheme: 'paillier',
    keySize: 2048,
  },
},

八、测试覆盖

  • 测试文件: src/main/crypto/__tests__/privacy-computing.test.js
  • 测试数量: 19 tests
  • 覆盖范围:
    • 联邦学习(模型初始化/本地训练/梯度聚合/多轮训练/参与方退出容错)
    • 安全多方计算(Shamir秘密分享/安全求和/门限不足/协议超时)
    • 差分隐私(Laplace噪声/高斯噪声/隐私预算耗尽/ε校验)
    • 同态加密(密文加法/密文乘法/解密验证/方案不支持)
    • 隐私报告(预算统计/合规检查)
    • 模型导出(有效模型/训练中模型/不存在模型)

九、Context Engineering

  • step 5.4: setPrivacyComputingContext() — 注入隐私计算上下文

基于 MIT 许可发布