团队的钱不能一个人说了算:共享账户的角色、双验与退出机制 图 1
团队的钱不能一个人说了算:共享账户的角色、双验与退出机制 · 图 1

单人钥匙撑不起共同资金

无论是 DAO 金库、工作室运营费还是家庭共同储备,只要资金属于多方,而签名权属于单个人,就同时押上了两条命:这个人的安全水位,和这个人是否值得信任。共享账户类事故的常见形态很固定:钥匙由一人保管,保管人手机失陷导致资金被盗;保管人离职或失联,账户变成孤儿;或者反过来,保管人本人携款失联。防御的核心不是找一个“最可靠的人”,而是设计一个“任何人单独失守都不致命”的结构。

常用的结构有三档。多签钱包要求一笔支出凑齐预设数量的签名,例如三人在册两人签署才能动账;角色分离是指一个地址负责收款与展示、另一个地址负责冷存,日常动账走热地址、大额回填冷地址,即使展示地址的持有人越权也碰不到大头;时间锁则给所有操作加延迟,给其他成员留出否决窗口。三档可以叠加,但每一条权限规则都要回答同一个问题:撤销它需要什么流程?设计时没有答案的权限,就是未来事故的脚本。

名单、双验与“谁知道”

比工具更容易被忽略的是人的登记册。一份持续维护的名单应至少包括:每个在册签名人的身份与联系方式、每个地址承担的角色与限额、助记词或密钥的存放位置(位置而非内容)、以及最近一次权限审计时间。关键操作实行双验:任何人在群里收到的“帮我签一下这笔”都必须换一条独立渠道(电话、线下、另一平台)向发起人本人确认金额、地址与用途,聊天截图、语音条都不做数——声音和文字如今都能伪造。

“谁知道”要和“谁能用”分开。助记词的副本数量越少越好,每多一份复印件,就多一个泄露点和一个知情者;如果团队确实需要多人应急访问,优先用多签或社交恢复这类把知情者变成签署者的机制,而不是互相传阅备份。还有一条容易被浪漫化的假设要打破:“他肯定不会动这笔钱”不是控制,是愿望。制度设计应当假设每个角色都有失守的一天——被盗、被胁迫、或单纯起心动念——然后问自己在最坏一天的剧本里资金还剩多少,这个问题的答案才是这个结构真实的可信度。

成员退出时的撤销顺序

  1. 先停通道:在签名人正式离开前,先移除其对共享账户的签署权限或把其设备从可信清单里删掉,再谈告别——顺序反了就是裸奔期。
  2. 重新生成密钥:如果退出者曾接触过助记词或私钥明文,视同该密钥泄露,资金应迁移到全新派生的地址体系,仅仅“把他的设备解绑”是不够的。
  3. 换签名人先于改规则:替换成员时用“先加后减”——先把新签名人加入并验证一次小额操作,再移除旧签名人,避免出现无人可签的空窗或多签数量不足。多签门槛变更的具体步骤因实现而异,操作前对照所用钱包的官方文档做一次演练。
  4. 清理外围授权:退出者持有的平台账号、API 密钥、域名、邮箱转发规则、自动回复,全部轮换或移除;资金安全不只由链上权限决定。
  5. 留痕归档:把这次变更写进名单,记下时间、前后对照和执行人,下次事故复盘会用到。

权限设计没有终点,建议至少每季度做一次“现在谁能单机动多少钱”的桌面推演。本文为安全防御科普,涉及机构治理与法律安排的部分请咨询专业人士,不构成投资建议。