帶你初步了解多方安全計算(MPC)
作者:Julia Wu
來源:medium
MPC是被Coinbase和Fireblocks等巨頭追捧的新的熱門縮寫詞。一個可用於建立大規模、保護隱私的應用的工具。
簡單地說,MPC允許一個組織在不透露每個參與者的私人輸入的情況下進行計算。
MPC還支持“半托管”錢包,作為帶有助記詞的完全非托管錢包的替代方案。
這篇文章旨在提供對MPC的初步看法,但兔子洞可以挖得很深。文末還提供了額外的資源鏈接供感興趣的讀者閱讀。
介紹MPC
自80年代以來,它一直是密碼學的一個大主題(由Andrew Yao首創),最近又應用於數字資產。該協議主要停留在學術和理論領域,直到2000年代計算能力和算法的改進使其有可能付諸實踐。
顧名思義,MPC的目標是允許多方共享計算某些數據的能力。多個參與者可以持有一段私有數據,例如私鑰的一部分。每一段都可以用來籤署一項交易,而不需要透露整個私鑰,甚至是單獨的部分。
有一個被稱為姚氏百萬富翁問題(Yao’s millionaires’ problem)的假設性用例:想象一下,有兩個朋友,Alice和Bob,他們想在不透露各自確切淨資產的情況下比較誰更富有(和你的朋友一起嘗試,風險自負)。
https://www.researchgate.net/figure/Millionaires-problem_fig1_320290997
在這種情況下,計算的函數為:
F (x1, x2) = max (x1, x2)
使用MPC,這兩個百萬富翁可以計算出誰賺的錢最多,而不必分享每個人的確切收入。每個人都帶來了他們的工資數據,而這個函數可以算出誰的投入最多。
MPC的第一個大規模商業用例是在2008年,當時丹麥的甜菜密封式拍賣中使用了該協議。出價最高的人贏得拍賣,但要支付第二高的出價人提出的價格。MPC被用來保持投標價格的私密性,同時確定投標的排名。
與密鑰管理的相關性
說到加密錢包,當今最大的問題之一是助記詞很容易丟失或泄露。這就成了單點妥協。
使用MPC,私鑰不再需要存儲在一個地方,因為MPC通過分布式密鑰生成將密鑰分解成多個片段。這些片段可以被多方儲存在不同的地方。
單個祕密(私鑰份額)是由一組端點隨機分配的,這些端點要么是計算機,要么是移動設備。端點可以從單個私有份額中計算出公鑰(錢包地址)—只使用他們的那部分私鑰!整個“裸露”的密鑰從未在一個地方形成或披露。
當一筆交易需要籤名時,MPC協議會召集每個獨立的私鑰份額所有者以一種分布式的、私有的方式對交易進行籤名。
每一方的輸入都輸入到一個函數中。這些信息包括他們的私密份額和私人信息。輸出是一個已籤名信息。數字籤名看起來就像是用單個私鑰完成的一樣。然後它被發送到區塊鏈網絡以批准交易。
MPC可以配置為要求所有或一個閾值的密鑰份額在同一時間出現,或者在各自的時間內執行計算。
如果黑客想要訪問錢包,他們現在必須想辦法訪問密鑰的所有部分。僅僅從一個人那裏拿到密鑰是不夠的。在組織和團隊的情況下,現在多人可以訪問一個錢包,而沒有能力讓一個人帶着資金跑路。
相關:閾值數字籤名(TSS)
TSS是指在需要n方中至少有m方的閾值產生籤名,從而消除了對單個實體的信任。該協議可以與MPC相結合,要求最低數量的籤名來批准一筆交易。
多重籤名vs. MPC
多重籤名與MPC的區別在於,不同於將一個密鑰分成由多方持有的多個份額(MPC),多重籤名中的每一方都有自己的私鑰。為了使交易成功,需要有最小的籤名者閾值來批准。
https://docs.gnosis-safe.io/introduction/the-programmable-account/eoas-vs.-contract-accounts
使用MPC,籤名過程分布在多臺計算機上,每臺計算機使用單個密鑰份額處理一段私有數據。這些份額共同合作,以分布式的方式籤署交易。
多籤錢包將使用不同的私鑰創建不同的籤名,而MPC是由一個私鑰的多個份額組成的單一籤名。
為了使多籤運行,區塊鏈需要支持它。但並不是所有的鏈都支持多籤錢包,它通常以智能合約的形式出現。MPC使用的是標准化的加密籤名算法(ECDSA:橢圓曲线數字籤名算法),絕大多數區塊鏈都可以實現這種算法。
使用多籤,支持dApp或大多數DeFi服務也就不那么容易了,因為一筆交易需要多個籤名才能被批准——這與MetaMask上一次點擊的常見流程不同。
Coinbase的Pete Kim解釋得很清楚:
“一個由MPC驅動的錢包(我們稱之為dApp錢包),可以支持一個正常的自我托管錢包所能支持的一切。不只是發送、接收和交易,還可以使用dApps、DEX、存儲和交易NFT,在治理中投票、流動性挖礦、web3遊戲等等。”
即使MPC只輸出一個籤名,它也有一個更復雜的批准結構。MPC錢包可能缺乏確定使用哪個密鑰部分來籤署交易的能力,因為所有密鑰份額都參與了同一個籤名。MPC錢包還缺乏硬件安全模塊(HSM,又稱硬件錢包)的支持。
多籤示例:Gnosis Safe
Gnosis Safe允許用戶定義所有者帳戶列表和確認交易所需的最小籤名閾值。當達到閾值時,就可以執行Safe交易。
多籤要求在處理交易前有最低數量的人來批准。如果一個企業有3個利益相關者,你可以配置Gnosis,使交易成功需要所有3個人的批准。這也是自我托管的。
首先,你將需要一個籤名者錢包,比如MetaMask。Gnosis Safe本身並不持有私鑰,因此它不能籤署或執行交易。
https://gnosis-safe.io/static/df5a5bc44d16189df7e6b1cc9556a685/bc8e0/multisig.png
MPC的採用
Fireblocks
Fireblocks為1300家大型機構提供數字資產托管平臺,包括MPC錢包、代幣發行/管理,以及對DeFi的訪問。它的客戶包括銀行、交易所、借貸機構、對衝基金、做市商和其他機構。
Fireblocks的客戶之一Revolut(估值55億美元,是最大的金融科技公司之一)正在使用Fireblocks的MPC為全球1300萬零售客戶引入加密服務。該基礎設施用於為數字資產轉账提供安全的支付軌道。通過MPC錢包,Revolut可以增加涉及加密貨幣的產品线和面向零售的功能。
ZenGo
ZenGo創建兩個密鑰份額,一個存儲在你的移動設備上,另一個存儲在ZenGo服務器上。這意味着ZenGo不能訪問你的資金,但用戶發起一個過程,在這個過程中,服務器和設備的密鑰份額將籤署交易,而不會向對方透露雙方的私人信息。
https://zengo.com/a-deep-dive-into-zengo-guaranteed-access-solution/
Coinbase
Coinbase正在為用戶推出一種無需管理助記詞就可以探索dApp的方式,並使用MPC在用戶和Coinbase之間分割密鑰。
結語
我們仍然處於MPC的早期階段,但它正在成為保護數字資產的一種引人注目的選擇,既保留用戶體驗,又避免在线、離线或在物理設備中存儲整個私鑰(單點妥協)。
我們還沒有看到MPC錢包被廣泛採用,並用於類似MetaMask的無縫鏈上交互。然而,見證這些圍繞為用戶和組織提高安全性的解決方案所做的努力是非常令人興奮的。
來源和進一步閱讀
- MPC (Multi-Party Computation) 101 — Fireblocks
- MPC vs. Multi-sig
- What is an MPC Wallet?
- Threshold Digital Signatures. By Cassandra Heart, Arash Afshar | by Coinbase
- Access web3 with the Coinbase app
- What is Multi-Party Computation (MPC)?
- Deep Dive into ZenGo Guaranteed Access Solution | High Level Reminder — Bitcoin & Cryptocurrency Wallet
- What is Gnosis Safe?
- Know The Difference Between MPC vs Multi-Sig -
- Axelar Network: Security Measures
深入了解
- A Pragmatic Introduction to Secure Multi-Party Computation
- GitHub — rdragos/awesome-mpc: A curated list of multi party computation resources and links.
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
解讀幣安Launchpool最新上线項目Usual:RWA去中心化穩定幣
@OdailyChina @Asher_ 0210 今日下午,幣安宣布將於北京時間 11 月 19...
HTX成長學院 | 11月加密市場宏觀研報:比特幣突破9.3萬美元,史詩級牛市周期开啓
一、引言:加密市場背景與大勢判斷 2024 年 11 月,加密貨幣市場迎來具有裏程碑意義的時刻,比...
coincaso
文章數量
3481粉絲數
0