Schnorr Multi-Signatures

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

 Schnorr 签名

Schnorr 算法允许将多个签名合并成一个有效的签名,只需将输入密钥相加即可。性能分析显示,Schnorr 的速度略快于 ECDSA,但它提供了多项显著的性能提升。一个主要优势是,无需逐个检查每个输入签名,只需检查最终的签名即可。此外,无论有多少用户提供输入,输出的签名大小都保持不变。另一个优势是,数据量的减少将提升比特币基础设施的容量。

为了保护隐私,Schnorr 的方法使得交易签名不可见,从而保护了用户隐私。唯一可用的信息是聚合交易的总体签名。对于许多参与者而言,将无法确定究竟是谁发起了某笔交易。

对比算法

SchemeDedicated KeygenSign RoundsKey AggregationDeterministic NonceImplementation Complexity
MOR01Yes3YesNoLow
BN06No3NoNoLow
MuSigNo3YesNoLow
MuSig-DNNo2YesYesHigh
MuSig2No2YesNoLow