LucasNuzzi文
本文由幣信研究院原創編譯,原文鏈接:
https://medium.com/digitalassetresearch/schnorr-signatures-the-inevitability-of-privacy-in-bitcoin-b2f45a1f7287
本文版權歸原作者所有,僅代表作者本人觀點,不代表幣信或幣信研究院的觀點或立場。
本文約5500字,閱讀全文需約13分鐘。
虛空中的Schnorr簽名。
數字簽名是在線主權的支柱。公鑰密碼學在1976年的出現,為創建全球通信媒介、互聯網以及全新的貨幣形式比特幣鋪平了道路。雖然從那時起公鑰加密的基本屬性并沒有太大變化,但現在密碼學家的工具箱中有許多開源數字簽名方案。
在中本聰開始構思比特幣時,要考慮的關鍵設計選擇之一,就是在這個開放的、無許可的金融系統中使用哪種簽名方案。要求很明確;中本聰需要一種使用廣泛、易于理解、足夠安全、輕量級,最重要的是開源的算法。在當時可用的所有選項中,他選擇了最符合該標準的選項:橢圓曲線數字簽名算法。
當時,ECDSA由OpenSSL本地支持,OpenSSL是由一群賽博朋克老手開發的一組開源加密工具,用于改善在線通信的隱私性。相對于其他流行的方案,ECDSA的好處是具有更精簡的計算要求和更短的密鑰長度;這些都是數字形式的貨幣的有用屬性。同時,它還提供了與RSA等方案相當的安全性:例如,256位ECDSA密鑰與3072位RSA密鑰具有相同的安全性,但其大小只是后者的一小部分。
PieterWuille和其他人在一條被稱為secp256k1的改進曲線上的努力使得比特幣的ECDSA更快、更有效。然而,ECDSA仍然存在固有的缺陷,人們始終有理由去取代它。經過幾年的研究和實驗,出現了一種旨在提高比特幣交易隱私性和效率的新簽名方案:Schnorr數字簽名方案。
Santo Blockchain和法國藝術家Jerome Peschard發布新NFT系列:金色財經報道,創意區塊鏈軟件開發公司Santo Blockchain Labs與法國著名流行藝術家Jerome Peschard聯手推出了一系列名為XR-NFT的新NFT。限量版的共50個XR-NFT定于8月中旬鑄造,并可以用ETH購買。[2021/7/27 1:16:54]
在本文中,我概述了Schnorr簽名的多種實現及其相應的好處。然后,我探索了MuSig,這是一種新的多重簽名標準,可作為Taproot等新型比特幣技術的構建模塊。最后,我描述了Schnorr的完全實現版本將如何打破區塊鏈分析中使用的試探,同時幫助在比特幣的主層建立一個強大的費用市場。
SCHNORR簽名的興起
盡管Schnorr數字簽名方案比ECDSA具有許多優勢,但它肯定不是新的。它由德國密碼學家和學者Claus-PeterSchnorr發明,在20世紀80年代,他在法蘭克福大學擔任教授和研究員。他提出的簽名方案是DavidChaum、TaherEIgamal、AmosFiat和AdiShamir的研究和工作的整合。然而,在發布之前,ClausSchnorr為他新發明的方案申請了多項專利,多年來,該方案一直禁止其直接使用。
十分有趣的是,ECDSA的前身DSA是ElGamal和Schnorr方案的混合體,該方案僅用于規避ClausSchnorr的專利。事實上,在Schnorr的美國專利發布僅兩個月后,DSA的創始人美國國家標準與技術研究院也為其解決方案申請了專利。這里有一些基本的賽博朋克歷史:在那之后,ClausSchnorr對他的專利采取了防守措施,并直接回應了碼農朋克郵件列表里對他的批評者。他的回答可以在這里和這里閱讀。此處還可以找到描述專利問題的內部NIST備忘錄。
Peter Schiff被支持比特幣的兒子指出“對貨幣的理解有缺陷”:比特幣反對人士、黃金愛好者Peter Schiff近期在推特上表示,“Max Keiser(華爾街金融分析師、比特幣支持者)說,我反對比特幣是因為我是一個法幣迷。在比特幣的奇異世界里,黃金是新的法幣。顯然,Max Keiser不理解法定貨幣的概念,也不理解它與合法貨幣或實際貨幣的區別。這解釋了他為何對比特幣如此癡迷。”
Peter Schiff 18歲的兒子、比特幣支持者Spencer Schiff對此回復道:“你對金錢的理解是有缺陷的。你認為貨幣是否堅挺的關鍵決定因素是是否擁有“內在價值”,這是一個荒謬的概念。健康貨幣與法定貨幣的區別在于前者出現在自由市場上,而不是通過強制性的國家法令。”Keiser還點贊了Spencer的推特,稱“未來屬于比特幣愛好者。”(Bitcoin.com)[2020/12/31 16:11:22]
2008年,在Schnorr簽名方案推出近二十年后,ClausSchnorr的專利已經過期。巧合的是,2008年也正是我們最喜歡的賽博朋克——中本聰——正在實現比特幣的那年。盡管在當時本來可以使用Schnorr簽名,但它們還尚未被標準化或廣泛運用,這可能是中本聰用ECDSA來替代的動機。雖然密碼學家和數學家經常將其描述為極差,但ECDSA已經被廣泛使用,它在當時為比特幣提供了更安全的選擇。
比特幣上的SCHNORR
十年過去,Schnorr方案在今天不那么深奧了,像ed25519這樣的標準化實現成為一些競爭幣的流行選擇。關于可能在比特幣上實現Schnorr的非正式談話可以追溯到2014年BitcoinTalk上的這個話題,但到了PieterWuille撰寫SchnorrBIP的時候,經過多年的研究和實驗,這項提案才得以正式化。本BIP草案描述了潛在Schnorr實現的規范和技術細節,該實現將比ECDSA具有以下優勢:
Peter Schiff之子不顧其反對購買了更多的比特幣:華爾街大鱷、著名的黃金支持者和比特幣批判家Peter Schiff在推特表示,其兒子不聽其勸告,購買了更多的比特幣。Peter Schiff就此發起投票,詢問“你想聽從誰的建議?一個57歲經驗豐富的投資者/企家主,已經成為投資專家超過30年。還是一位18歲的大學新生,甚至從未工作?”經查詢發現,截至目前,共有5.8萬名用戶參與了投票,其中有81.2%選擇了“從未工作過的18歲大學新生”,包括MorganCreek聯合創始人AnthonyPompliano在內的多位加密社區人士對表示出了對年輕的Schiff的支持。[2020/9/8]
·安全性證明:當使用足夠隨機的哈希函數,并且簽名中使用的橢圓曲線離散對數問題足夠困難時,Schnorr簽名的安全性很容易證明。ECDSA不存在這樣的證明。
·不可延展性:ECDSA簽名具有內在的延展性,這可能使第三方在無法訪問私鑰的情況下改變現有的有效簽名并雙花資金。這個問題在BIP62中正式討論過。相比之下,Schnorr簽名可證明是不可延展的。
·線性:Schnorr簽名具有這樣一個明顯特性,即多方可以協作生成對其公鑰總和有效的簽名。這是各種用于提高效率和隱私的更高級構造的構成要素。
Schnorr提供的安全性證明及其不可延展性保證與ECDSA相比具有明顯優勢。只有在這兩個好處的基礎上才能證明軟分叉是合理的。然而,Schnorr的線性屬性格外令人興奮。實質上,這使得一筆多重簽名交易中的多個簽名者能夠將他們的公鑰組合成一把代表該團體的聚合密鑰;這一屬性被稱為密鑰聚合。
雖然融合密鑰的能力可能聽起來微不足道,但我們不應該低估密鑰聚合的好處。由于ECDSA本身不支持多重簽名,因此它必須通過被稱為Pay-to-ScriptHash的標準化智能合約來在比特幣中實現。這使得用戶可以添加被稱為質押權的支出條件來指定資金的使用,如“只有Alice和Bob雙方都對此消息簽名的解鎖余額才能使用。”
黃金支持者Peter Schiff:比特幣投機者開始拋售,減半時利潤可能會消失:黃金支持者Peter Schiff發推稱,看起來,一些預期在減半的情況下買入的比特幣投機者迫不及待地開始拋售。隨著越來越多的賣家操之過急,等到減半發生時,那些原本希望從中獲得的利潤可能已經消失了。[2020/5/10]
P2SH的第一個問題是它需要知道參與multisig的所有簽名者的公鑰,這不是一個有效率的系統。聚合這些密鑰將允許更有效率的驗證,因為網絡只需要驗證一個密鑰,而不是n個密鑰。這也意味著更少的區塊鏈足跡、更低的交易成本和改良的帶寬。
P2SH的第二個問題是它提供的隱私保證非常少。根據BIP13的規定,P2SH交易需要使用以3號開頭的不同地址。這使得區塊鏈觀察者不僅能識別網絡中的所有P2SH交易,而且還能準確指出多重簽名內的身份:
不好。
在上面的例子中,網絡將意識到多重簽名交易的存在,它由多少個簽名者組成,以及簽名者是誰。這不利于操作安全性,特別是對于像2FA這樣的用例。這不利于隱私。
另一方面,密鑰聚合允許簽名者保持匿名,并且不會通過泄露解鎖余額所需的密鑰來損害操作安全性。最重要的是,密鑰聚合使得多重簽名可以與常規交易無法區分:
好。
比特幣中Schnorr的第一次迭代將淘汰當前與ECDSA一起使用的OP_CHECKSIG和OP_CHECKMULTISIG系列操作碼,以支持一個名為OP_CHECKDLS的新類別。我這里不介紹太多細節,DLS代表的是離散日志簽名,它允許使用更少的操作碼更有效地驗證簽名。
在2018年初,GregoryMaxwell、AndrewPoelstra、YannickSeurin和PieterWuille就一項名為MuSig的基于Schnorr的新多重簽名方案發表了一份白皮書。自MuSig發布以來,他們一直在努力將提出的多重簽名方案轉換為可用的代碼。
動態 | ChainSafe 發布用于 Polkadot 驗證人簽名算法的 Go 語言實現 Go-Schnorrkel:加拿大科技公司 ChainSafe 發布使用 sr25519 簽名算法的 Go 語言實現 Go-Schnorrkel。ChainSafe 表示,Go-Schnorrkel 由 ChainSafe 工程師 Elizabeth 編寫,Go-Schnorrkel 是 ChainSafe Gossamer 開發的重要一步,Gossamer 是 Polkadot 運行時環境的第二個實現,驗證人將使用 Gossamer 執行簽名職責,并通常在 Gossamer 生態系統內簽署交易。Go-Schnorrkel 包括分層密鑰派生功能,允許用戶從種子密鑰對創建多個密鑰對,同時還包括用于從助記詞創建密鑰對的 substrate-bip39。Go-Schnorrkel 于近期完成升級,完成一個可驗證的隨機函數(VRF)功能的實現,該功能將幫助節點用來證明可以為特定插槽創作特定區塊。ChainSafe 同時表示,感謝 Cosmos 的研究員 Sunny Aggarwal 在 substrate-bip39 中提供幫助。[2020/1/25]
在密鑰聚合的背景下,關于MuSig最有趣的事情之一,是在區塊鏈之外創建私人智能合約的可能性。從本質上講,MuSig使多重簽名參與者能夠將質押權附加到鏈下聚合密鑰,這不需要比特幣的共識規則來知道它。
2018年12月,安東尼·湯斯是第一個為激活Schnorr提出半正式提案的核心開發者,該提案發布在比特幣開發郵件列表中。我預計在接下來的幾個月里會有更多關于潛在軟分叉的討論。
總結一下:比特幣中MuSig的第一次迭代將原生支持密鑰聚合,這可以立即提高多重簽名的隱私,提高交易驗證的效率,通過消除ECDSA的固有問題來提高安全性,啟用像Taproot這樣的智能合約解決方案,我計劃之后講一下這一點。
但這只是一個開始。
交叉輸入聚合:隱私的下一步
如上一節所述,密鑰聚合對于花費單個輸入的多重簽名是一個非常有用的功能。由于比特幣交易通常不止一個輸入,因此可以利用Schnorr的未來迭代來創建交互聚合簽名方案,其中交易里的所有輸入與單個簽名同時使用。
再次,簽名者之間的交互完全是在鏈下的,但現在,單個簽名可用于花費一筆交易的所有輸入。每個輸入仍然有自己的公鑰,但可由SchnorrIAS使用:
GregMaxwell,PieterWuille,AnthonyTowns等人一直致力于Taproot智能合約方案的進化,以促進這一功能。他們將此方案稱為廣義Taproot或G'root,它可以在將來更容易地將密鑰聚合轉換為交叉輸入聚合。
與密鑰聚合一樣,交叉輸入聚合進一步提高了比特幣交易的效率。但是,最重要的是,它可以在比特幣的基礎層上實現強大的隱私保護機制。
交叉輸入聚合最令人興奮的方面之一,是它可以改善比特幣上的CoinJoin交易。提一下背景,CoinJoin是一種隱私保護技術,其中多個發送者和接收者在單筆交易中組合。目標是使區塊鏈觀察者難以把特定的發送者和接收者聯系起來,從而使CoinJoin內的實體能夠聲稱合理的拒絕。
這項技術最初由GregMaxwell于2013年在BitcoinTalk上提出,此后通過各種服務向用戶提供,包括JoinMarket、SharedCoin、ShufflePuff、DarkWallet和CoinShuffle。CoinJoin的各種變體,例如Wasabi錢包中使用的ChaumianCoinJoin方案,在原始模型之上做了極大的改進。然而,由于匿名愛公司,它仍然依賴足夠多的用戶來混淆他們的余額。
今天CoinJoin的另一個問題是整個交易類型的可識別性。考慮到今天區塊鏈分析中最常用的試探是密切關注特定輸入以確定兩個或更多地址是否屬于同一實體。例如,如果Alice發給Bob1.982723BTC,則區塊鏈觀察者可以跟蹤該特定輸入的小數以繪制交易圖,或者跟蹤歷史細目和UTXO所有權的更改。
為了防止這種情況,CoinJoin實現需要共同的價值面額,CoinJoin中的每個人都發送相同的金額。例如,Wasabi錢包的用戶在100名參與者的CoinJoin交易中發送相同的0.1BTC面額。雖然仍難以確定特定發件人和收件人之間的聯系,但區塊鏈觀察者可以尋找共同面額來識別CoinJoin發生的情況,并建議其客戶審查所涉及的所有實體。
交叉輸入聚合可以為這種情況提供幫助,因為它在協議層引入了額外的混淆機制。從本質上講,交叉輸入聚合可以構建基于Schnorr的CoinJoin交易,其中n個簽名者在外人看來就像是正常的單簽名者交易。這也可能使CoinJoin更容易在流行的錢包中實現,而無需繁重的工程設計,這可能會增加網絡的整體匿名性,或使用此技術的用戶數量。
共同面額問題可以通過其他技術進一步解決,例如Pay-to-EndPoint,它將中本聰早期的隱私工作與CoinJoin相結合,發送者和接收者都為交易提供輸入。這種新技術值得一篇獨立的帖子,但你可以在這里、這里和這里閱讀更多相關信息。
P2EP是向后兼容的,當與Schnorr結合使用時,它可以在比特幣的基礎層中實現足夠的隱私。
一石二鳥
我們可以合理地假設比特幣的大規模使用取決于其隱私保障的強度。與此同時,閃電網絡的普及及其自身支持私人支付的潛力,也使得最后的比特幣被挖后對鏈上結算的未來需求產生了不確定性。因此,對隱私的需求和在沒有區塊獎勵的情況下比特幣的長期可持續性可能是今天比特幣最令人擔憂的兩個問題。值得慶幸的是,Schnorr啟用的隱私機制可以同時解決這兩個問題。
我花了數千小時回顧了各種復雜的隱私技術,包括RingSignatures,ConfidentialTransactions,Bulletproofs,zkSNARKs,STARKs和MimbleWimble的不同實現。雖然其中一些技術已經足夠成熟,可以在比特幣的基礎層上實現,但它們仍然具有獨特的風險和權衡。正如您可能已經聽說的那樣,比特幣是不喜歡硬分叉的,這使得我們很難想象任何這些技術都可以實現的情況。
人們似乎在反復擔憂使用同態加密或非交互式零知識證明系統,因為它們阻止了比特幣貨幣基礎的完全可聽性。換句話說,當對交易價值進行編碼時,很難核實比特幣的供應上限是否實際上是2100萬BTC。同樣,當隱藏交易金額時,通脹錯誤和雙重支付變得難以確定。這是一個相當大的權衡,推動在比特幣的基礎層實現最新隱私可能會分裂社區。
但是,如果比特幣的基礎層獲得足夠的隱私,甚至不需要實施這些技術呢?
Schnorr絕對可以幫到你。如果大多數比特幣交易都是將Schnorr的交叉輸入聚合功能與P2EP結合使用,那么通過簡單地查看區塊鏈,幾乎不可能對特定發送者和接收者進行去模糊處理。比特幣的供應仍然是可審計的,但其交易也將提供更強大的隱私保障。
如果存在對隱私的需求,也可以合理地假設比特幣用戶和企業可能都想要被動地參與CoinJoin交易,并讓他們的錢包在后臺不斷混合他們的余額。在這種情況下,對隱私的需求直接轉化為鏈上交易費用的增加。與SegWit一樣,用戶最有可能首先支持該技術的采用,但企業必須在某些時候效仿以保持重要性。
隨著時間的推移,采用這些技術將使區塊鏈分析過時,并有效地從比特幣企業所需的AML/KYC程序中移除,就像實物現金一樣。當您將現金存入您的銀行賬戶時,銀行將不會檢查鈔票上是否有藥物痕跡,并在發現藥物的情況下阻止您的存款。隨著區塊鏈分析的擴散,加上沒有Schnorr的CoinJoin等技術的缺點,沒有理由認為比特幣已經做到這一點。
當在特定地址和UTXO上執行AML/KYC變得無關緊要,并且焦點轉向個人而非余額時,比特幣企業將完全接受隱私。事實上,我懷疑當這種情況發生時,隱私和可互換性將成為未來比特幣企業價值主張的一個組成部分。
最終,在比特幣的基礎層上采用更強大的隱私機制將進一步增強其用戶的權力,同時,有助于在最后的比特幣被挖后創建一個充滿活力的交易費市場。我的猜測是,這一切都始于Schnorr的激活,而每個人似乎都參與其中。
-TheEnd-
尊敬的用戶: 經與項目方協商,RightBTC即將上線Vollar幣交易,并開放RightBTC自動充提幣業務.
1900/1/1 0:00:00尊敬的用戶: 隨著半年來的精心籌備,RightBTC在7月15日迎來3.0版本的重大更新。于此同時,平臺也為廣大用戶準備了宏大的慶祝活動——奔月計劃.
1900/1/1 0:00:002019年升溫的行情打破幣圈交易所的馬太效應,在前仆后繼的挑戰者面前,HBO三巨頭的地位不再堅不可摧.
1900/1/1 0:00:00今天的封面是《海上的船只》,尤金·布丹這兩天,Tether計劃發行錨定離岸人民幣穩定幣CNHT的消息在幣圈持續發酵,消息源是趙東的朋友圈,鑒于趙東的Bitfinex股東身份.
1900/1/1 0:00:00尊敬的幣團用戶: 根據PCCE價格近期的波動情況,平臺調整PCCE的最低交易數量為100枚,單次買入賣出必須大于100枚才可以進行掛單,后期平臺也會根據各幣種的幣價波動情況.
1900/1/1 0:00:008月26日,CBX研究院創始人和院長谷燕西發文表示,Bakkt的上線會直接影響Coinbase和Kraken的業務,但同時也不那么間接地影響其它地區的交易服務提供者.
1900/1/1 0:00:00