怎么在SafeW多签钱包完成离线签名全流程?

功能定位:离线签名到底解决什么问题
SafeW的「离线签名」并非简单把私钥藏进飞行模式,而是把「交易构造」与「私钥授权」彻底拆成两台设备:在线端负责获取nonce、Gas、余额等实时数据,离线端仅在签名瞬间通过蓝牙或二维码与在线端交换不可读哈希。这样即使在线手机被木马录屏,也无法还原私钥或篡改金额,满足DAO金库、家族办公室对「物理隔离」的刚性需求。
在SafeW产品矩阵里,离线签名与MPC-TSS并不互斥:MPC解决「单点泄露」问题,离线签名解决「在线暴露」问题;两者叠加,才能把「私钥分片」与「签名环境」同时隔离。若你的组织已要求≥100万美元转账必须「两人+两地+两设备」,离线签名就是不可或缺的一环。
版本差异与前置条件
截至当前的最新版本(SafeW v6.4.2)已内置「蓝牙冷签通道」,不再依赖USB OTG,因此iPhone与安卓均可作为离线端;但Ledger Flex用户需把固件升级至≥1.6.8,否则在iOS端会出现300ms延迟甚至配对失败。安卓13以上系统需手动开启「附近设备」权限,否则蓝牙列表为空。
若你仍在使用v6.3.x,离线签名入口被放在「设置→实验功能」内,且仅支持二维码单通道,大额交易(>150KB calldata)会因二维码容量不足而失败。官方已在4月30日停止对v6.3.x的冷签维护,建议立即升级。
操作流程总览:五步闭环
- 在线端构造交易并生成待签哈希
- 离线端导入哈希并完成私钥签名
- 签名包回传在线端
- 在线端广播至节点
- 多签阈值校验后上链
整个闭环可在两台手机+0根数据线完成,全程无需USB、无需电脑,也无需把私钥导入热机。
步骤1:准备离线环境
选择离线端设备
最佳实践是拿一台永不插SIM、永不连Wi-Fi的备用机;若预算有限,可把日常手机临时切飞行模式,但需重启清除内存中的恶意进程。iOS用户需额外关闭「定位→系统服务→网络与无线」开关,防止后台通过Wi-Fi扫描泄露MAC地址。
创建或导入私钥
打开SafeW→添加钱包→「离线私钥模式」→生成新助记词或导入已有私钥。此模式会在本地生成一个带红色盾牌图标的钱包,UI层面禁止任何网络请求;若误触「行情」Tab,会弹窗提示「离线钱包无法连接节点」。
步骤2:在线端发起多签交易
进入多签金库
在在线端打开SafeW→底部「金库」→选择目标多签地址(如3/5董事会钱包)→点击「发起转账」→填入收款地址、金额、代币类型。此时App会自动拉取实时nonce与Gas Price,并显示「预计矿工费」。
添加离线签名人
在「签名方式」页面,勾选「离线签名」→选择「蓝牙冷签」或「二维码」→点击「生成待签数据」。此时在线端会生成一个只读哈希包(扩展名.swtx),并不含任何私钥信息,可直接通过蓝牙或二维码传递到离线端。
步骤3:离线端签名
蓝牙通道(推荐)
离线端打开SafeW→顶部「接收签名请求」→开启蓝牙→扫描到在线端设备→点击配对。首次配对需双方确认6位数字码。配对成功后,离线端自动弹出交易详情:金额、接收地址、Gas Limit、Hash。确认无误后,输入本地PIN或面容ID完成私钥签名,整个过程私钥不离开离线内存。
二维码通道(备用)
若蓝牙版本不兼容或安检区禁止射频,可点击「显示二维码」;在线端会生成 animated QR,离线端选择「扫码签名」。超过5KB的交易需分段循环扫码,经验性观察约需15-30秒,期间保持屏幕常亮即可。
步骤4:回传签名包并广播
签名完成后,离线端会生成一个.swsig文件,通过蓝牙或二维码回传在线端。在线端收到后自动校验ECDSA公钥是否属于多签列表,若通过则把签名插入交易体,并提示「已收集1/3签名」。重复以上流程直到达到阈值,最后点击「广播交易」即可上链。
步骤5:验证链上结果
交易被打包后,SafeW会在「金库→交易记录」显示绿色「已确认」标签,并给出Etherscan/Blockscout链接。若需合规审计,可点击「导出PDF」生成带董事签章的链上凭证,文件哈希同步写入SafeW云审计日志,防篡改。
平台差异速查表
| 平台 | 离线签名入口 | 蓝牙通道 | 二维码容量 |
|---|---|---|---|
| iOS 17.5 | 金库→发起→离线签名 | 需关闭本地网络权限 | ≤5KB |
| Android 14 | 同左 | 需开启附近设备权限 | ≤8KB |
| Ledger Flex | 硬件钱包模式 | 固件≥1.6.8 | N/A |
常见失败分支与回退
蓝牙配对失败
现象:离线端扫描不到设备。处置:清除系统蓝牙缓存(安卓:设置→应用→蓝牙→存储→清除缓存;iOS:重启即可),再重新进入SafeW配对。若仍失败,可临时回退到二维码通道。
二维码循环卡顿
现象:animated QR帧率过低导致扫码超时。处置:在线端点击「减小容量」按钮,SafeW会自动删减calldata中的零字节,经验性观察可把体积压缩30%左右;仍失败就改用蓝牙。
签名包校验不通过
现象:提示「公钥不在多签列表」。原因:离线端导入的是单签私钥,而非创建多签时所用的那个地址。回退:检查多签成员列表,确认离线端地址是否匹配;若误导入,需删除钱包重新导入正确私钥。
何时不该用离线签名
- 日常小额转账(<1kU):流程重、耗时长,反而增加操作失误概率。
- 高频DeFi套利:离线签名无法实时更新Gas,若链上拥堵可能错过窗口。
- 单签钱包:SafeW的离线通道专为多签设计,单签用户可直接用MPC+生物识别,无需冷签。
最佳实践清单(可打印)
- 离线端设备永不插SIM、永不开Wi-Fi,重启后再进入飞行模式。
- 蓝牙配对前,双方关闭「自动锁定」,防止扫码或传输中断。
- 每季度用「设置→钱包诊断」校验离线端助记词可读性,防止NAND老化。
- 多签阈值≥3时,至少准备两台离线手机,防止单台电池老化无法开机。
- 签名包回传后,立即在链上浏览器核对「from/to/value」三要素,再离开现场。
FAQ(结构化数据)
离线签名失败能否重试?
可以,SafeW的.swtx文件不含nonce,即使重签也不会导致双花;但需注意Gas Price已变动,建议回到在线端重新获取最新Gas再签。
蓝牙与二维码哪个更安全?
两者都只传递哈希,不泄露私钥;蓝牙速度更快且支持大calldata,但需信任蓝牙栈无漏洞。若处于高规格安检区,优先用二维码。
Ledger Flex能否同时作为离线端?
可以,把Ledger Flex通过蓝牙配对后,SafeW会自动调用其SE芯片完成签名,私钥仍留在Ledger;流程与手机离线端完全一致。
总结与下一步行动
SafeW v6.4.2的离线签名把「交易构造」与「私钥授权」彻底分离,让多签DAO在零网环境下也能完成百万级转账。若你刚接触,不妨先用测试网走一遍完整闭环,记录每步耗时与失败点;正式部署前,按最佳实践清单准备两台永不联网的备用机,并每季度做一次恢复演练。只有把流程拆成可复制的SOP,离线签名才能真正成为资产安全的最后闸门,而不是增加操作负担的「仪式感」。