与大多数区块链不同,BTC自其早期以来基本保持不变,大多数升级都是有限的,并旨在增强网络的效率而不是功能。BTC协议的更新是非常罕见的,并且通常用于技术增强,以确保网络的稳定性和安全性。BTC有一个重要的升级是Taproot,它引入了几个增强功能,其中包括Schnorr签名。相比于前一个用于密钥生成和验证的机制(ECDSA),Schnorr签名提供了几个优势。在本文中,我们将解释Schnorr签名是什么,以及它如何使BTC上的数字签名更快速和高效。数字签名数字签名是用于验证数字信息的真实性和完整性的数学方案。它们提供了一种证明消息是由特定发送者发送的(真实性)并且在传输过程中没有被更改(完整性)的方式。换句话说,数字签名与物理签名并没有太大的不同,发送者通过其独特的签名方式验证自己的身份和特定意图。
数字签名通常在软件分发、金融交易、合同管理软件以及许多其他需要检测伪造或篡改的情况下使用。BTC中的数字签名的重要性在BTC白皮书中由中本聪(SatoshiNakamoto)描述如下:“我们将电子coin定义为一个数字签名链。每个所有者通过对前一笔交易的哈希和下一个所有者的公钥进行数字签名,并将其添加到coin的末尾来将coin转移给下一个所有者。收款人可以验证签名以验证一条链上的所有权。”在BTC的情况下,数字签名用于验证与地址关联的私钥的所有者,而无需将私钥透露给网络。当一个交易被提交以被纳入一个区块时,BTC网络上的节点会检查签名是否与消息匹配,并在匹配时接受该交易。什么是Schnorr签名?Schnorr签名是一种数字签名方案,可以高效且安全地对交易和消息进行签名。
它最早由克劳斯·施诺尔(ClausSchnorr)在1991年的一篇论文中描述。作为一种利用椭圆曲线密码学的算法,Schnorr被提议作为BTC技术路线图的一部分,用来替代椭圆曲线数字签名算法(ECDSA)。Schnorr因其简单性、可证明的安全性和线性性而受到赞誉。由于Schnorr需要的计算量较少于ECDSA,它被认为适用于cryptocurrency交易。Schnorr签名的优势Schnorr签名具有多种优势,包括高效性、增强的隐私性,同时保留了ECDSA的所有功能和安全假设。Schnorr签名可以实现较小的签名大小、更快的验证时间,并且对某些类型的攻击具有改进的抵抗能力。Schnorr签名最显著的优势是密钥聚合(keyaggregation)-将多个签名聚合为一个签名,该签名对其密钥的总和有效。换句话说,Schnorr使得多个合作方能够生成一个对他们的公钥总和有效的签名。
签名聚合使得多个签名者的签名可以合并为一个单一的签名密钥聚合能够降低交易费用并提高底层可扩展性,因为来自多签名设置的电子签名在区块中占用的空间与来自单方交易的签名相同。Schnorr的这个特性可以用于减小多重签名支付和其他与多重签名相关的交易的大小,例如闪电网络通道交易。Schnorr签名的另一个重要特性是不可篡改性。在数字签名的背景下,篡改性是指攻击者能够修改有效签名,使得修改后的签名仍然有效,并认证不同于原始签名的消息。这可能对cryptocurrency应用造成严重问题,恶意攻击者可以修改交易签名以增加转移资金的金额或更改资金的接收者。Schnorr还提供了很多隐私优势。它可以让多重签名方案与传统的单一公钥无法从外部区分,Schnorr使得观察者在链上活动中更难区分多重签名的支出和单一签名的支出。此外,在n-of-m多重签名设置中,Schnorr使得外部观察者更难通过查看链上信息来确定哪些参与者在交易中签名,哪些没有签名。
Schnorr在BTC中的应用Schnorr签名被实现在BIP-340中,作为Taproot软分叉升级的一部分,并于2021年11月14日在区块高度709,632上激活。与其他BTC升级提案一样,Taproot被BTC矿工投票通过。Taproot是一系列协议改进的集合,引入了几个新功能,改变了区块链上交易的处理方式,并开启了新的脚本能力。Taproot被认为是自2017年采用隔离见证(SegregatedWitness)以来BTC最重要的更新之一。Schnorr使BTC的数字签名更快、更安全、更易处理。值得注意的是,Schnorr签名与BTC的密码学算法向后兼容,这样就可以通过软分叉升级引入它们。Schnorr签名与ECDSA的比较正如前文所述,Schnorr签名相对于ECDSA具有几个优势,包括更小的签名大小、更快的验证时间以及对某些类型攻击的改进抵抗能力。Schnorr签名还允许进行签名聚合,这可以降低交易费用并提高可扩展性。值得注意的是,虽然Schnorr签名可能被认为更适合BTC,但ECDSA仍被广泛使用,并被认为是一种安全的签名方案。在选择Schnorr签名和ECDSA之间,可能会取决于具体的用例和安全要求。