Multi-party Compute 是數位資產簽署金鑰的 Google Cloud 託管平台。這項技術結合了門檻簽章、交易政策強制執行,以及企業治理控制項。
為什麼要使用門檻簽署
在機構數位資產託管中,私密簽署金鑰會直接控制資產移動。保護簽署金鑰需要降低三種不同的安全性和營運風險:
- 加密編譯健全性:金鑰遭竊或未經授權使用,會讓攻擊者簽署詐欺性交易,導致不可逆的資產損失。
- 可用性:暫時中斷或無法存取簽署基礎架構,導致交易結算和流動性作業中斷。
- 耐用性:金鑰內容永久遺失或損毀,導致相關聯的數位資產無法復原。
集中式金鑰管理會迫使您在安全性和作業彈性之間做出取捨。將完整的私密金鑰儲存在單一硬體安全性模組 (HSM) 中,會導致可用性、耐用性和加密編譯健全性出現單點故障。將該金鑰複製到多個 HSM 或區域,可提高可用性和耐用性,但也會擴大攻擊面。由於每個副本都包含完整的金鑰,因此每個副本都會產生另一個單一入侵點。
多方運算採用門檻簽章配置 (包括 DKLS23 通訊協定的強化擴充功能),解決了這項取捨問題。獨立且採用專屬硬體的各方會分別產生及保留獨立的金鑰共用。簽署期間,這些參與者會執行多方通訊協定,產生有效的簽章,而不會在單一位置組合完整的私密金鑰。如果攻擊者入侵的參與者數量少於簽署門檻,就無法偽造簽章或重建金鑰。同時,即使個別參與者無法使用或永久失敗,只要有足夠的參與者達到門檻,簽署作業仍會繼續。如要進一步瞭解通訊協定,請參閱「DKLS23 加密編譯背景」。
支援的區塊鏈
多方運算支援下列金鑰演算法:
| 演算法 | 曲線 | 常見連鎖店 |
|---|---|---|
ECDSA (EC_SIGN_SECP256K1) |
secp256k1 | 比特幣、以太坊和 EVM 相容鏈 |
EdDSA (EC_SIGN_ED25519) |
Ed25519 | Solana (即將推出) |
產生分散式金鑰後,多方運算會傳回公開金鑰和衍生自該金鑰的區塊鏈位址。
企業控管功能
Multi-party Compute 會在專屬的獨立執行個體中,為貴組織建立模型。這項政策會決定誰持有金鑰共用、需要多少人核准簽章,以及每筆交易在簽署前須符合哪些規則。
使用者與角色
使用者是指您加入執行個體的身分。每位使用者都會繫結至一個主體,可以是 Google 帳戶或員工身分聯盟主體。每位使用者都有一或多個角色:
- 管理員:管理使用者、團隊和其他執行個體資源。
- 政策作者:建立及核准交易政策。
- 簽署者:持有金鑰共用項目並核准交易。
簽署者、政策作者和管理員會使用授權金鑰簽署核准,而金鑰的私密部分一律由客戶保管。
在 API 級別,多方運算角色會與 IAM 角色搭配運作。IAM 可控管主體能呼叫的 API 方法。使用者的角色會控管該主體在執行個體中可執行的操作。如要瞭解 IAM 角色和使用者角色如何搭配運作,請參閱「安全性與授權」。
團隊
團隊是一組簽署人,例如部門或一組主管。每位簽署者都只屬於一個團隊。團隊可讓 KeyPolicy 參照簽署者群組,例如「為財務團隊的 3 名成員產生金鑰共用,並要求其中任 2 人簽署」,而不是指定每個人。
MPC 政策
KeyRing 和 KeyPolicy
KeyRing可將金鑰分組。建立金鑰環時,您會設定其 KeyPolicy,為金鑰環中建立的每個金鑰定義下列項目:
- 哪些團隊和使用者持有金鑰共用
- 必須有多少人參與簽署 (門檻),以及
- 每個金鑰共用項目的儲存位置 (Google Cloud、客戶端或使用者行動裝置)。
金鑰無法在金鑰環之間移動,也無法刪除。您只能停用金鑰,防止金鑰進一步簽署。
KeyLists
KeyList 是具名的區塊鏈位址清單,可供交易政策參照,例如信任的目的地。項目可以是現有金鑰、金鑰環 (包括日後新增的金鑰),或手動輸入的位址。
交易政策
「交易政策」是 Cedar 規則,用於允許或禁止多方運算中的交易,例如支出上限或目的地許可清單。這些有效政策會共同對每筆交易做出裁決,決定允許或拒絕。這項判定結果可做為簽署者的參考依據,但不會強制執行最終決定:即使自動交易政策拒絕某筆交易,只要有足夠的簽署者核准,該交易仍可執行。
如要瞭解如何編寫及合併規則,請參閱「編寫交易政策規則」和「交易政策評估」。