前阶段在看vault12项目的时候做了一点研究,分享一下。
背景:
1、私钥非常重要,可以说是区块链世界的钥匙。当下主要用于控制虚拟资产,但预期未来可能扩展到各种资产、身份的控制上(比如汽车钥匙、数字身份)。但私钥一旦丢失,这些控制权将全部丢失。要想区块链世界持续普及,私钥恢复方案将成为区块链世界的基础配置。
2、目前比较通用的私钥恢复方案是预先备份一份助记词(私钥的另一种形式),备份方式取决于用户自己。通常建议是抄写在纸上放在家里,有些要求严格的可能把这张纸放进保险柜。但这种解决方案还是面临“单点失败”的风险,这张纸可能因为各种原因丢失。
解决方案:
要做到的是去中心化的存储和恢复私钥/助记词,Secret sharing是不错的解决方案。
它的原理是把一个秘密分散、加密存储在多个参与者那里,只有当达到一定数量的参与者的时候才能拼出原始秘密,而少量参与者本身无法获得这个秘密。这样既可以减少单一节点失败造成的风险,又能在一定条件下恢复私钥。但理论上如果一定数量的参与者联合还是可以获取秘密来侵害秘密持有人的利益的。
行业应用情况:
Secret sharing的加密算法理论在1979年被发表,最迟在2014年就有人在区块链领域使用。
行业里面有相关工具提供,比如http://passguardian.com/ ,但单纯只是帮用户把私钥分片加密,存储过程由使用者自己控制(可以自己分别打印交给几个亲朋保管,也可以放进自己的几处住所)。
应该是由于行业的发展,今年vault12和tenzorum出现想把secret sharing进行完整产品化(行业还有casa和zippie,不过方案介绍太少)。
技术本身不难,难点是把存储和恢复过程标准化、产品化。存储在谁那里?恢复的时候怎么验证身份?如何保证存储人的动力,如何避免存储人联合起来欺诈私钥所有者。
Vault12的解决方案是私钥持有人可以邀请亲朋好友作为保管人,每月支付保管费,可以根据保管数据的安全等级来设定恢复难易程度(比如不太关键的可以只要一个保管人确认来恢复,特别关键的可能要3/5来恢复),在恢复前需要朋友通过视频、电话等方式确认身份。
整体说来,它的方案比较完善、详细,具备灵活性和可操作性,也足够专注在密钥恢复上,可以预期产品能够顺利落地。这点很赞。
唯一的遗憾是,本质上私钥找回是钱包的一个功能,钱包后面肯定都会配备这个功能的。在开发难度不大的情况下,如何保证钱包不直接自己开发这个功能?项目方给的初步反馈是会提供api给钱包使用。目前持怀疑态度,因为要在钱包里面植入需要复杂的交互流程,合作比较困难。
大概就这些。
这个项目比我们看到的大部分项目都强,但你问我投不投,我肯定都不投。
领取专属 10元无门槛券
私享最新 技术干货