原創

比特幣兩種聚合簽名方案MuSig和MuSig2有何不同?

2021年的Taproot升級給比特幣網絡帶來了更強的隱私性、可擴展性和可組合性,因此越來越多人對其中應用Schnorr數字簽名算法來聚合公鑰和簽名的多籤方案MuSig產生了濃厚的興趣。

MuSig允許一個群體集體擁有一些比特幣,並創建一個單一簽名來授權支付。由於MuSig具有創新的密鑰聚合特性,這個簽名是一個規則的Schnorr簽名,一旦Taproot被激活,它就可以被Bitcoin處理。當用於創建多個簽名錢包時,MuSig與傳統的n個簽名使用CHECKMULTISIG操作碼相比,減少了交易費用,增加了隱私,後者需要n個公鑰和塊鏈上的n個ECDSA簽名。

1.多重簽名方案 

多重簽名方案是簽名和驗證算法的結合,其中多個簽名者(每個人都有自己的私鑰/公鑰)聯合簽名一個消息,從而產生一個單一的簽名。然後,任何知道消息和簽名者的公鑰的人都可以驗證這個單個簽名。請注意,在比特幣的上下文中,術語“ multisig”通常指的是k-of-n(即k對n)策略,其中k可能不同於n。在密碼學中,多重簽名實際上只涉及n對n策略,儘管我們可以很容易地在n對n的情況上構造k對n。

2.MuSig

MuSig是一個應用Schnorr數字簽名算法來聚合公鑰和簽名的多籤方案。MuSig允許多個用戶使用各自的私鑰創建一個組合公鑰,這個組合公鑰與任何其他Schnorr公鑰都是大小一致且無法區分的,包括單個用戶的公鑰。它進一步描述了創建公鑰的用戶如何能夠共同安全地創建與公鑰對應的簽名。像公鑰一樣,這個簽名也和其他的Schnorr簽名沒有什麼區別。與傳統的基於腳本的multisig相比,MuSig使用更少的塊空間並且有更多的私有空間,但它也可能需要參與者之間更多的交互性。

3.MuSig支持密鑰聚合 

MuSig支持密鑰聚合。密鑰聚合是指看起來像單密鑰簽名的多重簽名,但是相對於僅是參與者的公共密鑰的功能的聚合公共密鑰。因此驗證者不需要知道原始參與者的公鑰,只需給它們一個聚合的密鑰。MuSig能生成簡短的、體積固定的簽名,不管簽名者有多少、怎麼籤,在驗證者看來都是一樣的。在區塊鏈系統中,驗證效率是最重要的因素,除非確實需要更多的安全性,否則沒有必要向驗證者提供簽名者更多的細節。這樣做有一個明顯的好處就是能夠提高隱私性,因為它能隱藏具體簽名者的信息。因此MuSig實際上也是Schnorr簽名的密鑰聚合方案。

4.MuSig在普通公鑰模型中有可證明的安全性 

MuSig在普通公鑰模型中有可證明的安全性。目前已經存在許多為Schnorr簽名提供密鑰聚合的多重簽名方案,但是它們具有一些侷限性,例如需要驗證參與者實際上是否具有與其聲稱擁有的公共密鑰相對應的私有密鑰。可以證明普通公鑰模型中的安全性就不會存在任何限制,參與者只需要提供他們的公鑰。這就意味著簽名者可以使用普通的密鑰配對來參加多重簽名,而不需要提供任何關於這些密鑰生產及控制的具體方式的信息。在一些比特幣的使用場景中,個人簽名者的密鑰管理政策互不相同且有限制,這時候就很難獲得關於密鑰生成的信息,很好地增強了用戶的隱私。

5.MuSig交互問題 

在實現上述優點的同時,也帶來了一些問題。其中一個比較明顯的問題就是MuSig需要更多簽名者之間的交互。更準確地說,創建一個簽名需要三輪通信,每輪通信都由來回傳遞的消息組成。下面的圖顯示了三輪通信的過程。你可以想象一個簽名者是一個桌面錢包,另一個是Blockstream Green聯署簽名者,或者簽名者共享一個他們試圖關閉的Lightning通道。

相比之下,使用CHECKMULTISIG的錢包只需要一輪通信:它們接收一個交易就返回一個簽名。例如,如果使用MuSig在閃電網絡中轉發支付,隱私將得到改善,但支付時間將明顯延長。隨著通信延遲的增加,這個問題會變得更加嚴重。存儲在保險箱中的MuSig簽名設備在創建簽名之前需要其所有者訪問兩次。

6.MuSig2 

顧名思義,MuSig2是MuSig的繼承者。它提供了與MuSig相同的功能和安全性,但卻可以消除幾乎所有簽名者之間的交互。使用MuSig2,簽名者只需要兩輪通信就可以創建簽名,而且關鍵的是,其中一輪可以在簽名者知道他們想要簽名的消息之前進行預處理。一旦有一些消息需要簽名,例如,一個比特幣交易,這個過程就和現在的基於checkmultisigns的錢包一樣:將交易傳輸給簽名者,然後收到一個簽名的回覆。MuSig2保留了MuSig的簡單性和效率,只是增加了少量的額外計算。

7.併發會話安全

MuSig2在併發會話下是安全的。在MuSig中,每個簽名者創建一個nonce,在MuSig2中,每個簽名者創建兩個以上的nonces R_i,1, R_i,2在第一輪中將它們發送給其他簽名者,並且有效地使用一個隨機的線性組合R_i = R_i,1 + b*R_i,2 來代替以前的一個nonce R_i。係數b是應用於所有簽名者的非參數、聚合公鑰和消息的哈希函數的輸出。和MuSig一樣,聚合起來也是R = R_1 + ... + R_n。如果任何一個簽名者改變了他們的任何一個非消息,每個其他的簽名者將使用他們兩個非消息的不同的、隨機的線性組合。這樣就避免了對其他兩輪多重簽名方案發現的攻擊。

總結

 

有了MuSig2,一些協議將大大受益,比如“scriptless script Lightning”和閾值簽名。在去中心化多籤的其他應用中,BTC Layer2項目BEVM也是典型代表之一。

在BEVM系統中,每個驗證者均持有一個用於Schnorr簽名的BTC私鑰,利用Schnorr簽名的特性使其能夠實現高效的簽名聚合,從而提高系統的安全性和效率。BEVM實際上採用了Musig2聚合多籤技術讓BTC跨鏈到BTC Layer2,整個過程實現完全的去中心化。此外,項目還集成了比特幣輕節點等技術來確保無信任且安全的環境。

相关赛道:
免責聲明:以上內容僅為作者觀點,不代表Followin的任何立場,不構成與Followin相關的任何投資建議。
喜歡
收藏
1
評論