🔐私钥管理方案
私钥永不出现
Last updated
私钥永不出现
Last updated
在传统的区块链钱包私钥生成中, 生成一个公私钥对,其中公钥公开,对应着资产账户,私钥由特权人员管理。MPC分布式私钥分片生成,与传统的私钥生成完全不同。私钥并不是由单个人在本地独自生成,而是所有参与者根据预先指定的门限 t 和参与人数 n,执行一个 MPC 密钥生成协议。当协议结束以后,所有人都能得到自己的私钥分片,以及一个共同的公钥。这个公钥对应着资产账户,对应私钥从未出现过。因此,公钥对应的资产由所有参与者共同管理。当密钥 分片完成后,每个人都只掌握一个私钥分片,为了获取真正的私钥,攻击者需要获取不低于门限数的私钥分片,才能恢复真正的私钥。
用户创建钱包后,私钥分为三部分,分片1保存在用户设备,分片2备份到iCloud 或 Google Drive,分片3保存在1BitPay SGX可信服务器,任何的交易都需要存储在不同地方的私钥分片分布式完成签名,才能上链,最终完成资产的转出。
当钱包发交易时,必须由满足门限数的参与者共同运行 MPC 多签协议。在协议运行期间,所有参与者的私钥分片都不会泄漏。
为了提高安全性,一套密钥分片每隔一段时间会执行一次密钥刷新协议。协议结束后,每个人会得到一份新的私钥分片,同时旧的私钥分片全部作废。这种操作能有效的防止攻击者分别窃取每个人的私钥分片从而恢复私钥。因为,每次密钥刷新后,旧的私钥分片全部作废,导致攻击者前功尽弃,必须重新开始窃取攻击,从而指数级的提升了攻击难度。
万一用户的私钥分片不小心丢失,在经过严格的安全验证的情况下,也可以申请私钥分片的刷新,达到恢复私钥分片的目的。