作者:Jonas Nick
來源:https://blog.blockstream.com/the-key-to-frost-what-is-distributed-key-generation/
作者:Jonas Nick,Kiara Bickers,Tim Ruffing
原文出版於 2024 年 8 月。
“Multisig(多簽名)” 對於比特幣領域的大部分人,都是一個熟悉的概念:一筆多簽名交易要求來自多個參與者的許可,才能生效。但是,在此,我們要區分 “n-of-n ” 多重簽名和 “t-of-n ” 門限簽名;前者指的是參與者有 n 個,他們全都需要許可;而後者指的是,只需 t 個(更少數量的參與者),就足以許可交易。使用 MuSig、MuSig-DN 和 MuSig2 這樣的多種簽名方案,還有(由 Komlo 和 Goldberg 提出的) FROST 這樣的門限簽名方案,可以減少交易成本,並且提高多簽名錢包的隱私性。
迄今為止,在比特幣社區中,FROST 僅被用於實驗環境。在本文中,我們會解釋現狀的成因,以及我們如何致力於推動 FROST 進入比特幣的生產環境 —— 通過我們近期發佈的 “ChillDKG” 分佈式密鑰生成協議的 BIP 草案。
那麼首先,使用 FROST 門限簽名方案由什麼好處?
使用 MuSig2 和 FROST 可以獲得隱私性和效率性好處
使用了 MuSig2 或者 FROST 這樣的方案,即便是多個參與者參與到了簽名流程中,結果也只有一個簽名。
這不僅給了參與者隱私性優勢 —— 最終的交易看起來就跟常規的單簽名錢包交易一樣;它還能精簡交易、降低交易的體積,從而降低交易手續費。都是好事情!
視頻:Blockstream 研究總監 Andrew Poelstra 解釋 MuSig2 協議及其好處
MuSig2 和 FROST 讓比特幣的多簽名錢包用戶的交易成本降低到了與常規的單簽名錢包相同。這種成本好處,對於有大量簽名人和頻繁交易的系統 —— 比如 Liquid 這樣的聯盟側鏈,還有 Fedimint —— 來說,是極為重要的。傳統的多簽名腳本會留下可辨識的指紋,讓區塊鏈觀察者能識別出多簽名交易;而基於 FROST 的錢包的交易,與常規的單簽名錢包的交易,在區塊鏈上是無法區分的。因此,相比於傳統的多簽名錢包,它提供了隱私性提升。
雖然 MuSig2 已經在比特幣行業中得到了採用,FROST(至少就我們所知)卻還未獲得同等的採用。這可能讓人驚訝,因為現在已經有了多種 FROST 實現,比如 ZF FROST(來自 Zcash 基金會)、secp256kfun(來自 Lloyd Fournier),在 libsecp256k1-zkp(來自 Jesse Posner 和 Blockstream Research)也有一個實驗性實現。甚至 FROST 還有一項 IETF(互聯網工程任務組)規範:RFC 9591(雖然因為 Taproot 密鑰調整和 x-only 公鑰形式,該規範跟比特幣無法兼容)。最合理的解釋之一是,FROST 的密鑰生成流程比 MuSig2 的要複雜得多。
未解之謎:FROST 還未進入生產環境
FROST 本質上由兩部分組成:密鑰生成和簽名。雖然它的簽名流程與 MuSig2 的簽名流程非常相似,但其密鑰生成流程卻要比 MuSig2 的複雜很多。FROST 的密鑰生成流程可以是受信任的,也可以是分佈式的:
- 在 “受信任的密鑰生成” 中,一個 “受信任的處理人” 會生成密鑰,然後將密鑰碎片分發給簽名人。這個處理人代表著一個單點故障:如果他是惡意的,或者被劫持了,那麼這個 FROST 錢包就有被洗劫的風險。
- 在 “分佈式的密鑰生成(DKG)” 中,雖然不再需要一個受信任的處理人,但也面臨獨有的挑戰:所有的參與者都需要參與到一個交互式的密鑰生成 “儀式” 中;完成了儀式,才能開始簽名。
視頻:Andrew Poelstra 討論 FROST 帶來門限簽名
核心挑戰:Agreement
DKG 通常需要參與者之間具有安全的 —— 即,帶有身份驗證並且加密的 —— 信息通道,以分發秘密值碎片給各個簽名人;還要有一種安全的取得一致(agreement)的機制。安全同意機制的目的是為了保證,所有的參與者最終會對 DKG 的結果達成一致意見,這不僅包括參數(比如所生成的門限公鑰),還有是否發生了錯誤、儀式是否因為行為不軌的參與者而中斷。
然而, IETF 的規範完全不考慮 DKG,上面提到的 FROST 實現,也都不實現安全同意機制,而將這個任務留給代碼庫的使用者。但是,同意機制實現起來也不簡單:現有有不計其數的協議,各有各的偏好,從簡單的回聲廣播方案(echo broadcast shemes),到完整的拜占庭共識協議,不一而足;而且,它們的安全性和易用性保證都有很大差別(但也有相當微妙的地方)。
儘管這個同意協議的泥潭可能引發許多困惑,DKG 對所依賴的同意機制的具體偏好,通常都沒有清晰地傳達給工程師,任他們一頭霧水。
ChillDKG:為 FROST 而設計的一種獨立 DKG
為了克服這個障礙,我們提出了 “ChillDKG”,一種新的 “開箱即用” DKG 協議,為 FROST 的用法量身定製(草案)。我們以 BIP 草案的形式提供了詳細的描述;而 BIP 本身就旨在稱為指導實現者的規範。
ChillDKG 的主要特性在於它是獨立的:安全信道和安全同意的建立,都是在協議內完成的,只是所有底層的複雜性都會隱藏起來,只有一個簡單的、難以誤用的 API 。因此,ChillDKG 已經準備好了用在實際場景中,並不依賴於任何啟動假設,唯一的假設是:每一個簽名人都已經直到了聯合簽名人的集合,各簽名人用單個的公鑰來識別。ChillDKG 基於 “SimplPedPop” 協議;Blockstream Research 參與到了後者的設計和形式化安全證明中,詳見發表於 CRYPTO 2023 會議的論文《無需代數群模式的實用 Schnorr 門限簽名》,作者是 Chu、Gerhart、Ruffing(來自 Blockstream Research)和 Schröder 。
ChillDKG 的其它設計目標有:
- 廣泛可應用:ChillDKG 支持廣泛的實用場景,從簽名設備都由單個人持有並相互連接的情形,到居住於不同這位置的多位持有者各自管理簽名設備的情形。
- 簡單備份:無需在安全位置備份來自其他簽名人的秘密值,ChillDKG 允許僅僅從設備種子詞和公開數據(對所有 DKG 參與者都一樣)中恢復錢包。因此,獲得了公開備份數據的攻擊者無法獲得秘密的簽名密鑰,而如果某個用戶丟失了備份,可以從其他誠實簽名人那裡重新獲得。
ChillDKG BIP 當前還在草案階段,我們正在尋求對設計選擇和實現細節的反饋。雖然這份規範已經大部分完成了,它還缺少測試向量,而且我們還在考慮添加一些額外的特性(例如 “可識別的終止”)。一旦完成,這個 BIP 就可以結合一個為 FROST 簽名而撰寫的 BIP,將完整的 FROST 協議實例化。
(完)



