轉自:火幣研究院本報告由火幣區塊鏈研究院出品??報告發布時間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為他的簽名注冊了專利,因此,這項技術雖好,但是很長一段時間內,一些應用無法直接使用它。
Celsius Network開始通知符合條件的用戶提取托管資產:2月15日消息,加密借貸平臺Celsius Network發推稱,某些托管賬戶中可分配資產的提款即將重啟,Celsius開始通知符合條件的用戶采取必要步驟以進行提款。符合條件的用戶還將收到與提現活動相關的Gas和交易費用具體信息。賬戶中沒有足夠資產來支付這些費用的合格用戶將不允許提取其資產。符合條件的用戶有望在2月15日左右收到來自Celsius的電子郵件和Celsius應用程序發布的通知。[2023/2/15 12:08:13]
直到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仍然是基于比特幣量身定做開發的。
安全團隊:Journey of awakening項目遭受閃電貸攻擊,攻擊者獲取大量ATK代幣:金色財經報道,據Beosin EagleEye Web3安全預警與監控平臺監測顯示,Journey of awakening(ATK)項目遭受閃電貸攻擊。攻擊者通過閃電貸攻擊的方式攻擊了ATK項目的策略合約(0x96bF2E6CC029363B57Ffa5984b943f825D333614),從合約中獲取了大量的ATK代幣。
Beosin安全團隊分析發現攻擊者已把全部獲得的ATK代幣兌換為約12萬美元的BSC-USD,目前被盜資金已經在0xf2ade5950cdfb43b47fdb0a7bf87e9c84467981f地址被兌換成BNB并且全部轉移到龍卷風地址,Beosin安全團隊將使用Beosin Trace對被盜資金進行持續追蹤。[2022/10/12 10:32:20]
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結合的效果。
Celsius在法律文件中提供平臺用戶姓名和交易歷史:金色財經報道,Celsius在其最新的法庭文件中提供了其平臺用戶的姓名和交易歷史。雖然一些個人數據是隱藏的,但這可能導致許多用戶的加密錢包被識別。其中包括該平臺首席執行官亞歷克斯·馬什斯基的交易細節,該網站將該文件上傳到了互聯網檔案館。
這些信息的泄露可能會使高價值加密貨幣所有者被識別。雖然家庭地址沒有被披露,但這些信息可以單獨找到——許多加密貨幣用戶的數據已經通過Ledger數據泄露公開泄露。(the block)[2022/10/7 18:41:43]
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弊端較小,由核心開發人員推動,因此它具有較高的激活可能性。
中科金財董事長:我國數字資產發行銷售未來5年將保持150%以上增速:金色財經消息,9月5日,中科金財董事長朱燁東表示區塊鏈的技術已經逐步走向成熟,區塊鏈已開始從“信任走向協作”的新發展階段,區塊鏈正加速突破應用,區塊鏈賦能文化產業,據統計,2021年我國的數字產品的規模約是1.5億元,今年整個數字藏品行業的發展速度遠遠超出市場預期,2022年數字資產發行銷售額將超過28.42億元,并在未來5年保持150%以上的增速。(證券時報)[2022/9/5 13:09:05]
3.Schnorr簽名技術細節解析
接下里,讓我們對Schnorr簽名的技術細節進行解析:
3.1安全性高
Schnorr簽名的安全性從數學上得到了證明,而ECDSA暫時還沒有被證明。雖然過去很多年以來,ECDSA一直沒有出現安全問題,就好比一座從來沒有噴發過的火山,長久沉寂,但是你不知道它會不會有一天突然爆發。而一個得到數學證明的算法一定是要比可能還有“隱患”的算法更加令人信任。在DavidPointcheval、YannickSeurin等學者的數學證明下,我們知道,在隨機預言模型中,假設橢圓曲線離散對數問題很困難,想要突破Schnorr簽名的唯一方法就是解決離散對數問題。因此從某種程度上來說,Schnorr簽名更加安全,更加可信。此外,Schnorr簽名具有不可延展性,這一特性在與ECDSA的對比中能得到充分展現,ECDSA是一個可延展的簽名算法。具體來說,基于ECDSA生成的簽名,對于一個給定的消息,攻擊者在不知道密鑰的情況下,可生成同樣有效的新簽名。比特幣上還專門提出了BIP146以應對該問題。但Schnorr簽名天然具有不可延展性,可以直接規避這一安全問題。
3.2支持簽名的聚合,節省存儲空間
簽名的聚合,主要指的是對多重簽名的聚合。多重簽名是Bitcoin中的一種控制資金使用權限的技術。例如我們常見的“2of3”多簽,要求被授權的3方中至少要有2方對交易進行了簽名,這筆資金才能被使用。
Cowen分析師:Coinbase 相對于競爭對手具有“結構優勢”:金色財經報道,Cowen股票研究分析師Stephen Glagola周四在給客戶的一份報告中表示,Coinbase的安全基礎設施和監管合規性使其相對于競爭對手的全球加密貨幣交易所具有“結構性優勢”。Glagola表示,交易所行業的當前結構表明,短期內競爭導致費用降低的風險很低,因為平臺“還在平臺的安全/信任、資產訪問、易用性、客戶支持和替代產品方面展開競爭,隨著行業的成熟,材料費壓縮在長期內是可能的。Cowen估計,截至 2021 年,Coinbase 約占美國監管中心化交易所現貨加密貨幣量的 46%,高于 2020 年的 39%。\u2028Glagola表示,如果獲得監管部門的批準,他預計 Coinbase 的加密衍生品在美國的推出將成為增長的催化劑,同時“離岸流動性回到美國”的潛力。\u2028(Coindesk)[2022/5/27 3:44:13]
例如上面的圖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簽名能為比特幣以及區塊鏈世界,帶來更多新鮮技術活力。
盡管眼下遇冷,但DeFi會再度引爆。近段時間DeFi熱度稍減,無論從DeFi代幣價格還是回報率來看,相比盛時都有所回落。不過如果說DeFi已入寒冬就顯得夸張了.
1900/1/1 0:00:00本文來源:Longhash,作者:JosephYoungSkew的數據表明,wBTC的市值已經超過10億美元.
1900/1/1 0:00:0010月15日晚22點45分,去中心化存儲項目Filecoin順利達到區塊高度148,888,宣告主網正式上線.
1900/1/1 0:00:002020年10月23日-25日,上海召開了以“危與機:新格局下的新金融與新經濟”為主題的第二屆外灘金融峰會,馬云出席并發表演講,在演講中一則關于“數字貨幣會重新定義貨幣.
1900/1/1 0:00:00前言:「WebX實驗室」始終在嘗試一件事情,即作為業態觀察者,將Web3.0從GavinWood的一個前瞻性設想,梳理成一個系統且具象化的故事.
1900/1/1 0:00:0010月27日,由萬向區塊鏈主辦的第六屆區塊鏈全球峰會在上海舉行。會上,以太坊創始人VitalikButerin、波卡創始人GavinWood以及中國銀行前行長李禮輝發表了自己關于區塊鏈領域的重要.
1900/1/1 0:00:00