目錄
眾所周知,比特幣應用“橢圓曲線數位簽章演算法”(簡稱“ECDSA”)來執行所有權。透過該演算法,用戶使用一個數位(即私鑰)即可衍生出公鑰。
神奇之處在於,從私鑰能輕易取得公鑰,反向操作則無法實現。私鑰是進入比特幣網路的通行證,能夠產生接收代幣的地址,並讓用戶在後期花費代幣。
在本文中,我們將了解ECDSA的替代方案,即Schnorr簽名演算法,以及其即將為比特幣帶來的振奮人心的改變。
數位簽章的運作原理與傳統手寫簽章類似,但安全更有保障。任何人花費一些精力和時間都能偽造手寫簽名。但就算歷經數十萬年都難以攻破強大的數位簽章。
數位簽章擁有許多用例。常見的是向公眾傳達特定訊息。如前文所述,透過私鑰(需保密的一串數字)即可建立公鑰,而這個過程使用secp256k1曲線的複雜數學運算就能完成。接下來,透過公鑰還能產生公共地址。
請注意,公鑰對外分享絕對安全。公鑰發佈在個人網站或Twitter的個人簡介中,他人可驗證發布者的身分。同樣,公共地址可以分享給他人,以便接收他人發送的加密貨幣。
透過私鑰即可建立個人數位簽章。撰寫資訊並透過私鑰執行操作就能創建簽名資訊。任何人把簽名資訊與個人公鑰進行比較,以檢查簽名的真實性。
這又與比特幣有什麼關聯呢?其實,所有比特幣交易均內含數位簽名訊息,表明“我正在發送先前接收到的代幣”。當資訊傳送至網路的其他節點,節點核實ECDSA簽章是否與之相符。如果不匹配,節點將駁回資訊。
Schnorr簽章則屬於截然不同的機制,其運作方式類似目前使用的橢圓曲線數位簽章演算法,但優點較為突出。事實上,Schnorr簽名早於ECDSA問世,因此許多人好奇,為何該機制一開始沒有在比特幣中應用。
一個合理的解釋是,該機制的發明者Clasu P.Schnorr申請了專利。專利於2008年初,即比特幣白皮書發布前到期,但該機制當時尚未全面標準化。所以,中本聰選擇了更廣受接受的開源ECDSA。
相比其他機制,Schnorr簽章簡單得多。因此,也比其他備選機制更安全。 Schnorr簽名乍看之下似乎意義不大,但卻有另一個強大特性:線性。
通俗來講,擁有該特性的機制更適合於某些操作,尤其是多重簽章交易。眾所周知,比特幣已支援多重簽名,但效果不盡人意。
用戶建立多重簽名地址時,資金發送者無需了解用戶設定的花銷條件,甚至不知道自己正在向多重簽名設定發送資金,地址唯一的特別之處在於以“3”開頭。
但是,在需要轉移資金時,就會顯露其本質。假設有人與Alice、Bob 3人同時使用設定。一人花費5枚比特幣必須由三人同時提供公鑰和有效簽名。如有資金轉出地址,透過查看區塊鏈,整個網路都會了解到這個情況。
從隱私權角度出發,這種模式並不理想。此外,假如創建更複雜的多重簽名(例如,10人簽名,需8人批准),會佔用區塊鏈更多的空間。這樣會造成冗長交易,因此費用昂貴。請記住,交易中的位元越多,支付的費用就越多。
Schnorr簽章被認為是隱私性和可擴充性的解決方案。如我們所見,Schnorr簽章支援簽章聚合,即多位簽章者的簽章整合為單一簽章。這樣一來,“主簽名”的長度與常規的單人簽名相同,從而大大節省了空間。
此外,旁觀者很難從混合簽名中辨認出哪些人簽(或沒簽)交易。也就是說,在 m-m 機制中,所有參與者簽名後才能動用資金,他人根本無法辨別這是單方交易還是多重簽名交易。
關鍵是,Schnorr簽名是區塊鏈進一步發展的基石。簽名一經實施,即可用來改進加密貨幣的相關技術,例如原子交換和閃電網路。
➠ 想要開啟加密貨幣之旅?歡迎前往幣安買比特幣!
具體時間尚未確定。與比特幣協議的大多數升級一樣,Schnorr簽名需獲得更廣泛比特幣用戶群的認可才能實施,而這仍需假以時日。比特幣的主要貢獻者Pieter Wuille、Jonas Nick和Tim Ruffing已提交比特幣改進提案(BIP),但還有一些方面有待改善。
Blockstream已發布了MuSig簽名方案。此方案允許簽章和金鑰聚合,很有可能成為比特幣自有Schnorr簽章機制的基礎。
Schnorr簽章可作為軟分叉併入代碼,表示該變更不會分割網路。相反,這次升級會需要“選擇加入”。儘管如此,樂觀估計Schnorr簽名的整合指日可待,但要達成共識並非一朝一夕之事。
Schnorr簽名是比特幣目前路線圖中最受矚目的里程碑之一。只需一次升級,隱私性和可擴充性將會大為改觀。而Schnorr簽名還可為比特幣智慧合約和Taproot等更高階的結構進一步發展鋪平道路。