理解 BLS 签名算法
理解 BLS 签名算法 来源 https://medium.com/cryptoadvance/bls-signatures-better-than-schnorr-5a7fe30ea716 原文标题:《干货:理解 BLS 签名算法》 作者:Stepan 翻译 & 校对:wuwei & 阿剑 之前的文章中,我介绍了 Schnorr 签名算法和它的优势。现在,我来介绍下 BLS (Boneh-Lynn-Shacham)签名算法以及它相比 Schnorr 的优胜之处。 长话短说,我们已经知道: ECDSA 签名算法已经足够胜任它的工作,但也仅限于此。它无法做签名聚合或者密钥聚合,因此只能挨个对签名进行验证。在验证多重签名的交易时,此举过于繁琐,我们需要逐个验证所有的签名及其对应的公钥,耗费大量的区块空间和交易费。 Schnorr 签名算法就好多了,它可以把一笔交易中的所有签名和公钥合并成单个签名和公钥,且合并过程不可见(无从追溯这个签名或公钥是否通过合并而来)。另外,可以一次性对合并后的签名做验证,加快了区块验证的速度。当然,该算法也有一些不足 : 多重签名需要多次(签名者之间的)通信,这对冷钱包来说过于麻烦; 聚合签名算法依赖随机数生成器,而不像 ECDSA 那样可以使用指定的随机点(R); m-n 多重签名机制比较取巧,需要构建公钥的默克尔树。当 m 和 n 较大时