


在理解門檻簽名方案(TSS)之前,必須先建立密碼學的基本概念。自 1970 年代以來,眾多網路系統(如 TLS(傳輸層安全協定)與 PGP(Pretty Good Privacy))已廣泛採用非對稱加密技術,又稱公鑰密碼學(PKC)。這類加密方式需一組不同的密鑰:公鑰及私鑰。公鑰可公開給任何人使用而不危及安全,而私鑰則需嚴格保密,是整體安全架構的核心。
加密與數位簽名是公鑰密碼學(PKC)最基礎的兩大應用。這兩類方案皆仰賴三組核心演算法。第一組用於生成私鑰與公鑰配對,建立兩者間的密碼學聯繫。第二組負責產生密文(加密用途)或簽名(數位簽名用途)。第三組演算法則用於解密或驗證,確保密碼運算可被授權方正確驗證。
在數位簽名的應用中,簽名演算法會利用持有者專屬的私鑰產生唯一簽名。該簽名透過數學方式與指定訊息綁定,任何持有公鑰者皆可驗證簽名的真實性與正確性。此驗證流程保障訊息未遭竄改且確實來源於私鑰持有者,維護數位通訊的完整性與不可否認性。
毫無疑問,區塊鏈技術是分散式系統的一項革命性突破。它建立了強而有力的共識層,能以透明且不可竄改的方式組織與記錄事件。這項基礎設施讓用戶得以建構無需中心化中介的去中心化經濟、治理與金融應用。令人驚豔的是,驅動區塊鏈底層運作所需的密碼學,其實僅仰賴數位簽名,堪稱公鑰密碼學最典型且優雅的實踐之一。
在區塊鏈系統中,私鑰代表獨特身份或所有權,而簽名則成為該身份的公開聲明。區塊鏈網路會依預設共識規則對這些聲明進行排序與驗證。這些規則確保簽名無法被偽造且數學上正確,為無信任環境下的交易提供關鍵安全保障。
與早期區塊鏈採用的傳統密碼學不同,現今密碼學工具箱已納入許多先進且功能強大的技術,例如零知識證明(讓一方證明自己擁有某資訊卻不透露內容)、同態加密(可直接運算加密資料)、多方安全計算(MPC,支持多方在隱私保護下共同運算)。過去十年,區塊鏈研究極大地推進了應用密碼學的發展,各領域都取得顯著突破。
本文重點介紹一項對區塊鏈安全與密鑰管理至關重要的創新成果:高效且安全的門檻簽名。
多方安全計算(MPC)是密碼學的關鍵分支,由 Andrew C. Yao 於近 40 年前首創。在 MPC 協定中,一群互不信任的參與者可在不洩漏各自輸入資料的前提下,協同完成某個函數的運算。這種機制實現協作運算,無需任何一方公開敏感資訊。
舉例來說,假設公司有 n 位員工希望知道誰的薪資最高,但不願透露彼此薪資。在 MPC 框架下,薪資作為私密輸入,輸出僅為薪資最高員工的姓名。整個計算流程不會洩漏任何單一薪資資訊,兼顧隱私與目標。
MPC 協定的兩大核心特性為正確性與隱私性:
MPC 原理可應用於分散式產生數位簽名,即門檻簽名方案。傳統數位簽名包含三個步驟,每步驟都需針對分散式場景加以調整:
密鑰生成:分散式場景下最為複雜。公鑰用於後續驗證,但任一方皆不可持有完整私鑰。實際操作是為每位參與者生成獨立密鑰份額。密鑰生成流程必須確保所有人取得相同公鑰,各自擁有唯一密鑰份額。隱私性保障份額間不洩漏,正確性確保所有份額組合後公鑰正確。
簽名生成:分散式簽名函數,每人輸入自身密鑰份額及待簽訊息。輸出是與單方持有完整私鑰簽名完全一致的數位簽名。隱私性確保即使部分參與方嘗試窺探他人份額,簽名過程亦不會洩漏密鑰份額。
驗證:驗證演算法與傳統單一密鑰場景一致。相容現有區塊鏈架構,任何知曉公鑰的人都可用標準流程驗證簽名。這正是區塊鏈驗證節點處理交易的實際方式,無法分辨 TSS 產生的簽名與傳統單一密鑰簽名。
門檻簽名方案(TSS)即是將分散式密鑰生成和分散式簽名協定結合,形成完整的分散式密碼密鑰管理架構。
TSS 整合到區塊鏈基礎設施最常見的做法,是將區塊鏈用戶端軟體中的密鑰生成與簽名操作,從傳統單一密鑰方法轉為 TSS 協定。這裡所稱「區塊鏈用戶端」指的是全節點在網路上的所有運作。TSS 技術能將所有私鑰相關操作替換為多方分散式運算。
傳統區塊鏈地址生成流程:先以密碼學安全的隨機數生成私鑰,接著透過橢圓曲線運算推導公鑰,最後藉由雜湊函數和編碼產生區塊鏈地址。
導入 TSS 後,流程大不相同。私鑰不再由單一方生成,而是由 n 方協同以分散式協定產生公鑰。每人僅持有私鑰的秘密份額,計算過程中任何一方都無法掌握其他份額。共同產生的公鑰可用傳統方式推導區塊鏈地址,區塊鏈網路無需關心地址生成方式。關鍵優勢在於,私鑰不再是單點失效來源,因每人僅擁有一部分,任一方無法獨自偽造簽名。
同理,交易簽名亦可採用分散式方案。簽名不再由單方持有完整私鑰執行,而是多方協同產生。各方以自身份額為輸入,協同產生可由公鑰驗證的有效簽名。簽名外觀與單一方產生無異,但必須達到門檻數量的多方協作。這代表運算由單點轉為更具彈性的分散式合作,更能抵抗攻擊。
分散式密鑰生成還可設計不同的存取架構。最常見為「n 選 t」架構,即 n 方中任意 t 方即可協力產生有效簽名。可容忍 t-1 個私鑰份額失效或洩漏,系統安全性不受影響。這種彈性便於組織依據實際安全需求與風險容忍度訂製安全模型。
部分區塊鏈平台提供類似 TSS 的協定內建或可程式化功能,通常稱為多重簽名(multisig)。在理解兩者差異時,可將 multisig 視為在區塊鏈應用層實現類似 TSS 的功能,而非底層密碼學協定。
簡單來說,multisig 與 TSS 都致力於多方共同授權交易,但實作機制完全不同。TSS 於鏈下以密碼學產生普通單簽名,multisig 則全程在鏈上運作,區塊鏈需驗證多份獨立簽名。
這種架構差異帶來多項重要影響。區塊鏈網路必須能編碼並處理 multisig 交易,這會揭露存取架構(如簽名人數與身份),任何人都可分析。此外,multisig 交易通常比一般交易成本更高,因所有簽名人與簽名資訊都需上傳並永久儲存於區塊鏈。
相對而言,TSS 將多簽細節合併為一筆一般單簽交易,降低交易成本與資訊揭露,有效保護參與者隱私。multisig 的優勢則在於交易廣播後不需額外協調,不需簽名人間複雜通訊。
關鍵差異在於 multisig 需針對每個區塊鏈協定獨立實作,部分舊型網路甚至不支援或僅有限支援 multisig。TSS 僅仰賴密碼學本身,與區塊鏈協定無關,理論上可支援所有採用標準數位簽名的區塊鏈。
Shamir 密鑰分享方案(SSSS)採用另一種方式分散儲存私鑰。SSSS 可將靜態私鑰拆分並儲存於多個位置。但 SSSS 與 TSS 有兩項關鍵不同,適用情境各異:
密鑰生成:SSSS 由一名「分發者」(dealer)生成完整私鑰,然後拆分成數份分發。也就是說,密鑰生成階段完整私鑰實際存在於單一位置,再由分發者分配各份額,這在生成階段形成安全疑慮。TSS 則完全去除分發者,密鑰生成流程始終分散式,完整私鑰從未被建構,安全性更高。
簽名生成:SSSS 需簽名時,各方合併份額重建完整私鑰,每次簽名都存在短暫單點失效風險。TSS 則全程分散式完成簽名,各方僅以自身份額參與協定,最終協同產生有效簽名,任何單一方都無法掌握完整密鑰。
可見,在 TSS 架構下,私鑰即系統最終安全根本,在整個生命週期內從未出現在單一位置,不論產生、簽名或其他操作。TSS 在主動密碼學運作上相較 SSSS 實現了本質上的安全提升。
以 TSS 為基礎的加密貨幣錢包與傳統錢包的設計方式差異顯著。傳統錢包通常會產生一組助記詞(12 或 24 個單字),據此以確定性方式推導所有錢包地址及對應私鑰。用戶可依此結構存取私鑰並簽名,也能在錢包遺失或損壞時憑助記詞恢復所有密鑰。
門檻錢包的架構則更為複雜。雖然可產生類似傳統錢包的 HD 結構,但整個生成流程必須透過分散式 MPC 協定完成。所有參與者需協同決定下一個待推導密鑰,沿著 HD 路徑前進。每方分別持有助記詞,這些詞組是透過分散式流程獨立產生,絕不會合併。如此一來,任一方都無法單獨由種子推導出私鑰,整個密鑰推導流程始終維持分散式安全。
TSS 錢包還具備傳統錢包無法達成的額外安全性:能在不變更公鑰與區塊鏈地址的前提下進行私鑰輪換。私鑰輪換(又稱主動秘密分享)是一種 MPC 協定,透過現有份額生成全新份額,舊份額可安全銷毀,新份額能無縫用於簽名,公鑰與地址不變。
此架構為安全模型加入「時間維度」,攻擊者必須同時攻陷多個位置才能破解門檻錢包。即使結合輪換前與輪換後的份額,攻擊者也無法提升偽造簽名的能力。系統可抵禦分階段攻陷不同方的攻擊。
但此類錢包的缺點在於缺乏單一主助記詞,無法與傳統單一密鑰錢包及恢復流程相容,用戶無法僅憑 12 個單字在其他系統恢復錢包。因此必須審慎規劃密鑰份額的持有方、備份與復原機制。
門檻錢包有多種部署架構:
委託 TSS 計算:用戶將 TSS 計算委託給 n 個獨立伺服器,由其代表執行協定。此舉可將密鑰生成、管理和簽名外包給服務商,服務商僅提供安全服務以換取酬勞,並不持有資產所有權。這類似雲端服務模式。
多裝置協作:用戶於自身多台裝置執行 TSS 協定,例如 IoT 裝置、手機、筆記型電腦分別作為參與者。此方式讓用戶完全掌控各參與方,但需裝置協同運作。
混合模式:部分參與者由外部服務商控制,部分由用戶裝置執行,結合上述兩種架構的優勢。
第一種方式可降低用戶端運算負擔,但服務商串通竊取資產仍存風險。雖然假設足夠多服務商不會同時遭攻擊,實際上仍有法律或聯合攻擊威脅。
第二種方式讓用戶對參與方完全掌控,無第三方風險,但需多裝置同時上線、協同簽名,操作較為繁瑣。
第三種方式常被認為是最佳折衷,既能方便交易,又必須獲用戶授權。即使服務商一方被攻陷,攻擊者仍需同時攻陷用戶自有裝置才能偽造簽名。
多年來,研究者發現數位簽名具備多種創新用途,其中不少極為複雜。TSS 作為密碼學基礎原語,可顯著提升區塊鏈系統的安全性。更廣泛來說,許多原本仰賴智慧合約實現的功能,理論上都能以 TSS 為基礎的密碼協定取代。
去中心化應用、Layer 2 擴容、原子交換、混幣協定、繼承機制等功能都可基於 TSS 架構實現。這有望以更高效、低成本、可靠的鏈下密碼協定,取代昂貴且潛在風險的鏈上智慧合約操作。將複雜邏輯由區塊鏈移轉至密碼協定,可大幅降低交易成本並提升隱私。
例如,Multi-Hop Locks 利用雙方簽名,可作為部分 Layer 2 支付通道網路的替代,提升支付通道安全性與隱私性,減少鏈上資訊。ShareLock 則是極具成本效益的鏈上混幣方案,以單次門檻簽名驗證完成,無需複雜智慧合約邏輯。這些案例顯示 TSS 能落實許多先前難以實現的新型設計。
近年來,TSS 實作的數量與品質持續提升。但身為區塊鏈領域的新興技術,仍存在一些限制與必須正視的問題。與經過長期驗證的傳統公鑰密碼學相比,TSS 協定設計與實作更為複雜。
TSS 協定的複雜性代表其尚未經過傳統密碼學那般充分檢驗與審查。通常,TSS 協定需仰賴更多或更弱的密碼學假設,例如承諾方案、零知識證明等輔助工具。因此,傳統單一密鑰體系所沒有的新型攻擊面仍持續被研究與修補。
實作層面的漏洞也需格外留意,TSS 協定的分散式特性可能導致程式上出現細微錯誤。建議由具備 MPC 與 TSS 專業能力的安全工程師及應用密碼學專家協助安全部署,確保充分審核與測試。
值得肯定的是,TSS 生態系正持續壯大與成熟。這歸功於研究社群的高品質貢獻、協定及實作的同儕審查、專業安全審核,以及演算法效能優化。隨著技術成熟、實作落地並於實際環境驗證,TSS 的安全性信心將不斷提升。
儘管如此,TSS 在區塊鏈安全與密鑰管理領域展現巨大潛力,仍值得持續深入研究與發展。
於區塊鏈系統部署 TSS 時,有若干實際問題需注意。首先,參與者間的通訊開銷可能較高,尤其協定需多輪互動時。網路延遲與可靠性是 TSS 系統效能關鍵。組織必須妥善設計網路架構,確保密鑰生成與簽名期間,參與者間通訊順暢且穩定。
另一個重要課題是參與者故障與復原。在分散式系統中,部分參與者短暫不可用在所難免。TSS 協定必須具備韌性,只要達到門檻要求,即使部分參與方暫時離線,系統仍可運作。同時,新增或移除參與者的流程也需審慎設計與執行。
門檻參數(t 與 n,t-of-n 架構)選擇極為重要,應綜合系統安全需求與實際運維限制權衡。門檻越高,安全性越強,但每次操作需更多方協同,可能影響可用性與效能。組織必須在安全性、可用性與效率間取得最佳平衡。
最後,TSS 錢包及相關應用的使用者體驗也須重視。TSS 的分散式特性可能帶來延遲與操作複雜性,用戶可能感到困惑或不便。透過精心設計的介面與明確溝通安全優勢,可協助用戶理解並接受這些權衡。隨 TSS 技術成熟及實作優化,許多使用者體驗問題有望逐步改善,使 TSS 更易被主流用戶採用。
門檻簽名讓多方共同產生簽名,無任何單一方持有完整私鑰。與一般數位簽名不同,門檻簽名透過分散簽名權力,大幅提升安全性與抗風險能力。
門檻簽名能實現多方分散簽名權力,支援聯合授權並強化安全性。廣泛應用於多簽錢包、去中心化託管方案及分散式治理機制,有效防止單點失效。
兩者皆要求多方簽署交易。多重簽名錢包透過智慧合約管理多把獨立私鑰,門檻簽名則以密碼學秘密分享拆解密鑰。門檻簽名於鏈下生成,不暴露單獨密鑰片段,因而更具隱私性與高效率。
門檻簽名需多方協力完成簽名。即使部分密鑰遭攻擊,只要達成簽名門檻,資產仍安全無虞。此方案能強化安全性及去中心化治理,有效杜絕單點失效。
門檻簽名將密鑰控管權分散至多方,杜絕單點失效。無人能單獨掌控全部簽名權,降低被攻擊的機率。所有交易都需多方共識決定,較集中式密鑰管理更能防範密鑰遭竊及未經授權存取。
門檻簽名需熟悉 Shamir 秘密分享演算法、多重簽名方案及分散式密鑰管理基本原理,確保能安全地在多方間分割及重建密碼學密鑰。











