EOS 针对以下两种情况设计了应急措施:
- 账户被盗(私钥被盗或有权限的其他账户被盗)
- 账户遗失(私钥遗失或有权限的其他账户遗失)
1.账户被盗
EOS 有可能会强制要求所有账户的 Owner 权限必须使用多签名,也就是说 Owner 权限列表里要有至少两个私钥或其他账户,这样就减少了因为单个私钥泄露而导致的危险。再配合转账延时,为用户找回被盗账户提供了时间上的可能。
理解了上一篇内容的读者应该明白,EOS 里账户被盗有可能是控制权限的私钥被盗,也有可能是控制权限的其他账户被盗,总之,找回被盗账户的核心就是更改账户权限的权重列表,删掉被盗的部分。
Owner 权限是账户的最高权限,可以直接更改其他权限。推荐用户在 Owner 权限列表加入亲朋好友,并通过调整阈值使得任何行使 Owner 权限的行为都需要亲朋好友的 Active 权限签名(例如 Owner 阈值 10,本人私钥权重8,5个亲朋每*重1,自己和亲朋都无法单方面行动),黑客不得不再去盗取亲朋好友的账户。就算黑客盗取了亲朋好友的 Active 权限,他们也可以直接使用自己的 Owner 权限修改掉 Active 权限。
Owner 权限列表通过本账户 Active 权限可以修改,但需要长达 30 天的“公示”才能执行。这样既保证了账户安全,又可以在亲朋好友反目 / 失联后把他们从 Owner 权限列表删掉。
综上,防止账户被盗的关键就是在 Owner 权限列表加入信赖的亲朋账户,并给予合适的阈值和权重 。
唯一不能解决的情况是:黑客偷了你的 Owner 私钥,你同时忘了 Active 私钥。虽然黑客偷不走任何东西,但你也无法通过 Active 权限将被偷的私钥从 Owner 权限列表删掉。只能转移走所有资产并丢弃这个账户。 所以一定要安全地备份好钱包文件与钱包密码。在 Active 权限列表中加入亲朋好友也是个办法,但是会损失便利性。
2.账户遗失
账户遗失包括私钥遗失或有权限的其他账户的私钥遗失,请备份好钱包,避免落入如此尴尬的境地。
遗失了私钥(Owner/Active)后,需要你的账户连续30天没有任何活动,你的 Recovery 权限列表中的亲朋好友就可以发起 Active 权限修改,替换一个新的公钥,7 天后会被执行。拿到 Active 权限后你就可以发起 Owner 权限修改,又需要 30 天延时。综上,拿回 Active 权限需要 37 天,拿回 Owner 权限需要 67 天。
如果你交友不慎,亲朋好友不配合你发起 Active 权限修改,你只能通过线下(司法)途径解决了。
总结:
1. EOS 使用通过独特的权限管理机制,结合延时、加密、和社会学手段,将账户被盗 / 遗失的可能性将到了最低程度。
2. EOS 的权限管理特性天然地形成了一张社会关系网,使得在 EOS 上开发的社交应用有无限的前景。