風險提示:防範以"虛擬貨幣""區塊鏈"名義進行非法集資的風險。——銀保監會等五部門
資訊
發現
搜索
登錄
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
查看行情
全面解析MPC和智能合約錢包的優缺點與面臨的挑戰
ChinaDeFi
特邀专栏作者
2022-11-17 13:00
本文約5868字,閱讀全文需要約9分鐘
智能合約錢包與多方計算(MPC) 協議,從長遠來看並不是競爭關係,而是互補關係。

原文標題:Seedless Self-Custody: On MPC and Smart Contract Wallets

原文編譯:ChinaDeFi

原文編譯:ChinaDeFi

原文編譯:ChinaDeFi

原文編譯:ChinaDeFi

自我託管一直被譽為管理加密資產的最佳實踐。 FTX 和Celsius 的崩潰是一長串事件中的最新一起,這些事件提醒業內「非彼之鑰,則非彼之幣」,引得人們紛紛奔向非託管錢包。在FTX 事件曝光後,Safe 獲得了8 億美元以上的淨流入,Ledger 在短時間內連續經歷了多個歷史新高的銷售額,Trezor 銷售額飆升300%,ZenGo 在一夜之間實現了三位數增長,存款達到歷史最高水平,所有這些都發生在同一周內。

然而,大量用戶仍然願意承擔託管風險,以換取較低的成本和易用性。在非託管錢包基礎設施成為保護和管理資產阻力最小的途徑之前,我們還有很長的路要走。

  • 幸運的是,現在有一個蓬勃發展的錢包生態系統,為個人、DAO 和機構提供了更多的選擇。加密不再只涉及安全存儲,它還包括在新經濟中使用資產。但是,不斷增加的攻擊面和漏洞,再加上日益豐富的功能,使得錢包需要既能夠抵禦攻擊,同時又能支持日常業務和個人使用。

  • 與所有的設計決策一樣,這是針對給定用例的多個考慮因素的優化問題,也是錢包解決方案和密鑰管理實踐的能力,它們需要務實地平衡目標用戶的集體需求:

  • 個人需要無縫的用戶體驗、低費用、與dApp 交互的靈活性。

DAO 需要透明的金庫管理、生態系統治理參與。

機構希望通過鏈不可知性、可審計性和機構級安全性來外包責任。

  • 有兩類替代密鑰管理解決方案取得了重大進展:智能合約錢包( 包括多重簽名錢包) 和多方計算(MPC) 協議。

  • 本文涵蓋:

  • 錢包中要考慮的屬性;

  • 傳統、MPC 和智能合約錢包的概述;

錢包生態系統的持續挑戰;

  • 當前錢包解決方案的權衡總結,以及錢包基礎設施前景展望。

  • 錢包中需要考慮的屬性

  • 安全。從簡單攻擊到復雜攻擊的保護程度。 「良好的密鑰管理」需要選擇一系列解決方案,其加入和運營成本與鏈上活動的性質和風險金額相匹配。

  • 成本。創建帳戶、管理訪問和執行交易的成本有多高。

  • 用戶體驗和靈活性。訪問控制管理、開銷策略、限制和權限的粒度。

  • 可恢復性。在受到威脅或造成損失的情況下,有能力恢復資產和訪問權。

可擴展性。可以為核心產品帶來新功能,以及能夠建造出綜合的產品和服務生態系統。

隱私。地址可以輕鬆鏈接到個人。

傳統(HD) 錢包

傳統錢包使用助記詞和分層確定性(HD) 結構來派生私鑰、對應的公鑰和鏈上地址。這些錢包允許用戶生成用於簽署交易的私鑰,並使用助記詞恢復所有密鑰。

到目前為止,傳統錢包一直是用戶保管資產的工具,也是他們與區塊鏈應用程序交互的主要入口。像MetaMask 這樣的瀏覽器擴展程序和像Rainbow 這樣的移動應用程序已經為這個生態系統吸引了數百萬用戶。想要降低風險的用戶可以選擇Ledger 和Trezor 等硬件錢包,它們可以離線保護私鑰,從而提供更好的安全性。

雖然業界已經做出了巨大的集體努力來告知用戶保持助記詞和密鑰安全的重要性,但這個單點故障仍然是廣泛採用的一個重要障礙。如果私鑰丟失,除了失去所有資產外,用戶還必須手動跟踪多個地址、代幣批准,並因必須為新地址提供資金而損害隱私。

今天,不可撤銷的字符串不僅可以讓一個人的畢生積蓄全部被「訪問」,而且越來越多地趨勢是將用戶在線身份的鏈上歷史聯繫起來。獲取私鑰訪問權的動機就是這麼大,以至於黑客們,每個人都投入無限的資源,進行越來越有創意的攻擊。現在,僅僅依靠用戶已經不夠了——我們需要完全消除這個單點故障。

多方計算(MPC) 錢包和智能合約錢包幫助我們實現這一目標,並且已經有一個由機構、個人和DAO 等採用的關於這兩類產品和服務的生態系統。雖然這兩種類型的錢包都消除了單點故障,但它們有一些基本的技術差異,導致了不同的折衷方案。

MPC 錢包

廣義上講,多方計算(MPC) 使一組互不信任的各方能夠根據他們的輸入共同計算一個函數,同時保持這些輸入的私密性。在密碼學中,這對於保存用於解密數據或生成數字簽名的私鑰特別有用。

MPC 錢包通過使用閾值簽名方案(TSS) 消除了單點故障。在這個範式下,我們創建並分發私鑰的一部分,這樣就沒有一個人或機器能夠完全控制私鑰——這個過程被稱為分佈式密鑰生成(DKG)。然後,我們可以通過合併部分,並且在不暴露各方之間的部分的情況下共同生成公鑰。

為了對消息和交易進行簽名,每一方都要輸入秘密共享部分與公共輸入( 要簽名的消息),以生成數字簽名。從那裡,任何知道公鑰的人( 即驗證者節點) 都應該能夠驗證和驗證簽名。由於密鑰部分是被組合的,簽名是在鏈下生成的,因此從MPC 錢包生成的交易與傳統的私鑰錢包的交易沒有區別。

這為MPC 錢包用戶保護了一定程度的隱私。對於那些希望將其簽名方案和簽名者活動置於公眾視線之外的組織來說,這個特性是開箱即用的,因為這些過程發生在鏈下。這樣,組織就可以保留參與簽名的內部日誌,而不對外公開。

  • Private Key Rotation 是另一種MPC 協議,它將秘密共享部分作為輸入,並輸出一組新的秘密共享部分。舊的秘密共享部分可以被刪除並替換為新的共享部分,新的共享部分可以以相同的方式使用,而無需更改相應的公鑰和地址。

  • MPC 錢包的優勢

  • 無單點故障。一個完整的私鑰在任何時候都不會集中在一台設備上。也沒有助記詞。

  • 可調整的簽名方案。批准固定人數可以隨著個人和組織需求的變化而修改,同時保持相同的地址。組織可以動態調整簽名方案,而不必每次都通知交易對手一個新地址。

  • 粒度訪問控制。機構用戶可以為一個策略分配無限數量的交易審批者,並分配能夠準確反映組織角色和安全措施( 時間鎖、MFA、欺詐監控) 的權限。個人可以通過MPC 錢包即服務(wallet-as-a-service) 選擇半託管路線,第三方持有其中一個關鍵共享部分。

更低的交易和回收成本。 MPC 錢包在區塊鏈上表示為單個地址,其gas 費用與常規私鑰地址相同。這對於每天進行數百個交易的用戶( 例如在B2C 用例中) 來說非常重要。丟失的密鑰共享部分也可以進行鏈下回收。

  • 區塊鏈不可知論者。密鑰生成和簽名依賴於鏈下的純密碼學。將兼容性擴展到新的區塊鏈很簡單,因為錢包只需要能夠使用該鏈識別的算法生成簽名。

  • MPC 錢包的缺點

  • 鏈下問責制。簽署授權政策和批准固定人數是在鏈下管理的,因此這些自定義規則仍然容易出現中心化問題。密鑰共享仍然是加密秘密,應該像處理整個私鑰一樣處理。鏈下規則和簽名阻礙了透明度,需要更嚴格的運營審計。

與許多用戶採用的大多數傳統錢包不兼容( 沒有助記詞,沒有完整的私鑰存儲在單個設備上)。 MPC 算法也沒有標準化,也沒有得到機構級安全設備( 如iPhone SEP 和HSM) 的原生支持。

大多是孤立的定制產品。許多MPC 庫和解決方案都不是開源的,因此,如果出現問題,生態系統很難獨立審計和集成它們。

基於MPC 的解決方案主要針對機構客戶,如基金、交易所和託管人。像Fireblocks 和Qredo 這樣的MPC 技術提供商,允許他們的客戶為不同類型的交易定義自己的工作流,使他們能夠保持合規和安全。然而,散戶投資者的基礎仍然依賴於獨立的研究和私人密鑰錢包。 Web3Auth 最近發布了一個MPC SDK,用戶可以使用他們的iCloud 或電子郵件作為備份。像Entropy 這樣的去中心化託管協議正在為消費者和DAO 構建開源工具,以便他們能夠在線存儲資產。

MPC 中值得注意的發展:可編程密鑰對

Lit 是一個去中心化協議,它將密鑰共享存儲在Lit 網絡節點上。公鑰/ 私鑰對由PKP( 可編程密鑰對)NFT 表示,其所有者是密鑰對的唯一控制者。然後,PKP 所有者可以觸發網絡聚合密鑰共享,以解密文件或在滿足任意定義的條件時代表他們簽名。

這對去中心化訪問控制、資產管理和鏈上自動化交互具有很大的意義。通過向Lit Action( 部署到IPFS 的不可變代碼) 授予簽名特權,PKP 可以用作MPC 或去中心化雲錢包,使用任何可用javascript 表示的身份驗證方法。

鑄造PKP NFT 是基於MPC 的分佈式密鑰生成過程,它使NFT 所有者成為PKP 的根所有者。因此,轉移這個NFT 相當於交易私鑰,這實際上打破了「靈魂綁定」代幣(SBT) 的概念,因為SBT 是與特定的所有者綁定,現在是錢包本身可以安全地交易,因此,「錢包綁定代幣」可能是更合適的名稱。

  • 智能合約錢包

  • 以太坊目前有兩種賬戶類型:

外部擁有帳戶(EOA)——由私鑰控制

智能合約帳戶——由代碼控制

智能合約錢包(「智能錢包」) 是一種行為類似於錢包的智能合約,即一個允許用戶管理資金、進行web3 登錄和與dApp 交互的界面。與私鑰錢包不同的是,智能錢包的創建需要初始成本,因為智能合約需要部署在鏈上。

多重簽名錢包是智能合約錢包,它需要M-of-N 密鑰的簽名才能執行交易。 MPC 只創建單個簽名,而不管參與的密鑰共享的數量,多重簽名使用由不同私鑰生成的不同簽名對交易進行簽名。這使得它與現有的私鑰錢包兼容,並位於Ledger 或MetaMask 等傳統錢包地址之上的一層。

  • 像Safe 這樣的智能合約賬戶標準為資產管理產品和服務的生態系統提供了一個基礎層。功能是通過模塊添加的,它允許用戶定義管理密鑰邏輯、支出限制、重複交易、帳戶自動化、分層訪問等等。目前最多產的一組Safe 模塊是由Zodiac 團隊構建的。

  • 智能合約錢包的優勢

  • 無單點故障。執行交易需要多個簽名。

  • 可編程訪問控制。用戶可以定義不同的政策,設置時間鎖、支出限制、自動化。

  • 可以實現交易批處理以節省成本。

  • 可擴展。由於智能合約的可組合性,錢包開發人員可以創建一個模塊生態系統,用戶可以選擇將這些模塊添加到他們的錢包中,為NFT 借貸框架、DAO 投票模塊和非託管資產管理服務等新功能創建一個應用程序商店。

  • 可編程恢復。錢包可以提供幾種選擇,將資金回收到智能合約本身。

  • 鏈上問責制。鏈上簽名授權策略和聚合可以明確使用哪些密鑰對交易進行簽名,從而使操作更加透明和直接,以便在出現錯誤的情況下審計誰參與了交易。

支持遷移到其他簽名方案。智能合約錢包可以將其簽名方案改為更簡單、更省gas 或抗量子的方案。他們還可以在iOS 和Android 設備上使用( 將手機變成硬件錢包),或啟用Ed25519,允許使用iOS 生物識別和網絡認證。

  • 開源。任何人都可以審計智能錢包的實現和功能擴展,從而通過生態系統的方式解決漏洞和添加新功能。

  • 智能合約錢包的缺點

  • 更高的費用。智能錢包的費用比普通的單地址交易要高,因為需要驗證多個簽名。添加/ 刪除所有者和更改閾值等操作也需要鏈上交易。

  • 沒有得到普遍支持。雖然智能錢包可以部署在相同地址的任何EVM 鏈上,但它們需要在非EVM 鏈上定制實現。

恢復成本更高。雖然恢復邏輯是可編程的,但需要支付鏈上費用來執行它。

與不可升級的合約不兼容。儘管EIP -1271 允許應用程序代表合約錢包進行簽名,但它仍然沒有得到普遍支持,並且不能添加到不可升級的合約中。

智能合約錢包中值得注意的發展:帳戶抽象

智能錢包在生態系統範圍內,在努力完全擺脫EOA 和私鑰(也稱為帳戶抽象)的過程中發揮著至關重要的作用。在這種範式下,所有賬戶都是智能合約,它們有自己的邏輯來規定什麼是有效的交易,允許用戶根據自己的特定需求定制賬戶。

  • 自2016 年以來一直在討論帳戶抽象,但生態系統在對解決方案上的協調方面一直進展緩慢。 L2 已經極大地加快了其意識和採用,例如StarkWare 已經將所有Starknet 賬戶本地化為智能錢包,zkSync 2.0 也將與AA 一起推出。

  • 在以太坊上,存在多個EIP 來完成路線圖上的里程碑,使帳戶抽象成為現實。

  • EIP-4337:將簽名驗證、gas 支付和重放保護從核心協議移出到EVM 中,讓用戶能夠使用包含任意驗證邏輯的智能錢包,而不是將EOA 作為他們的主要帳戶,同時也無需任何共識層更改。這個EIP 引入了一個UserOperations 內存池,它與現有的內存池並行存在。捆綁器( 驗證者、MEV 搜索者或應用程序本身) 從UserOperations 池獲取交易,將它們轉發給區塊鏈並支付費用。在這裡,啟動錢包本身不支付gas 費用,但應用程序可以通過收費訂閱模式為用戶聚合。

EIP-3074:允許EOA 將控制權委託給合約,讓現有的EOA 發送由第三方支付的操作。

EIP-5003:將現有的EOA 升級為合約,並允許其從ECDSA 遷移到更高效或抗量子簽名方案。

錢包開發生態系統面臨的挑戰

技術漏洞

Parity Multisig 黑客攻擊和最近的Rabby Swap 攻擊表明,如果實現有缺陷,即使是最好的存儲資金的概念方法也沒有什麼意義。我們可以預見,智能合約賬戶的標準將會出現。

社交攻擊層面

任何技術解決方案的優點仍然不能消除社會層面的風險。損失6 億美元的Ronin Bridge 漏洞不是由於任何技術缺陷,而是針對Sky Mavis 一名員工的社會工程攻擊,使攻擊者能夠訪問驗證者密鑰。除了決定使用哪個錢包來管理資產之外,組織還需要確保這個關鍵系統的每個「組件」在社交和技術層是真正獨立的。

安全和遷移成本

結論

結論

結論

  • 結論

  • 儘管MPC 和智能錢包有著共同的「這個vs 那個」框架,但從長遠來看它們並不是競爭關係,而是互補關係。 MPC 在密鑰生成和管理級別提供了共享安全性,而智能合約為功能和應用程序開髮帶來了可擴展性和生態系統方法。例如:

MPC 可以通過將一個或多個私鑰分割成多個部分來增強現有的多重簽名方案。如果三個人被用來保護一個2 / 3 的多重簽名,這三個用戶中的每個人都可以使用MPC 細分他們的個人私鑰,並將他們的MPC 密鑰部分存儲在獨立的機器上。


智能合約
錢包