MPC
1、廣義上講,多方計算(MPC)使一組互不信任的各方能夠聯合計算輸入函數,同時保護這些輸入的隱私。在密碼學中,這對於保管用於解密數據或生成數字簽名的私鑰特別有用。
MPC錢包通過使用門限簽名方案(TSS)消除了單點故障。在這個範式下,我們創建並分發私鑰分片,這樣就沒有哪個人或機器能夠完全控制私鑰——這個過程被稱爲分佈式密鑰生成(DKG)。然後,我們可以通過在不暴露各方密鑰分片的情況下合併密鑰分片,從而共同生成公鑰。
想要對消息和交易進行簽名,各方要將其密鑰分片連同公共輸入(要簽名的消息)一起輸入,生成數字簽名。此後,任何知道公鑰的人(即驗證者節點)都應能夠驗證簽名。由於各密鑰是組合在一起的,並且簽名是在鏈下生成的,因此從MPC錢包生成的交易與傳統的私鑰錢包的交易沒有什麼區別。
這爲MPC錢包用戶提供了一定程度的隱私保障。對於那些希望將其簽名方案和簽名者活動置於公衆視線之外的組織來說,這個功能是開箱即用的,因爲一系列過程是在鏈下進行的。這樣,組織可以保留關於參與簽名者的內部日誌,而不會對外公開。
私鑰輪換是另一種MPC協議,它輸入各密鑰分片,然後輸出一組新的密鑰分片。舊的密鑰分片可以被刪除並替換爲新的密鑰分片,新的密鑰分片可以以相同的方式使用,而無需更改相應的公鑰和地址。
2、**MPC錢包的優點**
- 無單點故障。一個完整的私鑰在任何時候都不會集中在一臺設備上。也沒有助記詞。
- 可調整的簽名方案。授權的法定人數可以隨着個人和組織需求的變化而變化,同時不改變地址。組織可以動態調整簽名方案,而不必每次都通知交易對手一個新的地址。
- 細粒度訪問控制。機構用戶可以爲一個策略分配無限數量的交易審批者,並委派能夠準確反映組織角色和安全措施(時間鎖、MFA多因素驗證、欺詐監控)的權限。個人可以通過MPC錢包即服務(wallet-as-a-service)選擇半托管方式,由第三方持有其中部分密鑰分片。
- 更低的交易成本和密鑰恢復成本。MPC錢包在區塊鏈上表示爲單個地址,其gas費與常規私鑰地址相同。這對於每天進行數百筆交易的用戶(例如在B2C用例中)來說非常重要。丟失的密鑰分片也可以在鏈下恢復。
- 區塊鏈無關性。密鑰生成和簽名依賴於鏈下純密碼學。與新的區塊鏈兼容很容易,因爲錢包只需要能夠使用該鏈可識別的算法生成簽名就可以了。
3、**MPC錢包的缺點**
- 鏈下問責制。簽名授權策略和授權法定人數是在鏈下管理的,因此這些自定義規則仍然容易出現中心化故障。密鑰分片仍然是加密祕密,應該擁有與完整私鑰相同的處理方式。鏈下規則和簽名阻礙了透明度,需要更嚴格的運營審計。
- 與多數用戶採用的大多數傳統錢包不兼容(沒有助記詞,沒有完整的私鑰存儲在單個設備上)。MPC算法並沒有標準化,也沒有得到機構級安全設備(如iPhone SEP和HSMs)的原生支持。
- 大多是單獨定製產品。許多MPC庫和解決方案都不是開源的,因此,如果出現問題,生態系統很難對它們進行獨立審計和集成,很難進行事故分析。