传统上,使用 CHECKMULTISIG 创建 n-of-n 多重签名意味着您将在 区块链 交易中的签名者。 这种方法不仅揭示了交易参与者的总数,而且随着签名者数量的增加,交易费用也会逐渐升高。 另一方面,MuSig 允许一组用户 集体地 生成单个签名和公钥来验证交易,这增强了隐私并降低了所有相关签名者的交易成本。
MuSig于2018年首次推出时,与CHECKMULTISIG相比,其主要缺点是用户体验,特别是签名者之间需要三轮交互通信的要求。 随着介绍 音乐2 (BIP 327)在2020年,作为继任者 2018年MuSig (也称为 MuSig1),我们在非交互式签名方面取得了重大进展,为我们带来了更理想的体验。
怎么运行的
MuSig2 反映了其前身的功能,将所需的通信轮数从三轮减少到两轮。 MuSig2 的钱包设置首先收集所有参与者的扩展公钥 (xpub),并由每个钱包构建描述符,所有这些都与现有的多重签名实践一致。
MuSig2 签名阶段包括:
- 第一轮消息:在钱包设置过程中,会生成随机数,将其添加到部分签名的比特币交易(PSBT)中,并在其他签名者之间共享。
- 第二轮消息:收到的随机数用于创建部分签名并发送回每个其他签名者。
让每个签名者直接将其随机数和部分签名传达给其他签名者的另一种方法是引入第三方协调员来简化通信过程。
在签名过程中,每个签名者的随机数由两个椭圆曲线点组成。 这些点通过部分签名的比特币交易(PSBT)传输给其他签名者。 这些随机数需要仔细处理,以确保过程中的准确性和完整性,但不需要安全存储,因为它们不是机密信息。 如果所有个人的部分签名都是有效的,那么生成的 Schnorr 签名就是有效的。
后续实施步骤
上个月, 周安迪 提出两份BIP草案, MuSig2 PSBT 和 MuSig2 描述符,这是 MuSig2 采用和钱包集成的必要步骤。 第一个 BIP 添加了 PSBT 中的随机数、公钥和部分签名字段,第二个 BIP 提供了一种用于描述由 MuSig2 钱包控制的交易输出的方法。 总之,这些 BIP 和规范就是我们集成 MuSig2 钱包所需的全部!
多家钱包开发商协作托管 解决方案 长期以来一直要求 MuSig2 协议的标准化。 现在,随着正式的 BIP 的到位,社区就可以审查、提供反馈并帮助提高认识。 在 布洛克流,我们期待参与公众讨论并启动正式的 BIP 审查流程。
这是 Kiara Bickers 的客座文章。 所表达的观点完全是他们自己的,并不一定反映 BTC Inc 或比特币杂志的观点。