n-n多签与m-n多签谁才是正在的Schnorr

金色财经 阅读 39933 2021-1-18 10:26
分享至
微信扫一扫,打开网页后点击屏幕右上角分享按钮

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

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

n-n多签与m-n多签谁才是正在的Schnorr

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

为什么呢?

我们先看下《Simple Schnorr Multi-Signatures with Applications to Bitcoin》原文的一些解释:

An obvious improvement is to replace the need for implementing n-of-n multisignatures in an ad-hoc fashion with a constant-size multi-signature primitive like Bellare-Neven.

再如:

In the cryptographic literature, multi-signatures really only refers to n-of-n policies.

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

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

广义多签 vs 狭义多签

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

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

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

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

狭义多签:接着上面的例子,如果你把 2-2 的多签部署在两台不同服务器上,由它们各自掌握一方私钥,花费资产同时需要两台服务器签名。因为黑客破解其中一台服务器,并不能盗取资产,因此你的资产安全级别提升了。这就是狭义的多签。因为两台服务器均为你所有,它所体现的不是一种权力的分配,而是安全性的提升。(真实的环境中,我们会做成 3-5、4-7 等形式的多签以提升灾难恢复能力)。

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

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

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

btcfans公众号

微信扫描关注公众号,及时掌握新动向

来源链接:https://www.jinse.com/
免责声明:
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
标签: Schnorr
上一篇:区块链+农业能擦出怎样的火花? 下一篇:40000美元之后比特币高位震荡加剧 是买?是卖?还是持有?

相关资讯