查看原文
其他

弄丢私钥就彻底玩完了?Substrate 社交恢复功能想再抢救一下

Phil Lucsok PolkaWorld 2020-11-11

加入 www.polkaworld.org 社区,共建 Web 3.0!

弄丢私钥是所有加密货币持有者的噩梦,难道就没有什么方法能抢救一下吗?


Substrate 的 Social Recovery pallet 就是为此而生的,它让你可以通过多个好友来恢复你的区块链账户,有点像忘了微信密码可以通过好友来恢复。


快来了解一下这个实用功能吧。


永远不要失去对加密货币帐户的访问权。



我们为什么需要社交恢复(social recovery )系统?

只有一小部分人有对私钥应付自如的经验,密钥管理是普通用户与区块链交互的障碍。我们中的一些人可能对这些繁琐的任务很熟悉:向朋友或家人解释私钥、助记词或加密的 JSON 文件的作用,以及为什么保证它安全很重要。


去中心化和区块链可以提高人们的生活质量,因为它使人们能够拥有自己的数据和财务,而不依赖于其他的第三方机构。虽然像 Coinbase 这样的托管服务对于日常用户来说是一种不幸的必需品,但它们确实有助于降低使用区块链和加密货币的准入门槛。



Substrate 上的社交恢复模块

Substrate 是创建任何类型区块链的框架,随着更多区块链的建立和部署,有必要改进密钥管理,而无需求助于可能不信任或不称职的中心化的保管人。这就是我们创建 Recovery 模块的原因,任何区块链创新者都可以在其区块链中使用该模块来增加他们的用户群并减少社区中的麻烦。


Recovery 模块代码演示视频:

https://www.youtube.com/watch?v=rRnWKDaTb9E&feature=youtu.be


Substrate Recovery 模块是基于多签钱包的 M-of-N 社交恢复工具。它允许用户在私钥或其他身份验证机制丢失时恢复其帐户。Substrate 简单到我们甚至不假设你正在构建的区块链使用公钥-私钥对,从而使恢复模块能够用于你选择的身份验证机制。你可以指定允许你再次访问帐户的用户集。


区块链的用户设置他们的好友总数、成为好友的最低门槛和延迟时间是可能的。创建区块链的 Substrate 开发者最初决定:每个用户的存款金额和好友总数的最大值。后两个始终可以使用链上升级来进行修改。

(https://github.com/paritytech/substrate/blob/master/frame/recovery/src/lib.rs)



它如何运行


步骤 1:设置恢复配置

  • 用户最多选择 N 个他们信任的朋友

  • 用户选择阈值 M

  • 用户为恢复过程选择最小延迟时间

  • 用户存入可退还的配置押金,确保以前的数据/帐户已清理干净



步骤 2:无法访问你的帐户

  • 我们不建议执行此步骤,但如果确实无法访问,请继续执行步骤 3



步骤 3:启动恢复过程

  • 用户创建新帐户

  • 用户用足够的资金为这个新帐户支付恢复保证金和交易费

  • 用户通过声明丢失的帐户和带有存款的新帐户来调用恢复模块

  • 用户联系朋友以保证你的恢复尝试

  • 至少需要有 M 个朋友批准

  • 等待延迟期过去


完成这些步骤后,你现在可以联系到你丢失的帐户了。


恢复模块允许你访问所有其他模块。这样,如果恢复模块是在链上实现的,那你正在使用的区块链 runtime 配置的每个模块都不需要进一步配置。



步骤 4:清理旧账户

  • 关闭恢复过程,以退还押金

  • 删除恢复配置,它将退还另一笔押金

  • 通过恢复模块调用其他模块,例如解绑、删除身份信息

  • 最后,把你所有的钱从丢失的帐户转到你的新帐户



恶意恢复会怎么样?

有恶意的用户可能会试图 “恢复” 你的帐户,即使它没有丢失。我们设置了一些保护措施来防止恶意帐户的恢复。


首先,好友的最低阈值需要批准恢复的启动。安全专家常说,最大的攻击载体是社交工程攻击,而这种情况也不例外。恶意用户可能会危害另一个社交媒体帐户或创建类似的帐户,以诱骗你的朋友相信这是你。希望你的朋友会注意到并阻止它。但如果这部分攻击成功了会怎么样?


如果有足够的朋友批准启动了恢复过程,攻击者仍必须等待延迟时间才能访问你的资金。但是,如果你在此延迟期间检查一次你的帐户,则可以取消恢复过程并获得攻击者的存款。所以从某种意义上说,如果你及时抓到恶意用户,他们就是一个蜜罐啦。


在你注意到有恶意恢复后,建议你更改朋友群并删除那些容易上当受骗的朋友。



其他注意事项

为了提高安全性,你应该仔细设置你的恢复模块。



设置一个比较长的延迟时间

延迟时间越长,你必须检查帐户的次数就越少,并且越有可能捕获到恶意的恢复。对于你持有的大部分资产的账户,我们建议延迟时间设置为 6 个月至 1 年,以防万一。



设置高阈值的计数

如果可能,应设置高阈值的数量来启动恢复过程。三分之二的门槛对于你很看重的账户来说可能太低了。十分之七可能是更明智的选择。



明智地挑选你的朋友,并定期更新列表

确保你选择的朋友群在你的社交圈中足够分散。不建议你只选择跟你在同一个公司工作或任何容易串通启动恢复过程的朋友。另外,随着你生活的进步,朋友可能会改变,所以我们建议你也尽可能定期更新你的朋友列表。


恢复模块提供了一种低风险的方法,可以在不牺牲安全性的情况下重新访问丢失的帐户。查看 GitHub 上的代码来熟悉这个模块,或者现在就在 Kusama 上试试吧。

(https://github.com/paritytech/substrate/blob/master/frame/recovery/src/lib.rs)


  • 欢迎学习 Substrate: 

    https://substrate.dev/

  • 关注 Substrate 进展:

    https://github.com/paritytech/substrate

  • 关注 Polkadot 进展:

    https://github.com/paritytech/polkadot

  • 申请 Bootcamp: 

    https://bootcamp.web3.foundation/


原文:https://www.parity.io/social-recovery-on-substrate/

翻译:PolkaWorld 社区


更多内容:


Kusama 如何进行链上治理|Kusama 系列

波卡和 Kusama,两兄弟的对比

波卡的 NPoS 机制是如何运作的?


扫码关注公众号,回复 “1” 加入波卡群

关注 PolkaWorld

发现 Web 3.0 时代新机遇


点个 “在看” 再走吧!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存