上个月。一个做NFT项目的三人小组找到我,他们用tpwallet多签钱包管着社区金库,设置2/3签名的。

某天凌晨,其中一位成员手机进水,私钥没备份,剩下两人面对一笔Gas竞价激烈的mint交易,怎么都凑不齐第三个签名呢?金库里的12个ETH硬生生错过了窗口期。这不是技术故障,是流程漏洞。tpwallet多签钱包的机制并不复杂,创建时指定多个owner,每笔交易需要达到阈值确认。有些人忽略了一点是多签解决的是“单点作恶”,不解决“单点丢失”。那个团队把助记词写在纸上,却只放在各自家里。更麻烦的是他们选的是2/3,意味着任何一人掉线,整个钱包就只剩2个有效签名,刚好卡在阈值线上。当时是3/5,损失一个还能转。

tpwallet多签钱包的阈值设置没有标准答案。可小团队一般凭感觉拍板。我帮他们重建了权限结构。先在tpwallet多签钱包里新建3/5多签,把旧钱包资产分批转出的。

这里有个坑,每笔转出交易本身也需要旧多签的2/3签名,但丢失私钥的人已经无法参与。好在他之前有一份助记词照片存在iCloud里。虽然不够安全,救了一命。恢复后,我们立刻把新多签的备份拆成三份,分别存于硬件钱包、银行保险箱和律师处了。观察过十几个类似案例吧?tpwallet多签钱包的成败一般不在代码,但在“人”。有人把多签当保险箱的,却忘了签名人需要定期演练。

我建议每季度做一次模拟交易,发起一笔小额转账,所有签名人走完流程了。这样真出事时。没人会手忙脚乱。不要把所有签名人都放在同一个时区。

凌晨三点凑不齐人的滋味,那个团队已经尝过了。