Schnorr 签名:使 BTC上的数字签名更快速和高效

 2023-05-24 22:18:47发布 2023-08-30 13:28:55更新

比特币是一种去中心化的数字货币,其采用的ECDSA椭圆曲线签名算法是保证交易安全的核心技术之一。

然而,在研究比特币ECDSA椭圆曲线签名算法时,我们发现多重签名交易验证过程非常繁琐。

为了解决这一问题,比特币多重签名逐渐发展,拥有了更快速和高效的签名方法。

今天我们就来探讨一下比特币多重签名的发展过程,并为大家详细解析这一颇具技术含量的话题。

 

一、抉择

时间回到2008年,中本聪在设计比特币协议时,需要考虑签名算法的签名长度、是否开源、是否有专利、是否经过足够长时间的安全验证、性能等多种条件。

当时,除了 ECDSA,还有一种在各个方面都不输于 ECDSA 的数字签名算法:Schnorr签名。

然而,由于它在 2008 年之前处于专利保护状态,可能是导致中本聪最终选择椭圆曲线数字签名算法(ECDSA)的原因之一。

时隔10年,比特币开发者 Pieter Wuille 写出了 bip-schnorr,提出将 bitcoin 的签名算法更改为 schnorr 方案。

Schnorr 与 ECDSA 虽然同为使用 secp236k1 曲线的椭圆曲线加密算法,但由于Schnorr签名在密码学特性上的优势,可以在几乎同等安全的基础上,更方便的构建多签名交易。

 

二、Schnorr签名

在密码学中,Schnorr 签名是由 Schnorr 签名算法产生的数字签名。它是一种数字签名方案,以其简单高效著称,其安全性基于某些离散对数问题的难处理性。

作为一种利用椭圆曲线密码学的算法,Schnorr 被提议作为 BTC 技术路线图的一部分,用来替代椭圆曲线数字签名算法(ECDSA)。

Schnorr 因其简单性、可证明的安全性和线性性而受到赞誉。由于 Schnorr 需要的计算量较少于 ECDSA,它被认为适用于 cryptocurrency 交易。

 

三、Schnorr签名的优势

相比ECDSA签名,Schnorr签名占用更少的空间,支持多重签名聚合,可防止篡改。这能减少链上交易所占用的存储空间,同时缩短确认交易所需的时间。

其次,与ECDSA相比,Schnorr签名具有以下优势:

安全证明:当使用随机的哈希函数和难以解决的离散对数问题(ECDLP)时,Schnorr签名的安全性易于证明。但ECDSA则缺乏此类证明;

非延展性:ECDSA签名可被延展,使得未掌控私钥的第三方能够更改有效签名并双花资金。而Schnorr签名被证明是不可延展的;

线性特点:Schnorr签名具有一个显著的特性,即多个参与方可以协作生成对其公钥总和有效的签名。这是提高效率和隐私的基础,例如多重签名和其他智能合约。

有意思的是,虽然Schnorr 签名被认为更适合BTC,但 ECDSA 仍被广泛使用,并被认为是一种安全的签名方案。

所以,选择 Schnorr 签名还是 ECDSA,取决于使用者的具体要求。

推荐阅读