轉自:火幣研究院本報告由火幣區塊鏈研究院出品??報告發布時間2020年10月30日??作者:袁煜明、馬天元、趙文琦、陳樂
摘要:
10月15日,比特幣核心開發者PieterWuille主導的3個提案(BIP340-342)的代碼正式合入比特幣代碼的主分支。三個提案分別包含了Schnorr,Taproot和Tapscript的內容。社區評價這次變更為隔離見證之后比特幣上最大的技術更新。
Schnorr簽名主要的目標是取代目前比特幣現行的ECDSA簽名。相比于比特幣區塊鏈目前采用的ECDSA,Schnorr具有一些優勢:
簽名安全性高,其安全性可被數學證明,并具有不可延展性;
簽名可為多重簽名的參與方提供隱私保護;
簽名的線性特征,可作為Taproot等技術的基礎,進一步加強交易的隱私性;
簽名長度更短,且可聚合多簽,能節省存儲空間,實現變相比特幣擴容;
簽名可批量驗證,從而提高驗證效率;
不過,它也有一些不足之處,在于:
用戶在使用前需要多輪交互;
簽名會消耗一些額外帶寬和計算資源;
簽名對隨機數的隨機性要求非常高。
作為一項可能會替代橢圓加密算法ECDSA簽名機制的技術更新,Schnorr簽名是比特幣底層技術開發的重要里程碑之一。此次代碼加入后,意味著這項技術已經基本成型,接下來需要等待社區確定軟分叉的正式激活時間,不過此時間點目前尚未有定論。
1.背景介紹
Schnorr簽名機制最初由德國密碼學家、數學家Claus-PeterSchnorr發明,Schnorr數字簽名也因他的名字而命名。Schnorr的安全性基于特定的離散對數問題,長期以安全性和簡單性而聞名。但是Schnorr為他的簽名注冊了專利,因此,這項技術雖好,但是很長一段時間內,一些應用無法直接使用它。
Synthetix:6月7日Bedrock升級期間,Optimism上所有Synthetix合約將無法訪問:5月19日消息,合成資產協議Synthetix發文稱,在北京時間6月7日00:00至04:00Optimism主網Bedrock升級期間,Optimism上所有Synthetix合約將無法訪問。從5月30日開始,Optimism交易獎勵將暫時停止。從北京時間6月5日00:00開始,現有永續合約頭寸將關閉,無法開設新頭寸。在Bedrock升級前10分鐘,即北京時間6月6日23:50,所有永續合約市場將暫停,發行(staker鑄造/銷毀)將在以太坊與Optimism上暫停,synth交換將在Optimism上暫停,以太坊主網上的所有Synthetix合約都可以訪問。之后繼續交易獎勵將取決于順利升級與隨后恢復交易的情況。在升級期間,Optimism上的所有Synthetix合約將因Optimism停機而無法訪問。一旦Bedrock升級完成,所有功能和合約都將解禁并可以訪問。[2023/5/20 15:14:41]
直到2008年時,Schnorr簽名的專利才過期。同時,業界也沒有廣泛接受的具體實現方案,所以在同年發布比特幣白皮書的中本聰,在當時并沒有選擇Schnorr簽名方案,而是選擇了當時更為成熟的ECDSA簽名方案。隨著Schnorr技術專利的過期,這項技術逐漸落地,在比特幣社區PieterWuille等核心開發者的推動下,社區內開始認真考慮應用Schnorr簽名替代現行的ECDSA簽名,并以軟分叉的方式進行升級。
在2018年7月,比特幣核心開發者PieterWuille就提議了升級Schnorr的BIP,隨后Blockstream和開源社區亦參與了相關開發工作。在比特幣正式采用之前,比特幣的分叉幣BCH中已通過硬分叉提前部署了Schnorr。即在2019年5月,BCH就已經將簽名方案升級為了Schnorr簽名。之所以它會被更早激活,主要是因為它是通過硬分叉完成的升級,而比特幣不能采用硬分叉的方案,需要更為精巧設計的軟分叉方案。后來,PieterWuille又進一步提出了Taproot/Schnorr軟分叉升級提案,并于今年1月被正式發布,即本文提到的BIP340-342。而此次,Schnorr的升級提案已正式被合并入代碼庫。一起被合并進Bitcoin主干的三個提案分別是BIP340:SchnorrSignaturesforsecp256k1、BIP341:Taproot:SegWitversion1spendingrules、BIP342:ValidationofTaprootScripts。其中,第一個提案就是Schnorr簽名的主提案。Taproot是默克爾樹式的抽象語法樹升級,它與Schnorr簽名一起,將允許比特幣以隱私方式執行更多的智能合約腳本;而最后一個提案是在比特幣上對前兩個提案的補充,主要對原本的比特幣腳本進行了升級,以支持Schnorr簽名、批量驗證以及簽名哈希等。不過值得注意的是,Schnorr算法目前仍然沒有被業界標準化,此次BIP340的提案采用的Schnorr仍然是基于比特幣量身定做開發的。
美國2月核心PCE物價指數月率0.3%:金色財經報道,美國2月核心PCE物價指數月率 0.3%,預期0.40%,前值0.60%。美國2月核心PCE物價指數年率 4.6%,預期4.70%,前值4.70%。
PCE數據公布后,美股三大股指期貨短線拉升,道指期貨漲0.45%,納指期貨漲0.2%;標普500指數漲0.4%。[2023/3/31 13:38:01]
2.Schnorr簽名與BIP提案
2.1Schnorr簽名到底是什么?
Schnorr本質是一種密碼學簽名技術,我們可以簡單理解為,在比特幣系統中,Schnorr將是ECDSA的替代升級方案。ECDSA的全稱是橢圓曲線數字簽名算法。它在比特幣中的作用我們的并不陌生,我們在比特幣網絡中的每一次簽名都用到了ECDSA技術。比如說,Alice想發送一筆交易,必須要讓礦工確認只有Alice擁有私鑰,擁有這筆資產的處置權。因此Alice需要用ECDSA前去生成一個獨一無二且無法被修改的簽名,以證明Alice擁有私鑰,同時確認交易部分的具體金額。而等到Schnorr正式激活后,這項工作將由Schnorr接替。本過程見圖2.
2.2為什么我們需要更換簽名方案?
在過去的10年時間內,ECDSA運作情況良好,看起來能夠勝任這份生成簽名的關鍵性工作。但是有一個問題一直縈繞著ECDSA,即目前業界暫時沒有能夠給出一個嚴謹的數學和密碼學證明,來證明ECDSA是數學安全的。與之形成對比的是,Schnorr可以。在滿足一定條件的狀態下,Schnorr簽名技術被證明在數學上是安全的。對于比特幣這樣高度依賴安全性的加密貨幣來說,能夠證明安全性的技術肯定要比實踐中暫未出現問題的技術更讓人放心。同時,對于比特幣來說,更重要的是Schnorr簽名具備“線性”的特征,該特征允許將多個用戶的公鑰通過線性計算聚合成一個公鑰,并能生成與之對應的聚合簽名。為什么說“線性”的特性對于當前的比特幣來說十分重要呢?ECDSA本身是不支持多重簽名的,比特幣現在是通過P2SH腳本來處理,但是P2SH類的腳本會向網絡暴露多簽交易的存在并揭示所有的簽名者。使用Schnorr簽名可以將多簽聚合為一個簽名,增強交易的隱私性,并節省解鎖腳本內因多簽帶來的空間占用,節約寶貴的鏈上空間,實現變相擴容。整體而言,如果得到廣泛普及,有可能能夠帶來比特幣性能5%~20%左右提升。此外,由于簽名被聚合成一個,在驗簽的時候也只需要進行一次驗證,這會降低計算的成本。這部分的技術細節我們將在下一章詳細講述。Schnorr簽名對于比特幣來說意義重大,還在于它能成為Taproot這類的技術基石。Taproot也是此次第二個提案BIP341的內容,Taproot源自于MAST(MerkelizedAbstractSyntaxTree),它可以用基于默克爾樹的形式來表達復雜腳本。我們知道,默克爾樹的重要特性之一,就在于其可以在不揭示無關分支的真實數據的情況下,快速驗證某個節點值的存在性,因此被廣泛用于存儲區塊鏈中的交易、狀態數據等。基于這一特性的Taproot,可以在不揭示腳本中未被使用到的分支條件情況下,完成腳本的運行。而對比來看,P2SH則需要揭示出所有的腳本內容。結合Schnorr簽名的技術,Taproot甚至可以實現讓一個有復雜腳本的交易(包括閃電網絡的交易、多簽交易、多判斷分支的交易等)看起來就像一個普通的P2PKH的交易。支持復雜腳本,保護腳本隱私,不暴露簽名者,讓一個有復雜判斷條件的交易看起來像普通交易一樣簡單,并且無法從形式上進行區分,這就是Taproot與Schnorr結合的效果。
Circle近6個小時內共計銷毀7.08億枚USDC:金色財經報道,據Whale Alert檢測數據顯示,Circle近6個小時內共計銷毀708,230,654枚USDC。[2023/3/11 12:56:06]
2.3Schnorr會以什么樣形式進行?
和此前眾多的BIP類似,此次Schnorr以軟分叉的方式進行。BIP的全稱是比特幣改進提案,通常來說,它包括對比特幣底層區塊鏈技術更新、新特性引入和信息補充等。自2009年中本聰發布第一版比特幣區塊鏈客戶端之后,大多數技術更新都以BIP形式被添加到比特幣技術中。目前,比特幣社區已采納百余個BIP提案,比如:隔離見證、P2SH多簽結構和助記詞等。硬分叉和軟分叉的區別大家可能并不陌生,在硬分叉中,社區由于對某些特性和技術出現強烈分歧時,會導致主鏈分成兩條鏈,且新老兩類客戶端相互不兼容,例如BTC和BCH,BCH和BSV等。而一次軟分叉升級中,如Segwit升級等,雖然社區可能會有分歧產生,但它仍能保持一條鏈,新老兩類客戶端能夠在一定程度上兼容。硬分叉有時會帶來社區強烈的動蕩,因此比特幣社區長期對主動硬分叉升級持保留態度,盡可能地避免通過硬分叉升級。本次比特幣的Schnorr升級,將會通過軟分叉完成,這是它很可能得到社區順利激活的重要原因。替換ECDSA簽名看起來是非常大的變動,為什么Schnorr能夠通過軟分叉完成呢?這要從Schnorr本身說起。Schnorr的安全性基于一個假設:即某個特定離散對數問題非常難以解決,而且此安全性可通過數學手段證明。換句話說,只要此假設成立,則Schnorr簽名的難破解性,將等于該離散對數問題的難破解性。同時,一個橢圓曲線中,也存在和該離散對數非常相似的難題。過去比特幣底層區塊鏈技術中的橢圓曲線數字簽名算法的安全性,也基于橢圓曲線離散對數問題的難解性。Schnorr簽名仍然利用原來比特幣采用的橢圓曲線,不過其采用了一種新的計算方法,由此能夠最大程度上和不想升級的版本兼容,實現軟分叉升級。另一方面,Schnorr對Segwit客戶端改動非常小,而目前Segwit客戶端的普及率超過90%。根據luke.dashjr統計,截至2020年10月,比特幣網絡節點中超過90%的節點已經把客戶端更新為0.16版本以上,即Segwit升級后的版本。Segwit將簽名信息從交易信息中隔離開,并作為單獨的結構附加到結尾。因為簽名信息只起到驗證作用,不影響交易的關鍵參數:如轉賬地址、數量等。Schnorr簽名主要影響簽名信息,對于升級了Segwit特性的客戶端來說,Schnorr簽名只涉及到以單獨結構附在結尾的簽名驗證信息,因此影響較小。綜上所述,Schnorr簽名可以以軟分叉升級的形式被添加到比特幣區塊鏈底層上,無需硬分叉,不會給社區帶來分裂。拒絕Schnorr簽名的客戶端仍然可以正常加入網絡,完成打包等操作。軟分叉作為一種區塊鏈賬本的升級手段,雖然實現難度更大,往往需要精巧的設計以繞開某些規則,但是它兼容性更好,不會導致共識分裂,是一種循序漸進的、溫和的更新方式。由于軟分叉的溫和升級特點,再加上Schnorr弊端較小,由核心開發人員推動,因此它具有較高的激活可能性。
Arthur Hayes:如果合并順利進行,ETH現貨價格將上漲:金色財經消息,BitMEX創始人Arthur Hayes發推特表示,ETH期貨價格小于現貨價格,會一直到2023年1月。推測是因為交易員在合并前對沖 ETH敞口。如果邊際壓力在賣方,那么做市商是做多期貨,做空現貨來對沖,這給現貨市場增加了向下的價格壓力。但如果合并成功,套期保值者會補倉,所以他們又凈做多ETH,那么此時壓力在買方,做市商做空期貨,做多現貨,與合并前的位置發生翻轉。這是一個正反饋循環,如果9月15日的合并順利進行,會導致現貨價格上漲。若相信合并會成功,那么這是一個積極的結構性原因。[2022/8/12 12:20:38]
3.Schnorr簽名技術細節解析
接下里,讓我們對Schnorr簽名的技術細節進行解析:
3.1安全性高
Schnorr簽名的安全性從數學上得到了證明,而ECDSA暫時還沒有被證明。雖然過去很多年以來,ECDSA一直沒有出現安全問題,就好比一座從來沒有噴發過的火山,長久沉寂,但是你不知道它會不會有一天突然爆發。而一個得到數學證明的算法一定是要比可能還有“隱患”的算法更加令人信任。在DavidPointcheval、YannickSeurin等學者的數學證明下,我們知道,在隨機預言模型中,假設橢圓曲線離散對數問題很困難,想要突破Schnorr簽名的唯一方法就是解決離散對數問題。因此從某種程度上來說,Schnorr簽名更加安全,更加可信。此外,Schnorr簽名具有不可延展性,這一特性在與ECDSA的對比中能得到充分展現,ECDSA是一個可延展的簽名算法。具體來說,基于ECDSA生成的簽名,對于一個給定的消息,攻擊者在不知道密鑰的情況下,可生成同樣有效的新簽名。比特幣上還專門提出了BIP146以應對該問題。但Schnorr簽名天然具有不可延展性,可以直接規避這一安全問題。
3.2支持簽名的聚合,節省存儲空間
簽名的聚合,主要指的是對多重簽名的聚合。多重簽名是Bitcoin中的一種控制資金使用權限的技術。例如我們常見的“2of3”多簽,要求被授權的3方中至少要有2方對交易進行了簽名,這筆資金才能被使用。
數據:Optimism鎖倉量周漲幅超27%:8月5日消息,據L2BEAT數據顯示,以太坊Layer2總鎖倉量回升至51.9億美元,7日漲幅4.76%。其中,鎖倉量前五分別為Arbitrum(24.8億美元,7日跌幅3.08%)、Optimism(15.1億美元,7日漲幅27.06%)、dYdX(5.36億美元,7日跌幅5.82%)、Loopring(1.95億美元,7日跌幅3.49%)、Metis Andromeda(1.68億美元,7日漲幅21.86%)。[2022/8/5 12:04:21]
例如上面的圖4就是一筆“2of3”多簽的輸入腳本,可以看到紅框中就是2個ECDSA的簽名,有了這2個簽名,這筆資金就可以被合法的使用。但是ECDSA的多簽沒有對簽名做任何的聚合,只是簡單的把每個簽名都放在輸入腳本中,并且2個簽名者的公鑰也需要分別放在輸入腳本中。假如有一個“9of10”多簽,就需要在區塊中存放9個簽名和9個公鑰,這是很占用空間的。但如果使用Schnorr簽名,就可以改善這一問題。Schnorr簽名通過一種叫做密鑰聚合的技術,可以將任何一筆“mofn”多簽中的m個簽名聚合為1個簽名,同時m個簽名者的公鑰也可以聚合為1個公鑰。無論m多大,在輸入腳本中都只需要填寫1個簽名和1個公鑰,這樣可以大大減少多簽在區塊中占據的空間。
上圖(圖5)為PieterWuille對Bitcoin歷史數據做的一個模擬測算,將Bitcoin歷史數據中所有的多簽都替換成Schnorr的聚合簽名后,可以顯著降低Bitcoin區塊的存儲空間。上面提到的還只是Schnorr聚合簽名中的一種,即“對UTXO單個輸入中的多個簽名進行聚合”。事實上,Schnorr簽名還有更強大的功能,可以“對UTXO多個輸入中的多個簽名進行聚合”,從而使整個UTXO只有一個Schnorr簽名。不過這種聚合的前置條件比較苛刻,實施起來比較復雜。
3.3簽名長度更短,節省存儲空間
根據PieterWuille提出的方案,Bitcoin中使用的Schnorr簽名算法,公鑰的長度為32字節,簽名長度為64字節。而Bitcoin目前使用的ECDSA簽名算法,公鑰長度為33字節,簽名最長會達到72字節。Bitcoin區塊寸土寸金,節省一點空間都是意義重大的。
例如圖3中這筆2個輸入2個輸出的UTXO,其中紅框選中的部分就是輸入中填入的ECDSA簽名,長度為72字節;之后緊跟的就是33字節的公鑰。那么采用Schnorr簽名之后,簽名和公鑰所占的空間就可以減少為64字節和32字節。事實上Schnorr簽名還有一種變種,可以把簽名縮短到48字節,但由于不支持批量驗證,PieterWuille并不推薦使用。
3.4更強的隱私保護
Schnorr可以用于多把密鑰聚合成一把,它能讓比特幣“多重簽名”錢包發出的交易只展示聚合后的一把,這令多重錢包更為簡潔和隱私。過去,用戶基于ECDSA簽名使用“多重簽名”錢包時,因為要展示多把公鑰,因此容易被暴露此錢包的多重簽名情況。但是如果基于Schnorr簽名,多把密鑰在鏈下進行聚合,可以讓一筆多重簽名的交易看起來和正常交易無異。還是上面那個“2of3”多簽的例子,可以看到提供簽名的2方的公鑰都被暴露出來了,也就是說,哪2方參與了多簽是公開的。但如果采用Schnorr的聚合簽名,公鑰也被聚合為了1個,這樣就不會暴露是哪2方參與了多簽。聚合后的多簽甚至和一個正常的“單簽”看起來也沒有區別,這就意味著外界看來甚至不知道這是一筆多簽。這大大保護了多簽參與者的隱私。
3.5簽名可批量驗證,提高驗證效率
Schnorr簽名,由于具有線性性質,天然的就可以支持批量驗證。其實原理并不復雜,Schnorr簽名的驗證過程,就是判斷一個等式是否成立。其中,,,帶入前面的等式就變成了,根據乘法分配律,可以很容易看出等式成立。而批量驗證,就是當有n個這樣的等式,……,需要驗證,我們可以把它們的左邊全部加起來,右邊也全部加起來,這樣只需要驗證一次等式是否成立,就可以判斷n個簽名是不是都合法。并且原本驗證n個等式時,計算需要做n次乘法,現在可以合并為,只需要做n-1次加法和1次乘法,大大的提高了驗證效率。Schnorr簽名的這種線性性質是天然具備的,因此即使來自于不同的用戶、不同Tx,甚至不同區塊的簽名,都可以合在一起進行批量驗證。一個新的全節點,在同步區塊數據時,需要做大量的驗證工作,如果Bitcoin采用Schnorr簽名,通過批量驗證就可顯著提高全節點的同步速度。
3.6一些不足之處
前面講的都是Schnorr簽名的優勢。事實上,帶來這些好處也是有代價的。因為Schnorr聚合私鑰簽名的特點,它需要參與方進行多輪交互,這相比過去的ECDSA會更麻煩一些。而且它對隨機數的要求比較高,必須確保隨機數不容易被攻擊者猜到,一些傳統的偽隨機數生成方式不一定適合。同時,PC計算這些簽名和生成隨機數的過程還是比較繁瑣的,因此也會造成發送交易這一步驟的少許延遲,并要求PC消耗更多的計算帶寬資源。但是,以目前的技術而言,這些問題都可以在一定程度進行解決和克服。
4.總結Schnorr簽名相比ECDSA更加安全可信,而且還順便帶來了比特幣鏈上空間的擴容,使得比特幣性能得到小幅提升,同時,Schnorr簽名還能保護多簽、閃電網絡等技術的參與方的隱私,結合Taproot還能使得更多智能合約腳本得以增加隱私性。目前來看,提案由Core組成員推動,以軟分叉方式進行溫和升級,未來一段時間順利激活的概率很大,也期待Schnorr簽名能為比特幣以及區塊鏈世界,帶來更多新鮮技術活力。
來源:新京報記者:程維妙編輯:徐超 新京報貝殼財經訊“數字經濟在各國經濟占比不斷加大,數字貨幣成為重要議題.
1900/1/1 0:00:00(沿著塞納河,梵高) 2020年的夏天,DeFi初步展示了它的狂躁的能量。而在未來6到12個月,比特幣和ETH2.0展示出來的力量可能會遠超DeFi的量級.
1900/1/1 0:00:00全球領先的信息技術研究和顧問公司Gartner于今日發布企業機構在2021年需要深挖的重要戰略科技趨勢。Gartner提出,面對不斷變化的行業局勢,企業機構需要具備不斷重組與改革的可塑性.
1900/1/1 0:00:00來源/LongHash 或許和大多數人猜測的不一樣,2020年數字貨幣領域市值增長最快的不是來自美國年輕群體流行的手機支付應用CashApp的用戶買入的比特幣.
1900/1/1 0:00:00據Cryptopotato10月27日報道,Glassnode數據顯示,比特幣錢包地址的數量創歷史新高,達到3100萬。隨著比特幣估值上漲,加密貨幣散戶投資者猛增,處于歷史最高水平.
1900/1/1 0:00:00在牛市中,大多數創始人最大的問題之一就是:我是否做錯了什么?看起來只要有一個“.finance”的域名,就會有錢從天上掉下來,而許多建立在健全經濟學基礎上的創始人經常在傲慢中迷失.
1900/1/1 0:00:00