什么是Schnorr签名,Schnorr签名对比特币有何意义?

 2023-10-02 21:25:29发布 2023-10-02 21:25:37更新

Schnorr 签名是一种数字签名方案,可以高效且安全地对交易和消息进行签名,它被提议作为 ECDSA 的替代方案,以提供比特币网络的可扩展性、安全性和灵活性。Schnorr 签名启用了多重签名交易,并加强了比特币网络免受垃圾邮件攻击的能力。

Schnorr签名的出现

尽管比特币已有十余年历史,但它仍难以比肩更具创新性的网络。比特币网络上的每次升级都需要验证者和矿工达成重大共识并进行协调,这削弱了比特币适应不断变化的区块链行业的能力。

2017年,隔离见证(SegWit)推出后,比特币足足等了4年才迎来新的升级。在获得90%的共识后,Taproot Upgrade 于2021年推出。

Taproot 升级包含致力于提高网络灵活性、可扩展性和安全性的三个比特币改进提案(BIP)。第一个 BIP 用更快、更安全的机制 Schnorr 签名取代了椭圆曲线数字签名算法 (ECDSA)。

什么是Schnorr签名

Schnorr 签名是一种数字签名方案。它因具有简单性而与众不同。Schnorr 签名与之前实施的方案 ECDSA 略有相似,但是前者包括多重签名交易,拥有多项优势。

Schnorr 签名最早由 Claus Peter Schnorr 在 1991 年的一篇论文中描述,但由于其专利在2008年到期而未能在主流加密领域得到应用。

什么是数字签名

所有加密货币都涉及数字签名。这是因为,在区块链上,所有权并不由法律文件和实际签名​​等传统概念来表示。加密货币是数字形式的,要求使用数字数据证明所有权。证明这种所有权的加密方法称为。

数字签名是通过称为私钥-公钥加密的复杂数学计算创建的。所有比特币交易都包含公钥和私钥两种类型的密钥。私钥是一堆很难猜到的随机数,由计算机随机生成,只能由帐户所有者或交易执行者访问。你能将它们视为由用户私有并保密的密码。

公钥在数学上与私钥相关联。但与私钥不同的是,公钥是公开的,并附加到用户从同一钱包地址进行的每笔交易。私钥-公钥对的关键在于,私钥的所有者可以生成相应的公钥,但反过来却不能生成相应的公钥。

因此,数字签名是通过证明持有私钥而创建的,而无需公开密钥本身。此过程涉及复杂的数学过程,例如哈希和脚本结构。在比特币网络上,任一交易完成之前,都必须创建并验证数字签名。

创建和验证这些签名的方法称为方案。比特币之前使用的是 ECDSA 方案,它使用椭圆曲线和有限域完成。然而,随着 Taproot 的引入,网络的验证者和矿工投票将数字签名方案更改为 Schnorr 签名——一种可提供更多优势的替代机制。

什么是ECDSA

ECDSA 是比特币先前使用的数字签名方案,该方案获选主要是因为它的可用性。在比特币诞生时,Schnoor 签名具有只有其创建者能使用该方案的专利。

此外,使用椭圆曲线和有限域引入的 ECDSA 方案已经过更好的测试。

Schnorr签名的工作原理

类似于 ECDSA 方案,Schnorr 签名方案也使用了私钥-公钥对加密技术。然而,Schnorr 签名中用于提供数字签名的数学计算略有不同。

从某些方面来看,Schnorr 签名是 ECDSA 方案的改进版本。Schnorr 计算仍然使用椭圆曲线密码学 (ECC);但签名过程更加简单,让每个交易在区块中占用更少的存储空间。

ECDSA 签名没有标准存储大小,但它们驻留在71到72字节之间。此外,Schnorr 签名更加紧凑,最大签名大小为64字节。

Schnorr 中的数字签名计算也称为线性计算,意指计算的简单性,支持调整以创建替代的加密结果。MuSig 协议就是这样的方案之一:无论所涉及的公钥有多少个,它在一项复杂的交易上结合多个签名来创建一个签名。

Schnorr签名的工作原理

Schnorr签名的工作原理

Schnorr签名的优势

ECDSA数字签名方案十多年来一直运行良好,因而都是比特币的数字签名算法。但真正的发展需要进行新的或更好的创新。

尽管Schnorr 方案历史较悠久,但它为比特币网络提供了更多优势,其重要优势是具有可扩展性,而这是比特币网络自诞生以来面临的最大问题之一。

可扩展性

可扩展性是区块链行业最普遍的问题之一。它是指网络在交易增加以及区块链节点增加的压力下可保持高效运行的能力。

作为历史最悠久的网络,比特币拥有数百万用户,但这个数字先前给网络带来了极大的压力,导致交易费用增加、交易处理时间放缓。Schnorr 计算将交易压缩为更小的(存储)大小,从而减少单个交易添加到区块时占用的空间量。

随后,矿工可将更多交易添加到单个锁中,并提高网络上交易处理的总体速度。反过来,扩容问题得到缓解后,比特币网络上的交易费用也随之降低。

多重签名(签名聚合)

使用了 ECDSA(典型的数字签名,仅涉及一个公钥)后,当交易涉及多方和多个密钥时,该签名方案会创建多个签名,与所涉及密钥的数量相当。

Schnorr 签名拥有一种称为线性的功能,该功能可以将涉及多个公钥(各方)的交易结合起来以生成单个数字签名。因此,此类涉及多方的交易看起来与任何其他交易一样。

从隐私的角度来看,这是一大进步。在此之前,多重签名交易占用更多空间,并且很容易与普通的单密钥交易区分开来。但使用多重签名(MuSig)后,网络上的所有交易看起来都很相似,并且彼此无法区分。

多重签名交易为比特币网络上的批量验证打开了通道。通常,会依次验证每个签名和每笔交易。该过程通常很费时间且浪费资源。

由于多重签名交易是通过聚合所有相关公钥来实现的,因此比特币节点能批量验证签名,从而减少了验证单个交易的时间和计算能力。

Schnorr和隐私性

Schnorr 签名极大地增强了比特币网络内的隐私性。该签名方案的主要优势之一是,它能够有效地批量验证多个签名,并将它们聚合为单个签名。

通过将交易规模最小化,Schnorr 签名有助于掩盖多重签名交易中涉及的参与者数量,从而提高交易隐私性和机密性。

Schnorr 签名还增强了比特币对延展性攻击的抵抗力。Schnorr 签名是不可延展的,这意味着第三方无法在不使签名无效的情况下修改它们。该属性保护了交易的完整性,从而提高了隐私性和安全性。

推荐阅读