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 驗證
相關 BIP
延伸閱讀: 查看 GitHub 上的完整 BIP-340 文件
已複製連結