可扩展性长期以来一直被认为是比特币持续增长的最大障碍之一。为了容纳数百万使用比特币交易的用户,网络必须被扩展。人们正在开发许多扩展解决方案来“加速”比特币。虽然第 2 层解决方案在区块链社区引起了关注,但基础层解决方案也不容忽视,因为它们也可以大幅增加网络的吞吐量。在这些第一层解决方案中,有 Schnorr 签名。本文探讨了它们的操作,并阐述了该技术的好处。
Schnorr 签名算法是由德国密码学家 Claus Schnorr 设计的,早在比特币问世之前多年。在寻找扩展解决方案的过程中,比特币开发者认识到了这一算法为流行加密货币提供扩展手段的潜力,因为它减少了对特定类型交易的交易签名的需求。
没有签名,比特币交易就无法进行,签名占据了区块链上的一定空间。当比特币从一个地址发送到另一个地址时,这不是问题。然而,当多个地址用来向单个地址发送比特币时,问题就变得更加严重。
为了使交易成功,每一个发送地址都必须提供一个签名。想象一下,如果你有五个比特币地址,并且你从每一个地址发送了 1 个比特币到你朋友的地址。你将不得不提供五个签名,这将占用五倍的区块空间,因此,需要支付更高的费用。Schnorr 签名可以解决这个问题。
Schnorr 签名是由 Schnorr 签名算法产生的数字签名。它允许使用单个签名签署交易,无论资金来自多少个地址。Schnorr 签名是最早的数字签名类型之一,其安全性是基于离散对数问题的难解性。
Schnorr 签名的另一个优点是在保护比特币方面提供了更高的隐私性。一些用户使用多重签名发送交易,以增加安全性。例如,你可以要求多人或设备签署一笔交易——这一功能被称为 MultiSig。有人可能不希望别人看到他们正在这样做,Schnorr 签名使这样的签名看起来像其他任何签名一样。
Schnorr 签名最显著的好处是其对第一层扩展(扩展区块链本身,而不是依赖外部的第二层解决方案)的贡献。通过减少存储在区块链上的签名数据量,Schnorr 签名释放了区块存储空间。这允许每个区块处理更多的交易,从而增加了比特币网络的交易吞吐量。
但扩展不是 Schnorr 签名可以改进比特币协议的唯一方式。它们带来的另一个主要改进是增强了防御垃圾邮件攻击的安全性。垃圾邮件攻击是对网络的有意攻击,导致交易流量激增。它们引发瓶颈效应,导致来自内存池的交易确认延迟。结果,交易费用也上升。
Schnorr 签名技术的开发是通过 SegWit 协议解锁的。SegWit处理了比特币协议中一个通常被称为交易可变性的 bug,该 bug 使得可能修改交易哈希和因此 ID。虽然这不是项目的初衷,但 SegWit 在困扰比特币社区多年的扩展争论中成为了一个重要的步骤。
比特币的流行导致了扩展的需要。加上比特币是第一个向公众发布的加密货币,其长期作为市值最大的加密货币的地位,以及技术改进的一贯性,其中 Schnorr 签名非常重要,使得比特币成为最杰出的加密货币,往往是用户用普通货币购买的第一种加密货币。