普通钱包 VS MPC钱包
主要是用非对称加密的数字签名技术构建的,包含六个部分: 1、创建:生成助记词,从助记词推导出私钥,然后从私钥推导出公钥,再推导出钱包地址; 2、保管:把私钥保存在设备上; 3、备份:把助记词自己备份管好; 4、签名:使用设备上保存的私钥来对交易进行签名; 5、验证:把签名提交到公链上,矿工用公钥来验证签名是否有效; 6、恢复:把助记词录入,重新推导出私钥、公钥以及地址。
利用 MPC 和 MFA 技术把上面的流程给部分改造了。改造后,变成了: 1、MPC 创建:多方各自生成「分片」,然后联合计算推导出公钥,再推导出地址; 2、保管:多方各自保管自己的「分片」在自己的设备上; 3、MFA 备份:多方各自利用 MFA (多因素认证)来备份自己的「分片」; 4、MPC 签名:多方使用各自设备上保存的「分片」来对交易进行联合签名; 5、验证:跟以前一样,发送签名到链上,矿工用公钥来确认签名是否有效; 6、MFA 恢复:多方各自通过备份时 MFA 完成认证来恢复自己的「分片」。
可以看到,经过MPC改造后的钱包,全生命周期内,没有私钥 和 助记词的存在。这直接把私钥和助记词的安全拉高到了天花板级,因为黑客攻击钱包就是冲着偷助记词和私钥去的,而无助记词和无私钥就相当于是黑客想偷的对象没了,从而没得偷了。
如果黑客想改为去偷分片来偷钱,他就必须要同时偷到多个放在不同设备上的分片才有意义,这个攻击难度是指数级的上升。
创建钱包时有三方参与,每方一个分片,总共三个分片。三方分别是 XX的服务器,你的手机以及你的任意第二个设备。签名的时候,必须至少2方联合签名才可以。于是,就有了三种签名方式:
1、你的手机 与 XX 的服务器 联合签名; 2、你的第二个设备 与 XX 的服务器 联合签名; 3、你的手机 与 你的第二个设备 联合签名。
你会发现,由于你自己掌握着三份之中的两份,无论是使用哪种签名方式,你自己都掌握绝对控制权,而 XX 服务器只是个配合的角色,它对你的资产控制权没有任何影响和威胁。这就是我们常说的去中心化或抗审查,即便是 XX 的服务器关停不工作了,你的资产依然安全且可用。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!