跳至主要內容
Standards Track Final

BIP-340: secp256k1 的 Schnorr 簽章

Taproot 升級的基礎,引入更高效的 Schnorr 簽章方案。

Pieter Wuille, Jonas Nick, Tim Ruffing 2020年1月19日
BIP 編號

340

類型

Standards Track

狀態

Final

創建日期

2020-01-19

摘要

本文件提出了一種基於 secp256k1 橢圓曲線的 Schnorr 數位簽章標準。 Schnorr 簽章相比比特幣原有的 ECDSA 簽章具有多項優勢, 包括更好的效率、更簡單的多重簽名實現和改進的隱私性。

為什麼使用 Schnorr?

1. 線性性

Schnorr 簽章的數學特性使其具有「線性性」,這意味著多個簽章可以聚合為一個簽章。 這對於多重簽名和閾值簽名方案特別有用。

2. 可證明安全性

Schnorr 簽章在隨機預言機模型下具有可證明的安全性, 而 ECDSA 的安全證明較為複雜。

3. 效率

Schnorr 簽章驗證比 ECDSA 更快,特別是在批量驗證多個簽章時。

技術規範

公鑰格式

BIP-340 使用僅 x 坐標的公鑰格式:

  • 公鑰長度:32 字節(僅 x 坐標)
  • 假設 y 坐標總是偶數
  • 相比 ECDSA 的 33 字節壓縮公鑰節省 1 字節

簽章格式

Schnorr 簽章由兩部分組成:

簽章 = (r, s)

r: 32 字節(臨時公鑰的 x 坐標)

s: 32 字節(簽章證明)

總計: 64 字節

關鍵優勢

  • 簽章聚合 (MuSig)

    多個參與者可以產生一個與單一簽章無法區分的聚合簽章

  • 批量驗證

    一次驗證多個簽章比逐個驗證更快

  • 適配器簽章

    支持更複雜的智能合約和原子交換

  • 更小的鏈上足跡

    多重簽名交易看起來與普通交易相同

MuSig 多重簽名

Schnorr 的線性特性使得 MuSig 協議成為可能。在 MuSig 中, n 個參與者可以一起產生一個看起來像單一簽章的聚合簽章:

  • 所有參與者的公鑰聚合為一個公鑰
  • 所有參與者的簽章聚合為一個簽章
  • 外部觀察者無法判斷這是單簽還是多簽

與 Taproot 的關係

BIP-340 是 Taproot 升級的三個 BIP 之一:

  • BIP-340:Schnorr 簽章標準(本 BIP)
  • BIP-341:Taproot 花費規則
  • BIP-342:Tapscript 驗證
已複製連結
已複製到剪貼簿