本文介绍一些 Schnorr 多签协议。多签协议只支持 n-of-n 签名方案,可以认为是 t-of-n 门限签名的一种特殊情况。如果想寻找更通用的 Schnorr 门限签名协议,可以参考 FROST,不过本文不介绍它。

Schnorr 签名
Schnorr 算法允许将多个签名合并成一个有效的签名,只需将输入密钥相加即可。性能分析显示,Schnorr 的速度略快于 ECDSA,但它提供了多项显著的性能提升。一个主要优势是,无需逐个检查每个输入签名,只需检查最终的签名即可。此外,无论有多少用户提供输入,输出的签名大小都保持不变。另一个优势是,数据量的减少将提升比特币基础设施的容量。
为了保护隐私,Schnorr 的方法使得交易签名不可见,从而保护了用户隐私。唯一可用的信息是聚合交易的总体签名。对于许多参与者而言,将无法确定究竟是谁发起了某笔交易。

对比算法
| Scheme | Dedicated Keygen | Sign Rounds | Key Aggregation | Deterministic Nonce | Implementation Complexity |
|---|---|---|---|---|---|
| MOR01 | Yes | 3 | Yes | No | Low |
| BN06 | No | 3 | No | No | Low |
| MuSig | No | 3 | Yes | No | Low |
| MuSig-DN | No | 2 | Yes | Yes | High |
| MuSig2 | No | 2 | Yes | No | Low |