这篇文章主要介绍了正确理解 Schnorr 多签 ,文中通过代码以及文档配合进行讲解,很详细,它对在座的每个人的研究和工作具有很经典的参考价值。 如果需要,让我们与区块链资料网一起学习。

https://www.interchains.cc/21103.html

正确理解 Schnorr 多签是很好的区块链资料,他说明了区块链当中的经典原理,可以给我们提供资料,正确理解 Schnorr 多签学习起来其实是很简单的,

不多的几个较为抽象的概念也很容易理解,之所以很多人感觉正确理解 Schnorr 多签比较复杂,一方面是因为大多数的文档没有做到由浅入深地讲解,概念上没有注意先后顺序,给读者的理解带来困难

正确理解 Schnorr 多签

  • 多签
  • 密码学

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

周末逛了逛链闻,看上面有几篇关于 Schnorr 签名的文章,写得不太对。所以写篇文章把它指出来。

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

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

正确理解 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 多签在BTC中的应用原文也指出,这里讲的多签是指 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 签名所独有的聚合优势,的确会有让其有很大的应用前景。但是对于广义多签而言,所起的作用并不会太大。

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

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

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

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

首发于:谈谈区块链blockchain公众号: 链接

部分转自网络,侵权联系删除www.interchains.cchttps://www.interchains.cc/21103.html

区块链毕设网(www.interchains.cc)全网最靠谱的原创区块链毕设代做网站 部分资料来自网络,侵权联系删除! 最全最大的区块链源码站 ! QQ3039046426
区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » 正确理解 Schnorr 多签

提供最优质的资源集合

立即查看 了解详情