以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads

火線視點:為什么Schnorr簽名被譽為比特幣Segwit后的最大技術更新_DSA:SCH

Author:

Time:1900/1/1 0:00:00

轉自:火幣研究院本報告由火幣區塊鏈研究院出品??報告發布時間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為他的簽名注冊了專利,因此,這項技術雖好,但是很長一段時間內,一些應用無法直接使用它。

紐約梅隆銀行的加密貨幣托管業務違反了SEC規則:金色財經報道,紐約梅隆銀行(BNY Mellon)進軍數字資產托管業務遇到了監管障礙。美國證券交易委員會(SEC)第121號員工會計公告(SAB121)要求數字資產托管人將這些資產記錄在其資產負債表上。這一監管要求對尋求擴大數字資產托管業務的銀行,尤其是紐約梅隆銀行等專門從事信托服務的銀行來說,構成了潛在的障礙。紐約梅隆銀行于2022年10月開始開展數字資產托管業務。然而,直到該銀行在建立加密托管業務方面取得重大進展后,才發現SAB121監管障礙。[2023/7/1 22:11:18]

直到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仍然是基于比特幣量身定做開發的。

韓國擬在實施虛擬資產第二階段立法前征集行業意見并參考國外法律:5月25日消息,韓國金融服務委員會金融創新部門負責人表示,在實施監管虛擬資產發行、分配和披露的第二階段立法之前,希望通過征集行業意見并參考國外法律(包括歐盟和美國的立法),以自我監管形式準備監管體系。

據悉,韓國對加密行業的第一立法階段為《虛擬資產投資者保護法》,已于5月11日通過,第二階段立法將推進虛擬資產發行和披露等市場秩序的補充規定。[2023/5/25 10:39:27]

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結合的效果。

Spark Protocol已集成DAI/USD等Chainlink喂價:5月10日消息,Spark Protocol宣布已集成DAI/USD、ETH/USD、stETH/USD Chainlink喂價,以幫助加速其借貸平臺Spark Lend的發展。

Spark Protocol利用Chainlink去中心化預言機網絡加強其預言機基礎設施,并率先在MakerDAO生態系統中集成Chainlink喂價。[2023/5/10 14:55:11]

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弊端較小,由核心開發人員推動,因此它具有較高的激活可能性。

Messari:波卡三季度營收下降47%,活躍地址下降40%:10月9日消息,加密貨幣研究平臺Messari近日發布波卡三季度報告,指出該網絡在關鍵生態系統指標上出現了一些下降,但其基本指標,如驗證者數量、提名者數量和質押占比在90天內保持一致。

具體來說,三季度波卡營收繼續下滑,總收入115,326美元,環比下降47%;活躍地址也大幅下降,三季度波卡上只有139,419個活躍賬戶,環比下降40%。自Q1以來,網絡上的驗證者數量保持一致,仍為297人;關于驗證者質押情況,Messari發現“297個(98%)驗證者中有292個質押了180萬~340萬DOT”;

此外,Messari還發現,自今年年初以來,DOT總質押量在該網絡上的占比保持不變,前三個季度的占比一直是54%至59%。(ambcrypto)[2022/10/9 12:50:24]

3.Schnorr簽名技術細節解析

接下里,讓我們對Schnorr簽名的技術細節進行解析:

3.1安全性高

Schnorr簽名的安全性從數學上得到了證明,而ECDSA暫時還沒有被證明。雖然過去很多年以來,ECDSA一直沒有出現安全問題,就好比一座從來沒有噴發過的火山,長久沉寂,但是你不知道它會不會有一天突然爆發。而一個得到數學證明的算法一定是要比可能還有“隱患”的算法更加令人信任。在DavidPointcheval、YannickSeurin等學者的數學證明下,我們知道,在隨機預言模型中,假設橢圓曲線離散對數問題很困難,想要突破Schnorr簽名的唯一方法就是解決離散對數問題。因此從某種程度上來說,Schnorr簽名更加安全,更加可信。此外,Schnorr簽名具有不可延展性,這一特性在與ECDSA的對比中能得到充分展現,ECDSA是一個可延展的簽名算法。具體來說,基于ECDSA生成的簽名,對于一個給定的消息,攻擊者在不知道密鑰的情況下,可生成同樣有效的新簽名。比特幣上還專門提出了BIP146以應對該問題。但Schnorr簽名天然具有不可延展性,可以直接規避這一安全問題。

3.2支持簽名的聚合,節省存儲空間

簽名的聚合,主要指的是對多重簽名的聚合。多重簽名是Bitcoin中的一種控制資金使用權限的技術。例如我們常見的“2of3”多簽,要求被授權的3方中至少要有2方對交易進行了簽名,這筆資金才能被使用。

笑果文化進軍游戲元宇宙:金色財經報道,笑果文化宣布與金山世游跨界合作布局游戲元宇宙,并探索休閑類游戲未來發展的新形態。笑果文化方面表示,不同于行業內常見的聯合營銷,此次合作的身份是生態共創者。玩家可在游戲中觀賞一場由虛擬藝人呈現的脫口秀表演,在虛擬場景中,固定的媒介與形式被重塑。雙方表示,目前處在對元宇宙的探索起步階段,游戲上線后,雙方還將結合游戲特色挖掘元宇宙內涵。[2022/5/27 3:45:24]

例如上面的圖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簽名能為比特幣以及區塊鏈世界,帶來更多新鮮技術活力。

Tags:SCH比特幣CDSDSASchnoodle Finance李晨比特幣5個億爆倉怎么翻身SCDSmaidsafecoin

歐易okex官網
數字資產期權合約產品研究報告 | TokenInsight_OBI:Huobi Vitamin Token

要點總結 ①2017年末,芝加哥期權交易所與芝加哥商品交易所推出比特幣期貨合約,同一時期,LedgerX啟動其首個長期交易的比特幣期貨期權.

1900/1/1 0:00:00
DeFi版名偵探柯南:SushiSwap創始人Chef Nomi深度調查_SHI:push幣怎么樣

原文:Medium,原文作者:PeterKacherginsky譯者:Odaily星球日報Moni十月初,Anchain上舉辦了最新的區塊鏈調查大賽,比賽持續兩周時間.

1900/1/1 0:00:00
Filecoin主網上線前夕,Kraken和Gemini兩大交易所“反常”宣布上線FIL_FILE:NEODOGECOIN

就在Filecoin主網上線前夕,Kraken和Gemini兩大主流加密貨幣交易所相繼宣布將上線Filecoin交易.

1900/1/1 0:00:00
門頭溝被盜6年:賠付無期,疑云依舊_加密貨幣:比特幣怎么挖礦是什么意思

持有私鑰,你才能真正成為加密貨幣的主人。因為OKEx的黑天鵝事件,用戶資產安全問題再次被重視,不過相比中心化交易所私鑰保管人的“意外”,加密黑客的隱患和影響似乎更加深遠.

1900/1/1 0:00:00
廣東破獲全國首起USDT洗錢案,USDT持幣者有何影響_SDT:usdd幣怎么挖礦

吳說區塊鏈獲悉,據10月23日媒體報道,6月8日在廣東省廳指導和支持下,惠州市機關成功打掉一個跨境網絡賭博和利用USDT跑分平臺非法經營的違法犯罪團伙.

1900/1/1 0:00:00
?英格蘭銀行高管:英國尚未決定是否推出CBDC,將繼續探索利弊_BDC:Tutti Frutti

英格蘭銀行金融科技總監TomMutton在第二屆數字貨幣外灘峰會上表示,盡管央行數字貨幣是英格蘭銀行的“焦點”,但該行在今年3月采取的立場沒有改變.

1900/1/1 0:00:00
ads