定义
Schnorr签名是由德国数学家和密码学家克劳斯-彼得·施诺尔(Claus-Peter Schnorr)发明的一种数字签名方案,以其数学上的简洁性、可证明的安全性以及独特的线性特性而闻名,这种特性使得高效的多重签名聚合成为可能。在区块链领域,Schnorr签名通过2021年11月激活的Taproot升级(BIP 340/341/342)引入比特币,取代了比特币自诞生以来一直使用的椭圆曲线数字签名算法(ECDSA)。Schnorr签名在区块链应用中的关键创新在于其对密钥聚合的原生支持——多个公钥及其对应的签名可以组合成一个密钥-签名对,该密钥-签名对与常规的单签名交易无法区分。这对于隐私、可扩展性和智能合约功能具有深远的影响。使用Schnorr签名的多重签名钱包在区块链上的外观与单签名钱包完全相同,从而增强了隐私性。更小的组合签名大小减少了交易数据量,提高了可扩展性。此外,Schnorr签名通过taproot实现了更高效、更灵活的脚本功能。taproot使用一种名为MAST(默克尔化替代脚本树)的结构,并结合Schnorr签名,确保复杂的支出条件在未被执行之前保持私密性。Schnorr签名的数学基础基于离散对数问题,这与ECDSA的底层假设相同,从而保证了其同等的密码学安全性。
起源与历史
| 日期 | 创建 |
| 1989 | 克劳斯-彼得·施诺尔发明了施诺尔签名方案;于 1990 年提交美国专利申请(美国专利号 4,995,082)。 |
| 1991 | Schnorr 在《密码学杂志》上发表了题为“基于智能卡的高效签名生成”的文章。 |
| 2008 | 中本聪之所以选择 ECDSA 而非 Schnorr 来开发比特币,是因为 Schnorr 存在有效的专利限制。 |
| 2008 | Schnorr的专利到期,该算法将可以免费用于实现。 |
| 2020 | Pieter Wuille、Jonas Nick 和 Tim Ruffing 提议将比特币中的 Schnorr 签名纳入 BIP 340。 |
| 2020 | BIP 340(Schnorr)、BIP 341(Taproot)和 BIP 342(Tapscript)已正式提出 |
| 2021 | Taproot/Schnorr 升级实现了 90% 以上矿工信号支持的锁定 |
| 2021 年 11 月 | Taproot 在比特币区块 709,632 处激活,从而在比特币网络上启用 Schnorr 签名。 |
| 2022-2023 | 钱包 协议开发者开始集成基于 Schnorr 的功能,包括密钥聚合。 |
| 2024 | 基于Schnorr的多重签名方案(MuSig2)在闪电网络和机构托管中得到广泛应用 |
“Schnorr签名是最优雅的数字签名方案——其线性特性使其在多方加密协议中具有根本性的优越性。” ——比特币核心开发者 Pieter Wuille
运作模式
“` +——————————————————————+
| SCHNORR 签名计划 | +———————————————————————+
| 密钥生成(与 ECDSA 相同的曲线:secp256k1) |
| +——————————————————————+ |
| +——————————————————————+ |
| 签署流程: |
| +——————————————————————+ |
| +——————————————————————+ |
| 验证流程: |
| +——————————————————————+ |
| +——————————————————————+ |
| 密钥聚合(多重签名魔法): |
| +——————————————————————+ |
| +——————————————————————+ |
| 与 ECDSA 的比较: |
| +——————+——————+ |
| +——————+——————+ |
| +——————+——————+ |
+————————————————————————+ “`
| 特性 | ECDSA(根基前) | 施诺尔(后根) |
| 签名尺寸 | 约72字节(DER编码) | 64 字节(固定) |
| 密钥聚合 | 不支持本地 | 原生线性聚合 |
| 多重签名隐私 | 链上可见的多重签名脚本 | 聚合密钥看起来像单签名密钥。 |
| 批次验证 | 效率不高 | 显著加快批量验证速度 |
| 可证明的安全性 | 基于通用群组模型的安全 | 在随机预言机模型下可证明是安全的 |
| 签名可塑性 | 可修改的(第三方可以修改) | 结构上不可延展 |
| 数学复杂性 | 更复杂的符号方程 | 更简洁、更优雅的数学 |
简单来说
- 施诺尔签名就像是更优雅的数字签名。 ——这证明您在不透露个人信息的情况下授权了交易。 私钥但它使用比比特币之前使用的 ECDSA 方法更简单的数学运算和更小的签名。
- 这个魔术技巧是签名加法 — 如果 Alice 和 Bob 都需要签署一笔交易(多重签名),Schnorr 允许将他们的两个签名通过数学方法合并成一个单一签名,该签名看起来与其他任何签名完全相同。而使用 ECDSA 时,两个签名必须分别提交。
- 这大大提高了隐私保护水平。 — 在比特币区块链上,一个 Schnorr 多重签名 交易看起来与普通的单签名交易完全相同。任何人都无法分辨交易是由一人还是五十人签署的,从而增强了所有参与者的隐私。
- 它节省空间并降低费用 由于多个签名合并为一个,Schnorr 多重签名交易比 ECDSA 多重签名交易占用更少的区块空间。更少的空间意味着用户交易费用更低,网络每个区块可以处理更多交易。
- Taproot 将这一切整合在一起 — 比特币的 Taproot 升级将 Schnorr 签名与 MAST(默克尔化替代脚本树)相结合,从而实现复杂的支出条件(如时间锁、多重签名或托管),除非采用非标准路径,否则这些条件将保持完全私密。
实际例子
| EventXtra XNUMX大解决方案 | 技术实施 | 成果 |
| 比特币多重签名钱包 | 机构托管服务提供商使用 MuSig2(基于 Schnorr 算法)进行 3/5 多重签名。 | 链上占用空间与单签名相同;交易费用比传统多重签名降低 60%。 |
| 闪电网络通道 | 闪电通道的开/关交易使用 Schnorr 密钥聚合 | 渠道管理交易的金额越来越小,与普通支付难以区分。 |
| CoinJoin 隐私 | 基于 Schnorr 算法的 CoinJoin 实现会聚合来自多个参与者的签名 | 协作交易看起来像单签名交易,从而提高了隐私性,降低了链分析的有效性。 |
| 比特币智能合约 | 开发者使用 Taproot(Schnorr + MAST)创建条件消费脚本。 | 除非采取非合作方式,否则复杂的合约逻辑在链上保持隐藏状态,从而增强了隐私性和效率。 |
优势
| 企业优势 | 描述 |
| 可证明的安全性 | 与 ECDSA 不同,Schnorr 签名在随机预言机模型下具有形式化的安全性证明。 |
| 密钥聚合 | 原生线性签名聚合功能支持使用单个链上签名实现高效的多方签名。 |
| 隐私增强 | 链上的多重签名、CoinJoin 和复杂脚本与简单的交易变得无法区分。 |
| 空间效率 | 固定的 64 字节签名(相比于可变的约 72 字节 ECDSA)和签名聚合减少了区块链的数据使用量。 |
| 批次验证 | 同时验证多个 Schnorr 签名比单独验证每个签名速度更快,从而加快节点验证速度。 |
缺点与风险
| 风险 | 描述 |
| 收养速度 | 自 2021 年激活以来,Schnorr/Taproot 功能的钱包和服务集成速度比预期要慢。 |
| Nonce 重用漏洞 | 如果同一个随机数(nonce)在Schnorr签名中被使用两次,私钥就会立即泄露。 |
| 协议复杂性 | 多方Schnorr协议(MuSig、MuSig2)需要谨慎处理随机数,并进行多轮通信。 |
| 向后兼容性 | 必须对原有系统进行更新以支持 Schnorr 验证,这将导致签名类型混合使用的过渡期。 |
| 简化链分析 | Schnorr 的隐私功能虽然能为用户带来隐私优势,但却令依赖链上交易模式分析的监管机构和合规团队感到担忧。 |
风险管理提示:
- 始终使用硬件钱包或经过充分审计且正确实现随机数生成功能的软件进行 Schnorr 签名。
- 参与多方Schnorr协议(MuSig2)时,请确保所有参与方都遵循正确的nonce承诺协议。
- 将钱包升级到与 Taproot 兼容的版本,即可享受 Schnorr 的隐私和效率优势。
- 随着技术的成熟,应密切关注比特币生态系统中 Schnorr/Taproot 的最佳实践。
- 请理解,Schnorr 并没有改变比特币的基本安全模型——它只是在相同的密码学假设下对其进行了增强。
常见问题解答
问:为什么比特币从一开始就没有使用 Schnorr 签名?
答:中本聪在2008年设计比特币时,Schnorr签名算法仍在专利保护期内(美国专利号4,995,082,申请于1989年)。尽管该专利已于2008年到期,但ECDSA已成为成熟的、免费且拥有广泛实现支持的标准。中本聪选择ECDSA是为了避免任何潜在的专利纠纷,并且因为它已经在密码学库中得到广泛应用。
问:MuSig2是什么?它与Schnorr有什么关系?
答:MuSig2 是一种基于 Schnorr 签名的两轮多重签名协议,由 Jonas Nick、Tim Ruffing 和 Yannick Seurin 开发。它允许多个参与方协作生成一个与常规单签名者签名无法区分的 Schnorr 签名。MuSig2 在原 MuSig 协议的基础上进行了改进,将所需的通信轮数从三轮减少到两轮,使其更适用于实际应用。
问:Schnorr 是否让比特币更具隐私性?
答:是的,影响显著。借助 Taproot 的 Schnorr 密钥聚合功能,多重签名钱包、CoinJoin 交易、闪电通道操作以及复杂的智能合约在区块链上都表现为简单的单签名交易。这使得链分析公司更难区分不同的交易类型,从而提升了所有比特币用户的隐私保护。
问:Schnorr签名比ECDSA更安全吗?
答:Schnorr签名被认为至少与ECDSA签名一样安全,甚至可能更安全。Schnorr签名在随机预言机模型下有形式化的安全性证明,表明破解Schnorr签名的难度与解决离散对数问题相当。ECDSA签名缺乏如此清晰的安全性证明。此外,Schnorr签名是不可延展的,从而避免了一类曾影响ECDSA比特币交易的攻击。
问:Schnorr 签名能否抵抗量子计算攻击?
答:不。与ECDSA一样,Schnorr签名依赖于椭圆曲线离散对数问题,而该问题在足够强大的量子计算机上很容易被Shor算法破解。如果大规模量子计算机成为现实,这两种签名方案都需要被后量子时代的替代方案所取代。这在整个密码学界都是一个活跃的研究领域。
来源
- BIP 340:secp256k1 的 Schnorr 签名 — github.com/bitcoin/bips/blob/master/bip-0340.mediawiki
- Schnorr, CP,“智能卡的高效签名生成”——密码学杂志,1991年
- Bitcoin Optech — bitcoinops.org(Taproot/Schnorr 资源)
- 安德烈亚斯·M·安东诺普洛斯著《精通比特币》
- Blockstream Research — MuSig2 协议规范
UPay 小贴士:如果您持有比特币,请将您的钱包升级到支持 Taproot 和 Schnorr 签名的钱包。使用 Taproot 地址(以“bc1p”开头),您将自动受益于更高的隐私性、更低的交易费用以及比特币网络上最先进的加密签名方案。您使用 Taproot 进行的每一笔交易,都会通过提高所有 Taproot 用户的匿名性,从而帮助整个比特币生态系统。
免责声明:本内容仅供教育用途,不构成任何投资建议。在做出任何投资决策之前,请务必自行研究(DYOR)并咨询合格的财务顾问。
UPay——让加密货币成为百科全书









