http://www.7klian.com

科普 | 一文相识比特币新签名方案MuSig2

与基于CHECKMULTISIG的钱包对比,,MuSig1最大的缺点在于,它需要签名者之间的交互,更精确地说,建设签名需要三轮通信,而每一轮通信都由往返通报的动静构成。下图显示了两个签名者的交互进程。你可以想象一个签名者利用的是一个桌面钱包,而另一个签名者利用的是Blockstream Green cosigner,可能签名者共享一个他们试图封锁的闪电网络通道。

 
将会话生存到一个硬盘驱动器;

而最新提出的MuSig2多重签名方案,旨在成为MuSig1的担任者,它提供了与MuSig1沟通的成果和安详性,但可以消除签名者之间险些所有的交互。利用MuSig2,签名者只需要举办两轮通信就可以建设签名,并且要害的是,在签名者知道他们想要签名的动静之前,可以对个中一轮举办预处理惩罚。一旦有动静需要签名,譬喻一笔比特币生意业务,那么其进程与本日基于CHECKMULTISIG的钱包沟通:将生意业务转移给签名者,然后吸收一个签名。总的来说,MuSig2保存了MuSig1的简朴性和效率,只增加了少量的特别计较。

让我们快速看看,是什么让MuSig2在并发会话下变得安详。个中,在MuSig1中,每个签名者i建设一个nonce,而在MuSig2中,每个签名者建设两个nonce R_i,1R_i,2,在第一轮通信时将它们发送给其他签名者,并有效地利用这些nonce的随机线性组合R_i = R_i,1 + b*R_i,2,取代之前单独的nonce R_i。而系数b是应用于所有签名者nonce、聚合公钥和动静的哈希函数的输出。在MuSig1中,聚合的nonce是R = R_1 + … + R_n。假如任何签名者变动了他们的任何nonce,则其他每个签名者都将利用他们两个nonce的差异的随机线性组合。这可以防备已被发明的针对其他两轮多签名方案的进攻。所有细节你可以在MuSig2论文中找到。

 

几周之前,研究者们接头了MuSig-DN,它是一个利用了零常识证明的两轮通信协议,对比MuSig2而言,它要巨大得多。而MuSig-DN的利益在于它支持确定性nonce,从而制止了在签名会话和轮次之间保持状态的需要(即无状态)。

 

规复备份;

 
再次完成会话;

对比之下,利用CHECKMULTISIG的钱包只需要一轮通信:它们吸收一笔生意业务并返回一个签名。譬喻,假如利用MuSig1在闪电网络中转发付出,隐私将获得改进,但付出所需的时间明明更长了。跟着通信延迟的增加,这个问题就变得越发严重了。而存储在安详保险箱中的MuSig1签名设备,需要其所有者会见两次才气建设签名。

 

MuSig1的交互性问题
完成签名会话;
执行硬盘驱动器备份;

跟着的Taproot更新越来越近,社区成员对MuSig多重签名方案发生了相当大的乐趣,MuSig答允一个集体配合打点一些比特币,并建设一个签名来授权付出。由于MuSig创新的密钥聚合特性,这种签名是一种通例的Schnorr签名,一旦Taproot被激活,比特币网络就可以对这种签名举办处理惩罚。当用于建设多重签名钱包时,与利用CHECKMULTISIG操纵码举办n-of-n多重签名的传统方法对比,MuSig低落了生意业务用度并增加了隐私性,而传统要领例在上需要n个公钥以及n个ECDSA签名。

 

本文会简朴先容MuSig2和之前版本的MuSig1之间的差别,原文作者是Jonas Nick和 Tim Ruffing。

 
MuSig家属

 

另一方面,假如签名会话需要存储在耐久介质上,那么MuSig-DN方案的无状态属性是有益的。为了演示这种环境下MuSig2的风险,假设我们执行以下一系列事件:

关于下一步
 

功效是,我们建设了两个具有沟通nonce的签名,其可用来窃取我们的密钥。因此,MuSig2的实现者必需要小心,以确保不会产生上述环境。对比之下,MuSig-DN方案就可以防备这种进攻。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。