在比特币和其他加密货币中,使用分层确定性钱包(HD 钱包)是一种被广泛接受的做法。粗略地说,这样的钱包通过拥有一个主密钥(或主密钥)然后从主密钥派生所有密钥来工作。有两种派生方式:
1.强化派生:使用此方法派生的密钥不可链接到层次结构中的其他密钥,使用正常派生从它派生的密钥除外(参见下一项)。本质上,这是一种派生密钥的方法,因此在该方法中派生的所有密钥看起来都像是随机生成的独立密钥。
2.正常派生:这是一种以公开方式从密钥派生密钥的方法。特别是,可以在仅给定派生公钥的情况下,在正常派生中计算派生公钥。这使得任何希望进行交易的人都可以自动获得用于不同目的的地址定义。
正如BIP032 派生的动机所述“强化派生的动机是使用户能够备份单个主密钥,然后根据需要派生尽可能多的密钥,而无需任何进一步的备份”。这一点非常重要,因为加密货币的危险之一是如果丢失了密钥,那么受该密钥保护的所有资产都将永久丢失。此外,正常派生的动机是以无限制的方式实现地址的受控共享。可以给某人一个地址,让他们多次使用正常的派生,以实现账户分离等。
当使用安全多方计算对数字资产进行签名时,没有一台机器拥有完整的私钥。相反,它在多个实体之间共享,并且每一方都持有本身没有意义的随机垃圾。在这种情况下,HD 推导就会出现问题。当然可以使用 MPC 进行所有的推导;但是,这可能非常昂贵。请注意,存在非常有效的用于签名的专用MPC 协议,虽然可以在MPC 中完全执行推导,但这些协议的成本更高。。然而,随着参与方数量的增加,派生的MPC 协议变得更加昂贵。
尽管如此,对于在商业环境中管理MPC 中的HD 钱包的问题,有一个非常简单的解决方案。我们分别考虑每种类型的推导:
1.强化派生:如前所述,强化派生的动机是解决备份问题。这个问题对于个人用户的钱包来说最为严重,因为备份密钥对他们来说在逻辑上非常困难。相比之下,在商业环境中,备份可以内置到每个密钥生成中(Unbound 的CASP 具有这样的能力)。在这种情况下,每次只生成新密钥与强化派生没有区别。事实上,根据设计,通过强化派生生成的密钥应该看起来像一个全新的密钥。因此,因此,派生很容易与MPC兼容(Unbound的MPC解决方案完全支持它)。
2.正常派生:与强化派生不同,通过生成新密钥不可能达到与正常派生相同的效果,因为这些密钥将与仅使用公钥派生的密钥不兼容。然而,幸运的是,它很容易与MPC 兼容。这是因为一方或多方足以执行本地操作,以便将密钥的共享更新为密钥的正常派生的共享。因此,普通派生很容易与MPC兼容(Unbound的MPC解决方案完全支持它))。
总之,通过使用支持备份生成的每个密钥的系统在商业环境中的MPC部署中可以达到支持强化衍生的预期效果,这与硬派生在HD 钱包中的行为完全相同。此外,正常派生与MPC 部署完全兼容,并且不会产生任何计算成本。因此,MPC实现在实践中与HD wallt钱包完全兼容。