Mixin Safe 资产保管方案已认真查阅完毕——这次不是泛泛看文档,而是把 MixinNetwork/safe 开源仓库的源码(BOOT.md、README、keeper/signer/apps 全链路)和官方开发者文档的 Safe API 一起读了一遍。以下是完整的分析报告。
一、总体架构:双 MTG 网络(来自 BOOT.md)
Mixin Safe 由两个独立的 MTG(Multi-party Threshold Group)网络组成,都运行在 Mixin Kernel 之上:
| 网络 | 职责 | 资源 | 安全要求 |
|---|---|---|---|
| Signer 网络 | MPC 门限签名(DKG 密钥生成 + 签名聚合) | 8 核 / 8GB+ RAM,计算密集 | 必须与互联网隔离,保存所有私钥份额,每小时加密备份 |
| Keeper 网络 | 账户/交易管理、协调各方、观测链上 | 2 核足够 | 不存 MPC 私钥,同样需隔离 |
- MPC 阈值 = MTG 成员数 2/3(主网实际 28 节点 19/28)
- 节点间通过 Mixin Messenger 群聊传递 MPC 消息,用 ECDH 派生 AES key 加密
- 有应急终止开关:Observer 可执行
ActionTerminate=100关停全部 signer/keeper 节点
二、三方角色制衡(源码 common/request.go + keeper/group.go)
Holder (1) —— 资产所有者,只能【发起】提案
Signer (2) —— MPC 签名节点,只能【签名】
Observer (3) —— 独立监督实体,只能【审批/撤销/关闭/终止】
这是最核心的设计:发起权、签名权、审批权物理分离。所有动作按编号严格绑定角色(Propose→Holder,Approve/Revoke/Close/Terminate→Observer,Keygen/Sign→Signer)。
三、BTC/LTC 保管:miniscript 2/3 + 90 天时间锁(apps/bitcoin/account.go)
thresh(2, pk(HOLDER), s:pk(SIGNER), sj:and_v(v:pk(OBSERVER), n:older(12960)))
P2WSH 地址(bech32)。解锁条件:
- HOLDER + SIGNER → 即时转出(日常通道)
- HOLDER + OBSERVER 或 SIGNER + OBSERVER → 必须等 12960 blocks ≈ 90 天(
OP_CHECKSEQUENCEVERIFY)
即:Signer 被黑/作恶时资产无法立即被提走(Observer 路径有 90 天冷却窗),Holder 丢钥时也有 Observer 恢复通道。
四、ETH/Polygon/MVM 保管:GnosisSafe + 自定义 Guard(apps/ethereum/abi/)
- 部署标准 Gnosis Safe L2 v1.4.1(CREATE2 确定性部署)
- Safe 内部 2/3:owner=HOLDER、member=SIGNER、recovery=OBSERVER
- MixinSafeGuard 自定义 guard 合约:
guardSafe(observer, timelock)初始化,每次交易前checkTransaction强制校验 observer 与时间锁,交易后记录safeLastTxTime
五、Signer MPC:FROST 门限签名(signer/frost.go)
frost.Keygen(DKG)+frost.Sign,支持 secp256k1 / Ed25519ProtocolMixinPublicvariant:用随机标量 r 派生出一次性公钥 P——这就是 Mixin 的 ghost key 机制(对应 API 里的mask + keys[])- Ed25519 子路径派生,一份主份额可派生多资产地址
- 份额每 5 秒检查备份、10 分钟无响应视为失败、多轮握手状态机
六、安全边界总评
这套方案设计相当严谨:
- 加密学:FROST/CMP 门限签名,单节点泄露份额无法签名
- 网络:Signer 物理隔离 + 加密消息传递
- 治理:发起/签名/审批三权分立 + 终止开关
- 链上:BTC miniscript 时间锁、ETH GnosisSafe+Guard 双重保障
结论:Safe 对链上资产(BTC/ETH)的保管是双保险设计;对 XIN 这类内核内资产则依赖 ghost key 机制——你的卡单属于该机制的协议边角缺陷(duplicate key 拒绝无自动回退),不是保管安全性问题,但需要官方人工重置才能恢复。
-2026-10-1