跳到主要内容

支持的业务场景

为了帮助开发者更好的理解 SMN 产品套件功能,我们列举了 SMN 产品套件支持的典型业务场景,SMN 产品套件支持并且不限于以下业务场景。

Keyless 钱包

基于 SMN 产品套件您可以轻松构建类似 Zengo Wallet 或者 OKX Web3 Wallet 的 Keyless 钱包。

应用架构

  • 开发者在客户端和服务端集成 SMN
  • 开发者开发自己的 App 和后端服务,集成用户管理、区块链、钱包管理等能力

核心流程

以 2/2 MPC-TSS 门限 Keyless 钱包为例:

  • 用户通过 Email/Social Login 注册或者登录钱包,并配置 MFA,如服务端人脸验证或者一次性密码
  • 应用端和开发者服务端进行 MPC Keygen,分别在本地生成并持有一个私钥分片,签名时使用 Key share 1 和 Key share 2 进行签名
  • 钱包创建完成后,开发者服务端保存一个 encryption key,将该密钥下发至应用端,应用端使用该密钥加密 Key share 2,并且将加密后的数据保存到用户控制的云端存储,如 Google Drive、iCloud 等
  • 用户更换设备时,通过 Email/Social Login 登录后,验证 MFA,验证通过后将 encryption key 下发至应用端,应用端从用户云端存储获取加密后的 Key share 2,在应用端解密恢复 Key share 2,解密后删除 encryption key

以 2/3 MPC-TSS 门限 Keyless 钱包为例:

  • 用户通过 Email/Social Login 注册或者登录钱包,并配置 MFA,如服务端人脸验证或者一次性密码
  • 应用端和开发者服务端进行 MPC Keygen,开发者服务端生成 Key share 1,应用端生成 Key share 2 和 Key share 3 两个私钥分片,签名时使用 Key share 1 和 Key share 2 进行签名
  • 钱包创建完成后,开发者服务端保存一个 encryption key,将该密钥下发至应用端,应用端使用该密钥加密 Key share 3,并且将加密后的数据保存到用户控制的云端存储,如 Google Drive、iCloud 等,上传成功后删除应用端中的 Key share 3
  • 用户更换设备时,通过 Email/Social Login 登录后,验证 MFA,验证通过后将 encryption key 下发至应用端,应用端从用户云端存储获取加密后的 Key share 3,在应用端解密恢复 Key share 3,解密后删除 encryption key
  • 应用端使用 Key share 3 和开发者服务端执行 MPC Recover 协议,在应用端恢复 Key share 2,恢复成功后删除本地 Key share 3

中心化资管平台

基于 SMN 产品套件您可以轻松构建中心化托管平台,通过 MPC 技术去除服务端私钥单点问题,通过 TEE 技术加强安全防护。

应用架构

  • 开发者根据自己的业务场景选择 MPC-TSS 门限,比如使用 2/3 或者 3/3 门限,开发者部署三个 smn-service 集群,分别为三个 MPC 计算参与方,通过开发者自己的 MPC Key Management Service 调度三个参与方
  • 开发者通过安全风控服务保证三个 MPC 计算方能够独立验证请求的合法性,以确保私钥分片使用安全
  • 开发者根据内部管理模式,决定如何分权管理 smn-ca 以及 smn-service 集群,践行最小化权限和职责分离原则

核心流程

  • 通过 MPC Key Management Service 协调多个 Cosigner 完成私钥分片生成、签名以及定期刷新
  • MPC Key Management Service 提前生成私钥分片,向业务方提供查询公钥、发起签名等 API
  • 在执行签名敏感操作调用时,Cosigner 需要在执行操作前向安全风控服务求证请求是否合法,避免 MPC Key Management Service 被攻击造成的单点风险
  • 安全风控服务应该在业务流程关键链路中卡点,并检查前置依赖业务动作是否存在

自托管平台

基于 SMN 产品套件您可以轻松构建类似 Safeheron 的协同托管平台,资产控制权完全由客户控制。

应用架构

  • 以 3/3 门限为例,开发者管理云端两个 Cloud Cosigner,管理其中的两个私钥分片,第三个私钥分片由客户管理
  • 开发者开发自己的 App 和后端服务,集成用户管理、区块链、钱包管理、交易引擎、策略引擎等能力

核心流程

以 3/3 MPC-TSS 门限为例:

  • 创建团队时执行 MPC Keygen 协议,分别在云端两个 Cloud Cosigner 和客户团队创建者设备中生成三个私钥分片
  • 当添加具有签名权限的成员时,团队创建者和云端 Cloud Cosigner 执行 MPC Refresh 协议,分别在云端两个 Cloud Cosigner 和创建者设备中生成三个新的私钥分片,和老的私钥分片对应相同的扩展公钥。团队创建者通过安全的方式将新生成的私钥分片传输给新成员,并删除本地新成员的私钥分片
  • 发送交易时,由策略引擎中的客户配置的策略决定交易审批流程和最终执行签名的用户,最终签名交易时由最终执行签名的用户和云端 Cloud Cosigner 执行 MPC Sign 协议