随着比特币的Taproot更新越来越近,社区成员对MuSig多重签名方案产生了相当大的兴趣,MuSig允许一个团体共同管理一些比特币,并创建一个签名来授权支付。由于MuSig创新的密钥聚合特性,这种签名是一种常规的Schnorr签名,一旦Taproot被激活,比特币网络就可以对这种签名进行处理。当用于创建多重签名钱包时,与使用CHECKMULTISIG操作码进行n-of-n多重签名的传统方式相比,MuSig降低了交易费用并增加了隐私性,而传统方法则在区块链上需要n个公钥以及n个ECDSA签名。
在2018年,Blockstream公司发布了MuSig方案的第一个版本,我们将其称为MuSig1,正如我们将在下面讨论的,由于签名者之间需要多轮通信,在实践中部署MuSig1可能很困难。为了改进MuSig1,使得签名过程变得更加容易,Blockstream的研究者联合法国国家网络安全局的密码学家YannickSeurin共同设计了名为MuSig2的新方案论文,而这种方案只需要两轮通信,目前,这篇论文正在接受同行评审。
火币研究院:DeFi挖矿热潮凸显智能合约安全性问题,需警惕无多签机制合约:近期随着DeFi挖矿的热潮,出现了不少智能合约的迁移或安全事件。火币研究院指出,在以太坊上智能合约的灵活程度较低,已经部署的智能合约代码无法直接覆盖升级,因此在需要进行漏洞修复或者功能升级时,只能通过发布新合约等手段进行功能和数据的迁移,比如YAM、SUSHI等项目。但在EOS网络中,智能合约可升级性是在白皮书中明确指出的功能,合约的管理员可以像部署合约一样对合约进行覆盖升级,这意味着管理员有权限通过升级合约代码等方式拿走合约中的资金,对投资者而言意味着极高的资金风险。但值得注意的是,在EOS网络中也可以通过设置多签等手段,限制灵活性避免集中化控制,投资者可以通过是否多签对合约安全系数做简单判断。总而言之,在区块链世界,灵活性的提升往往伴随着权限合理配置的难度增加和新的安全风险。[2020/9/10]
本文会简单介绍MuSig2和之前版本的MuSig1之间的差异,原文作者是JonasNick和TimRuffing。
OKX金融市场总监Lennix:香港政府传递的讯号非常重要,给予我们足够信心在港投资:10月31日消息,香港特区政府今日发表有关虚拟资产在港发展的政策宣言,期望促进虚拟资产行业在港发展,包括加紧筹备向新的虚拟资产服务提供发牌制度、不再要求只容许持有八百万以上资产的专业投资者参与,将对散户开放虚拟资产买卖等,不断向市场释放正面讯号。据悉,全球领先的虚拟资产交易平台OKX正计划申请该牌照。
对此,OKX金融市场总监Lennix在接受香港无线新闻TVB NEWS采访时表示,香港传递的这个讯号非常重要,给予了我们一个发展方向。Lennix认为,虽然第一个关卡是800万元资产,之后可能是投资ETF,但看到香港政府向越来越开放的态度发展,已经给予我们足够信心在港投资。对于业界来说,将会有越来越多的项目设立以及人才涌入香港。[2022/11/1 12:02:31]
MuSig1的交互性问题
富达将于11月为零售客户推出比特币交易:金色财经报道,Bitcoin Archive在社交媒体上称,富达将于11月为零售客户推出比特币交易。据悉,富达公司管理着4.3万亿美元的资产。[2022/9/13 13:25:07]
与基于CHECKMULTISIG的钱包相比,MuSig1最大的缺点在于,它需要签名者之间的交互,更准确地说,创建签名需要三轮通信,而每一轮通信都由来回传递的消息组成。下图显示了两个签名者的交互过程。你可以想象一个签名者使用的是一个桌面钱包,而另一个签名者使用的是BlockstreamGreencosigner,或者签名者共享一个他们试图关闭的闪电网络通道。
相比之下,使用CHECKMULTISIG的钱包只需要一轮通信:它们接收一笔交易并返回一个签名。例如,如果使用MuSig1在闪电网络中转发支付,隐私将得到改善,但支付所需的时间明显更长了。随着通信延迟的增加,这个问题就变得更加严重了。而存储在安全保险箱中的MuSig1签名设备,需要其所有者访问两次才能创建签名。
MuSig2允许非交互式签名
而最新提出的MuSig2多重签名方案,旨在成为MuSig1的继承者,它提供了与MuSig1相同的功能和安全性,但可以消除签名者之间几乎所有的交互。使用MuSig2,签名者只需要进行两轮通信就可以创建签名,而且关键的是,在签名者知道他们想要签名的消息之前,可以对其中一轮进行预处理。一旦有消息需要签名,例如一笔比特币交易,那么其过程与今天基于CHECKMULTISIG的钱包相同:将交易转移给签名者,然后接收一个签名。总的来说,MuSig2保留了MuSig1的简单性和效率,只增加了少量的额外计算。
MuSig家族
几周之前,研究者们讨论了MuSig-DN,它是一个使用了零知识证明的两轮通信协议,相比MuSig2而言,它要复杂得多。而MuSig-DN的优点在于它支持确定性nonce,从而避免了在签名会话和轮次之间保持状态的需要。
这就提出了在给定应用中使用哪个方案的问题。上表说明,我们没有理由选择MuSig1,而是应该选择MuSig2。实际上,我们希望大多数应用选择MuSig2而不是MuSig-DN,因为简单性是采用的主要因素。在创建可互操作的实现时,尤其如此,因为所有签名者都必须同意使用相同的协议。此外,对非交互式签名的支持显著提高了可用性。
另一方面,如果签名会话需要存储在持久介质上,那么MuSig-DN方案的无状态属性是有益的。为了演示这种情况下MuSig2的风险,假设我们执行以下一系列事件:
开启一个MuSig2签名会话;
将会话保存到一个硬盘驱动器;
执行硬盘驱动器备份;
完成签名会话;
恢复备份;
再次完成会话;
结果是,我们创建了两个具有相同nonce的签名,其可用来窃取我们的密钥。因此,MuSig2的实现者必须要小心,以确保不会发生上述情况。相比之下,MuSig-DN方案就可以防止这种攻击。
构造两轮多重签名的挑战
构造一个简单的只需要两轮通信的Schnorr多重签名方案,并且在并发会话下仍然是安全的,这是一个尚未解决的研究问题。所有以前的尝试都会受到Drijvers等人发现的一种巧妙的攻击。在这种情况下,攻击者与受害者签名者打开许多会话,并能够获得受害者不打算签名消息的签名。
让我们快速看看,是什么让MuSig2在并发会话下变得安全。其中,在MuSig1中,每个签名者i创建一个nonce,而在MuSig2中,每个签名者创建两个nonceR_i,1和R_i,2,在第一轮通信时将它们发送给其他签名者,并有效地使用这些nonce的随机线性组合R_i=R_i,1+b*R_i,2,代替之前单独的nonceR_i。而系数b是应用于所有签名者nonce、聚合公钥和消息的哈希函数的输出。在MuSig1中,聚合的nonce是R=R_1+…+R_n。如果任何签名者更改了他们的任何nonce,则其他每个签名者都将使用他们两个nonce的不同的随机线性组合。这可以防止已被发现的针对其他两轮多签名方案的攻击。所有细节你可以在MuSig2论文中找到。
关于下一步
目前blockstream希望用MuSig2取代secp256k1zkp库中的MuSig1实现,它将更为简单,更重要的是,它更易于使用。根据开发者的说法,使用工具箱中的MuSig2,一些协议将从中受益,例如“无脚本脚本闪电网络”以及门限签名。如果比特币社区选择采用Taproot软分叉,则MuSig2会适用于Blockstream的一系列产品,比如BlockstreamGreen和c-lightning,它也适用于Liquid锚定机制。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。