與大多數區塊鏈不同,BTC自其早期以來基本保持不變,大多數升級都是有限的,並旨在增強網絡的效率而不是功能。 BTC協議的更新是非常罕見的,並且通常用於技術增強,以確保網絡的穩定性和安全性。
BTC有一個重要的升級是Taproot,它引入了幾個增強功能,其中包括Schnorr 簽名。相比於前一個用於密鑰生成和驗證的機制(ECDSA),Schnorr 簽名提供了幾個優勢。
在本文中,我們將解釋Schnorr 簽名是什麼,以及它如何使BTC 上的數字簽名更快速和高效。
數字簽名
數字簽名是用於驗證數字信息的真實性和完整性的數學方案。它們提供了一種證明消息是由特定發送者發送的(真實性)並且在傳輸過程中沒有被更改(完整性)的方式。換句話說,數字簽名與物理簽名並沒有太大的不同,發送者通過其獨特的簽名方式驗證自己的身份和特定意圖。
數字簽名通常在軟件分發、金融交易、合同管理軟件以及許多其他需要檢測偽造或篡改的情況下使用。
BTC中的數字簽名的重要性在BTC白皮書中由中本聰(Satoshi Nakamoto)描述如下:
“我們將電子coin 定義為一個數字簽名鏈。每個所有者通過對前一筆交易的哈希和下一個所有者的公鑰進行數字簽名,並將其添加到coin 的末尾來將coin 轉移給下一個所有者。收款人可以驗證簽名以驗證一條鏈上的所有權。”
在BTC 的情況下,數字簽名用於驗證與地址關聯的私鑰的所有者,而無需將私鑰透露給網絡。當一個交易被提交以被納入一個區塊時,BTC 網絡上的節點會檢查簽名是否與消息匹配,並在匹配時接受該交易。
什麼是Schnorr簽名?
Schnorr 簽名是一種數字簽名方案,可以高效且安全地對交易和消息進行簽名。它最早由克勞斯·施諾爾(Claus Schnorr)在1991 年的一篇論文中描述。
作為一種利用橢圓曲線密碼學的算法,Schnorr 被提議作為BTC 技術路線圖的一部分,用來替代橢圓曲線數字簽名算法(ECDSA)。 Schnorr 因其簡單性、可證明的安全性和線性性而受到讚譽。由於Schnorr 需要的計算量較少於ECDSA,它被認為適用於cryptocurrency 交易。
Schnorr簽名的優勢
Schnorr簽名具有多種優勢,包括高效性、增強的隱私性,同時保留了ECDSA 的所有功能和安全假設。 Schnorr 簽名可以實現較小的簽名大小、更快的驗證時間,並且對某些類型的攻擊具有改進的抵抗能力。
Schnorr簽名最顯著的優勢是密鑰聚合(key aggregation)- 將多個簽名聚合為一個簽名,該簽名對其密鑰的總和有效。換句話說,Schnorr 使得多個合作方能夠生成一個對他們的公鑰總和有效的簽名。
簽名聚合使得多個簽名者的簽名可以合併為一個單一的簽名
密鑰聚合能夠降低交易費用並提高底層可擴展性,因為來自多簽名設置的電子簽名在區塊中佔用的空間與來自單方交易的簽名相同。 Schnorr 的這個特性可以用於減小多重簽名支付和其他與多重簽名相關的交易的大小,例如閃電網絡通道交易。
Schnorr 簽名的另一個重要特性是不可篡改性。在數字簽名的背景下,篡改性是指攻擊者能夠修改有效簽名,使得修改後的簽名仍然有效,並認證不同於原始簽名的消息。這可能對cryptocurrency 應用造成嚴重問題,惡意攻擊者可以修改交易簽名以增加轉移資金的金額或更改資金的接收者。
Schnorr 還提供了很多隱私優勢。它可以讓多重簽名方案與傳統的單一公鑰無法從外部區分,Schnorr 使得觀察者在鏈上活動中更難區分多重簽名的支出和單一簽名的支出。此外,在n-of-m 多重簽名設置中,Schnorr 使得外部觀察者更難通過查看鏈上信息來確定哪些參與者在交易中籤名,哪些沒有簽名。
Schnorr在BTC中的應用
Schnorr 簽名被實現在BIP-340 中,作為Taproot 軟分叉升級的一部分,並於2021 年11 月14 日在區塊高度709,632 上激活。與其他BTC升級提案一樣,Taproot 被BTC礦工投票通過。 Taproot 是一系列協議改進的集合,引入了幾個新功能,改變了區塊鏈上交易的處理方式,並開啟了新的腳本能力。 Taproot 被認為是自2017年採用隔離見證(Segregated Witness)以來BTC最重要的更新之一。
Schnorr 使BTC的數字簽名更快、更安全、更易處理。值得注意的是,Schnorr 簽名與BTC的密碼學算法向後兼容,這樣就可以通過軟分叉升級引入它們。
Schnorr簽名與ECDSA的比較
正如前文所述,Schnorr 簽名相對於ECDSA 具有幾個優勢,包括更小的簽名大小、更快的驗證時間以及對某些類型攻擊的改進抵抗能力。 Schnorr 簽名還允許進行簽名聚合,這可以降低交易費用並提高可擴展性。
值得注意的是,雖然Schnorr 簽名可能被認為更適合BTC,但ECDSA 仍被廣泛使用,並被認為是一種安全的簽名方案。在選擇Schnorr 簽名和ECDSA 之間,可能會取決於具體的用例和安全要求。