比特币:n-n多签与m-n多签谁才是正在的Schnorr

Schnorr最大的特性是可以进行公钥和签名聚合。可以把多个签名聚合成一个签名,因此大大节省了多重签名的字节空间。这种聚合不但是同一个input,不同singer之间的签名聚合,还可以是不同input之间的签名聚合。

而在一些文章中对Schnorr多签的解释中出现如下的解释就是错误的:

实际上,提到Schnorr多签基本上是指:n-n多签,而不是m-n多签。也就是举例3-3多签交易是可以的,而举例2-3多签则不行。

为什么呢?

我们先看下《SimpleSchnorrMulti-SignatureswithApplicationstoBitcoin》原文的一些解释:Anobviousimprovementistoreplacetheneedforimplementingn-of-nmultisignaturesinanad-hocfashionwithaconstant-sizemulti-signatureprimitivelikeBellare-Neven.

再如:

Inthecryptographicliterature,multi-signaturesreallyonlyrefersto?n-of-n?policies.

Schnorr多签在比特币中的应用原文也指出,这里讲的多签是指n-n的多签。而Schnorr应用到更广泛的m-n多签则需要?keytrees,?MAST或者传统门限模式。

也就是说对于m-n的多签,并不能直接应用Schnorr签名聚合功能,从而享受Schnorr所带来的体积小的直接优势。相反,对于m-n而言,若要使用Schnorr则要穷举所有可能聚合的公钥,对于像5-7这样的模式,则有2*7=14种聚合方式,显得相当麻烦、可操作性极低。

广义多签vs?狭义多签

我们经常会提到多签,但很多时候场景不一样,它所代表的含义也不一样。例如:使用多签可以提升资产的安全性吗?回答:可以或不可以,都有道理。这就要看你在说哪一种多签。

广义多签:广义上的多签,是我们经常说的m-n多签,它是多人共同管理资产的一种方式。这种多签体现的是一种权力的分配,它的目的是为了分配权力,而不是提升安全。

所以在这种场景下,多签只是权力的体现,不是安全的提升。例如,你把你的个人资产做成了2-2的多签。那么,你的资产安全是否会提升?

答案是否定的。这里先不做过多解释,也许有人会反对这个答案,我们先看下面关于狭义多签的定义。

狭义多签:接着上面的例子,如果你把2-2的多签部署在两台不同服务器上,由它们各自掌握一方私钥,花费资产同时需要两台服务器签名。因为黑客破解其中一台服务器,并不能盗取资产,因此你的资产安全级别提升了。这就是狭义的多签。因为两台服务器均为你所有,它所体现的不是一种权力的分配,而是安全性的提升。。

从上面的定义可以看出,对于多签,我们常有两个目的:一个是权力的分配,另一个是安全的提升。而这两个目的通常不会同时存在。因此,理清你在说哪一种多签目的非常重要,而不是混为一谈。

对于Schnorr多签而言,一般是指n-n形式的狭义多签。

比起ECDSA,Schnorr签名所独有的聚合优势,的确会有让其有很大的应用前景。但是对于广义多签而言,所起的作用并不会太大。

注:关于广义和狭义多签的定义只是个人为了便于理解多签目的而起的名词,因此它并不是特有术语。

文中所提Schnorr相关资料链接:

https://eprint.iacr.org/2018/068.pdf

https://blockstream.com/2018/01/23/en-musig-key-aggregation-schnorr-signatures/

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

链链资讯

[0:15ms0-3:236ms