以太坊錢包實作手冊:MPC 錢包與社交恢復錢包技術深度比較

本文深入探討兩種最具創新性的以太坊錢包技術:MPC 錢包與社交恢復錢包。從密碼學原理出發,詳細剖析 Shamir 秘密分享、閾值簽名等核心技術,比較兩種架構的安全模型、使用場景與選擇框架。同時提供完整的部署配置指南與最佳實踐,幫助用戶根據自身需求選擇最適合的錢包方案。

以太坊錢包實作手冊:MPC 錢包與社交恢復錢包技術深度比較

概述

以太坊錢包技術在近年經歷了顯著的演進,從傳統的外部擁有帳戶(EOA)到智慧合約錢包,再到多方計算(MPC)錢包,用戶的資產安全管理選項變得日益豐富。選擇合適的錢包架構不僅關乎資產安全,更涉及使用體驗、恢復機制、營運成本等多個維度的權衡。

本文深入探討兩種最具創新性的錢包技術:MPC 錢包與社交恢復錢包。我們將從密碼學原理出發,詳細剖析這兩種技術的架構設計、實現差異、安全模型,並提供針對不同使用場景的選擇框架。截至 2026 年第一季度,這兩種錢包技術都已經成熟應用於實際產品中,正確理解其技術差異對於做出明智的資產管理決策至關重要。

第一章:MPC 錢包技術深度解析

1.1 多方計算密碼學基礎

多方計算(Multi-Party Computation,簡稱 MPC)是一種密碼學技術,允許多個參與方共同計算一個函數的輸出,同時保持各自輸入的私密性。在區塊鏈錢包應用中,MPC 的核心價值在於將單一私鑰拆分為多個分片,任何單一分片都無法獨立完成簽名,必須集合足夠數量的分片才能產生有效簽名。

密碼學原理

MPC 錢包的基礎是秘密分享(Secret Sharing)技術。最常見的實現是 Shamir 秘密分享方案(Shamir's Secret Sharing,簡稱 SSS),由密碼學家 Adi Shamir 於 1979 年提出。該方案的核心思想是將一個秘密值分散給 n 個參與者,僅當至少有 k 個參與者合作時才能重建秘密。

Shamir 秘密分享的數學基礎是拉格朗日插值法。假設我們要保護的秘密是一個隨機生成的私鑰 S,我們可以構造一個 k-1 次多項式 f(x),使得 f(0) = S。我們為每個參與者生成一個分片 (xi, f(xi)),其中 x_i 是參與者的標識符。任何 k 個分片都可以通過拉格朗日插值公式重建多項式 f(x),進而計算 f(0) 獲得原始秘密 S。

這種設計的安全性基於以下假設:少于 k 個參與者無法獲得任何關於秘密 S 的資訊。因為對於任何可能的秘密 S',都存在一個 k-1 次多項式 f'(x) 滿足 f'(0) = S' 且經過所有已知的分片點。這意味著在缺少足夠分片的情況下,所有可能的秘密值都是等可能的。

閾值簽名方案

除了 Shamir 秘密分享,MPC 錢包還常採用閾值簽名方案(Threshold Signature Scheme,簡稱 TSS)。與 SSS 不同,TSS 允許參與者直接產生部分簽名,而不需要先重建完整私鑰。這進一步降低了私鑰洩露的風險,因為私鑰在任何時刻都不會以完整形式存在。

BLS 閾值簽名是區塊鏈領域最常用的方案之一。BLS 簽名的獨特之處在於其簽名聚合特性——多個 BLS 簽名可以合併為單一簽名,這與 MPC 錢包的多方協作簽名場景天然契合。在 (t, n) 閾值 BLS 方案中,n 個參與者各自持有一個分片,僅當至少 t 個參與者提供有效部分簽名時,才能產生最終的有效簽名。

1.2 MPC 錢包架構設計

分散式金鑰生成

MPC 錢包的第一個關鍵階段是分散式金鑰生成(Distributed Key Generation,簡稱 DKG)。在傳統金鑰生成中,單一實體產生私鑰然後分發給各方,這在生成階段就存在單點風險。DKG 解決了這個問題,確保私鑰從來不以完整形式出現。

DKG 過程通常涉及以下步驟:首先,每個參與者生成一個隨機的私鑰分片;然後,參與者之間交換公開資訊,這些資訊足以構建公鑰但無法推導出任何參與者的私鑰分片;最後,所有參與者共同計算出共享的公鑰,而每個參與者只知道自己的私鑰分片。

最具代表性的 DKG 協議是 Pedersen 和 Feldman 的變體。Pedersen DKG 允許 n 個參與者共同生成一個公開公鑰,而每個參與者只持有私鑰的一個分片。該協議的安全性基於離散對數的困難性假設,這與標準橢圓曲線密碼學的安全基礎相同。

簽名計算流程

當 MPC 錢包需要執行交易時,簽名計算是一個多方協作的過程。假設錢包配置為 (t, n) 閾值方案,即 n 個分片中需要至少 t 個才能產生有效簽名。

簽名流程始於交易請求的產生。錢包客戶端首先構建交易資料,包括目標地址、轉帳金額、Gas 限額等參數。然後,這個交易請求被廣播給所有簽名參與者。每個參與者使用自己的私鑰分片,結合交易雜湊,計算出一個部分簽名(Partial Signature)。

這些部分簽名被收集並聚合為最終的完整簽名。關鍵在於,這個聚合過程只需要部分簽名的數學組合,不需要任何參與者暴露自己的私鑰分片。最終產生的簽名與使用完整私鑰產生的簽名完全無法區分,這確保了與以太坊網路的完全相容性。

整個過程中,私鑰分片始終保存在各參與者的本地設備上,從未離開過。這與傳統多簽名錢包形成鮮明對比——在多簽名方案中,多個私鑰分別存在不同設備上,簽名時需要多方分別提供完整私鑰進行簽名。

1.3 主流 MPC 錢包實現方案

Gnosis Safe 的 MPC 演進

Gnosis Safe(原名 Gnosis Safe)是以太坊生態系統中最受歡迎的多重簽名錢包,長期以來提供 (m, n) 多簽名方案。然而,傳統多簽名的一個主要限制是 Gas 費用較高——每筆交易都需要 m 個獨立簽名,這在 Layer 2 尚可接受,但在以太坊主網上可能成為顯著成本。

近年來,Gnosis Safe 積極整合 MPC 技術,推出了名為 "Safe{core}" 的 MPC 錢包服務。該服務允許用戶將多簽名錢包的某個所有者替換為 MPC 節點,從而獲得閾值簽名的效率優勢,同時保持多簽名的安全特性。

Coinbase Wallet 的 MPC 實現

Coinbase Wallet 採用了 MPC 技術來實現其雲端備份功能。用戶的私鑰被拆分為兩個分片:一個存儲在用戶設備上,另一個存儲在 Coinbase 的伺服器端。這種設計使得用戶可以在新設備上恢復錢包,同時避免了單點故障——即使 Coinbase 伺服器被攻擊,攻擊者也无法使用單一分片盜取資產。

值得注意的是,Coinbase 的 MPC 實現強調了用戶控制的重要性。用戶的設備分片永遠不會離開用戶設備,而 Coinbase 的分片也經過加密保護。更關鍵的是,Coinbase 無法訪問用戶的私鑰分片,因為該分片在用戶設定時就已經被加密,只有用戶自己知道解密密鑰。

Fireblocks 企業級 MPC 解決方案

Fireblocks 是面向機構投資者的 MPC 錢包平台,提供了高度安全的資產管理基礎設施。其 MPC 引擎採用了專利的硬體隔離技術,將金鑰分片存儲在專門設計的安全模組中。

Fireblocks 的架構包含三個層次:錢包層負責與區塊鏈交互;MPC 協引擎處理金鑰生成和簽名計算;基礎設施層提供網路安全、審計日誌和合規報告。該平台支援超過 30 條區塊鏈,並與所有主流的機構級託管解決方案整合。

1.4 MPC 錢包的安全性分析

攻擊面評估

MPC 錢包的安全性与传统单私钥钱包有本质区别。在 (t, n) 閾值方案中,攻擊者需要獲取至少 t 個私鑰分片才能控制錢包。這意味著即使部分節點被攻破,只要未達到閾值,資產仍然是安全的。

然而,MPC 錢包也存在独特的攻击向量。共谋攻击(Collusion Attack)是指 t 個或更多參與者串通起來重建私鑰或未經授權進行交易。在家庭或企業場景中,這是一個現實的威脅——合夥人或家庭成員可能聯合起來盜取資產。

另一個威脅是通信通道攻擊。如果簽名過程中的參與者之間的通信被監視或篡改,攻擊者可能干擾簽名過程或竊取部分簽名資訊。這要求 MPC 錢包實現足夠的通信安全措施,包括傳輸層加密和身份驗證。

與硬體錢包的比較

MPC 錢包與硬體錢包代表了兩種不同的安全範式。硬體錢包將私鑰存儲在專門設計的安全晶片中,這些晶片經過物理加固,能夠抵禦硬體層面的攻擊。硬體錢包的安全性依賴於物理安全和晶片設計的信任假設。

MPC 錢包的安全性則完全是密碼學層面的,不依賴於任何硬體信任假設。這使得 MPC 錢包在以下場景中具有優勢:需要異地備份的場景(分片可以存儲在不同地理位置);需要多方共管的場景(企業財務、DAO 資金);需要避免單點硬體故障的場景。

然而,硬體錢包在以下方面仍有優勢:抵禦設備被完全控制的攻擊(即使電腦被惡意軟體完全控制,硬體錢包仍保護私鑰);離線簽名的便利性(硬體錢包可以完全離線操作);審計簡單性(硬體錢包的代碼庫相對較小,更容易審計)。

第二章:社交恢復錢包技術深度解析

2.1 社交恢復機制設計原理

社交恢復錢包(Social Recovery Wallet)是智慧合約錢包的一種進階形式,其核心特性是允許用戶通過預先設定的「守護者」(Guardian)網路來恢復帳戶訪問權限。當主私鑰遺失或被盜時,守護者可以共同協作,重置帳戶的所有權。

這種設計解決了加密貨幣領域的一個核心問題:傳統密碼學中,私鑰是資產的唯一控制權杖,一旦遺失就無法恢復。社交恢復機制在私鑰之上增加了一個社會層,允許通過預先建立的信任關係來解決緊急情況。

守護者機制

守護者是社交恢復錢包的核心組件。每個守護者通常是用戶信任的人或機構,例如家庭成員、律師、專業服務商,或者是用戶自己控制的其他錢包。守護者的數量和閾值可以根據用戶需求配置。

典型的配置包括:3-of-5(5 個守護者中需要 3 個同意才能恢復);2-of-3(家庭成員 + 專業服務商 + 自己備份);1-of-2(配偶雙方各自持有一個守護者位置)。

守護者的選擇是一個需要謹慎考慮的決定。過少的守護者會增加單點故障風險——如果唯一的守護者無法聯繫,用戶將無法恢復帳戶。過多的守護者會增加協調成本和潛在的共謀風險。

恢復流程

社交恢復的流程通常如下:首先,用戶需要初始化恢復過程,提交一個恢復請求到區塊鏈上的錢包合約。這個請求會觸發通知機制,告知所有守護者有待處理的恢復操作。

然後,守護者驗證恢復請求的合法性。這可能包括:用戶本人親自聯繫每個守護者;通過視訊或其他方式確認身份;審查恢復請求的詳細資訊。

當收集到足夠數量的守護者簽名後,這些簽名被提交到錢包合約。合約驗證簽名的有效性後,將帳戶的所有權轉移到新的私鑰對應的地址。舊的私鑰對應的地址被廢除,即使攻擊者仍然持有舊私鑰,也無法控制帳戶。

這個流程的設計考慮了安全性與可用性的平衡。設置較長的延遲期可以防止盜賊在盜取錢包後立即控制守護者進行恢復;但過長的延遲會影響正常使用的便利性。

2.2 智慧合約實現細節

Argent 錢包的合約架構

Argent 是以太坊生態系統中最著名的社交恢復錢包之一。其智慧合約架構包含三個核心組件:錢包合約(Wallet Contract)管理資產存儲和交易邏輯;鎖定模組(LockModule)處理盜竊防護;恢復模組(RecoveryModule)實現社交恢復邏輯。

錢包合約繼承了 ERC-4337 的帳戶介面,實現了驗證和執行交易的功能。與傳統 EOA 不同,Argent 錢包的所有者是合約地址,而不是外部公鑰。這使得合約可以在驗證邏輯中嵌入自定義的安全策略。

恢復模組的實現包含以下關鍵函數:

// 恢復模組核心邏輯示例
contract RecoveryModule {
    // 守護者地址列表
    mapping(address => address[]) public guardians;
    
    // 每個錢包的最少守護者數量
    uint256 public constant MIN_GUARDIANS = 3;
    
    // 恢復所需的閾值
    uint256 public constant RECOVERY_THRESHOLD = 2;
    
    // 恢復延遲期(秒)
    uint256 public constant RECOVERY_DELAY = 12 hours;
    
    // 恢復請求記錄
    struct RecoveryRequest {
        address newOwner;
        uint256 timestamp;
        uint256 guardianCount;
    }
    
    mapping(address => RecoveryRequest) public recoveryRequests;
    
    // 發起恢復請求
    function initiateRecovery(address newOwner) external {
        require(guardians[msg.sender].length >= MIN_GUARDIANS);
        recoveryRequests[msg.sender] = RecoveryRequest({
            newOwner: newOwner,
            timestamp: block.timestamp,
            guardianCount: 0
        });
    }
    
    // 守護者確認恢復
    function confirmRecovery(address wallet) external {
        RecoveryRequest storage request = recoveryRequests[wallet];
        require(request.timestamp > 0);
        require(block.timestamp - request.timestamp < RECOVERY_DELAY);
        // 驗證確認者是守護者
        require(isGuardian(wallet, msg.sender));
        
        request.guardianCount++;
        
        // 達到閾值,執行恢復
        if (request.guardianCount >= RECOVERY_THRESHOLD) {
            Wallet(wallet).setOwner(request.newOwner);
            delete recoveryRequests[wallet];
        }
    }
}

這個簡化的示例展示了社交恢復的核心邏輯。實際實現中還需要考慮更多安全細節,例如:防範重放攻擊的 nonce 管理;守護者變更的延遲確認;緊急情況下的速率限制等。

Guardian 的安全存儲

守護者清單本身也是敏感資訊,需要妥善保護。Argent 採用了分層的保護策略:守護者清單的變更需要經過一段冷卻期;在冷卻期內,原守護者可以否決未經授權的變更;變更完成後,還需要等待另一段時間才能生效。

這種設計防止了盜賊在控制錢包後立即修改守護者清單。如果攻擊者試圖將自己的地址添加為守護者或移除受害者的守護者,原守護者有足夠的時間發現並採取行動。

2.3 社交恢復錢包的安全考量

守護者風險

社交恢復錢包的安全性在很大程度上取決於守護者的可信度和安全性。如果守護者是個人,其設備可能被攻擊;如果守護者是服務商,服務商本身可能出現安全問題或行為不端。

選擇守護者時應考慮以下原則:多元化——守護者之間不應有共同的攻擊面,例如不應全部使用同一個郵箱服務;可達性——守護者在需要時應該能夠及時響應,這意味著要考慮時區和緊急聯繫方式;誠信——守護者應該是用戶信任的不會串通起來盜取資產的人。

專業的社交恢復服務(如 Argent 的 Trusted Contacts、Safe 的手機驗證)提供了一種平衡方案。這些服務通常有多重安全保護,並且有商業聲譽激勵其誠信行事。

延遲期的設計權衡

大多數社交恢復錢包都實現了恢復延遲期——從發起恢復請求到實際完成恢復之間的等待時間。這個設計的目的是給原所有者一個「窗口期」來發現和阻止未經授權的恢復嘗試。

延遲期的長度是一個艱難的權衡。較長的延遲(如 7 天)提供了更充分的安全邊界,但也很不方便——如果用戶確實需要緊急恢復,等待一周可能造成嚴重後果。較短的延遲(如 12 小時)更加便利,但可能不夠時間發現問題。

一些錢包提供了動態延遲的選項:正常情況下使用較短的延遲;如果檢測到可疑活動(如從新設備登入),自動延長延遲期。這種自適應設計試圖在安全和便利之間取得更好的平衡。

與傳統保險的比較

社交恢復機制可以被視為一種「密碼學保險」。傳統保險在索賠時需要繁瑣的理賠流程,而且保險公司可能拒賠。社交恢復的優勢在於它是確定性的——一旦滿足預先定義的條件(足夠數量的守護者確認),恢復就會自動執行,不依賴任何單一機構的決定。

然而,社交恢復也有其局限性:如果所有守護者同時無法響應(如用戶與所有守護者失聯),帳戶將無法恢復;如果用戶去世且家人不知道如何聯繫守護者,資產可能永遠無法訪問。因此,將社交恢復與傳統的遺產規劃相結合是很重要的。

第三章:MPC 錢包與社交恢復錢包綜合比較

3.1 技術架構對比

私鑰管理模型

MPC 錢包和社交恢復錢包在私鑰管理的哲學上有根本差異。MPC 錢包將單一私鑰拆分為多個分片,整個生命週期內私鑰從不以完整形式存在。這種設計的核心理念是「永不分開」——即使在簽名的那一刻,也只是部分簽名的數學組合,而非完整私鑰。

社交恢復錢包則採用不同的策略:仍然存在一個主私鑰控制帳戶,但這個主私鑰可以通過守護者網路來替換。這種設計的核心理念是「可替換」——如果主私鑰出現問題,可以通過社會共識來重建控制權。

這兩種模型適用於不同的威脅模型。MPC 錢包更適合防範外部攻擊者——即使攻擊者控制了用戶的設備或部分系統,只要未達到閾值,資產就是安全的。社交恢復錢包更適合防範私鑰遺失的風險——用戶不再需要擔心忘記密碼或硬體故障導致資產永久無法訪問。

與以太坊網路的交互方式

MPC 錢包產生的簽名與普通 EOA 簽名完全兼容。這是因為 MPC 簽名本身就是在標準的橢圓曲線上產生的,與使用完整私鑰產生的簽名在區塊鏈層面無法區分。這意味著 MPC 錢包可以無縫使用所有現有的以太坊工具和基礎設施。

社交恢復錢包作為智慧合約帳戶,與以太坊的交互方式有本質不同。交易由合約帳戶發起,驗證邏輯在合約中執行。這帶來了額外的靈活性——可以實現複雜的權限控制邏輯,但同时也增加了 Gas 开销和兼容性复杂性。

Gas 效率比較

在 Gas 消耗方面,MPC 錢包通常更具優勢。使用 MPC 閾值簽名的交易與普通 EOA 交易無異,只需驗證單一簽名。而社交恢復錢包的每筆交易都需要執行智慧合約,合約大小和複雜度會直接影響 Gas 消耗。

以 2026 年第一季度的平均 Gas 費用計算:一筆標準的 ETH 轉帳使用 EOA 需要約 21,000 Gas;使用智慧合約錢包(如 Argent)需要約 50,000-80,000 Gas,取決於驗證邏輯的複雜性;在 Layer 2 網路上,這種差異被顯著縮小,但在主網上仍然是一個考量因素。

3.2 安全特性對比

抵禦外部攻擊

MPC 錢包在抵禦外部攻擊方面具有優勢。假設配置為 (3, 5) 閾值方案,即使攻擊者成功入侵了用戶的電腦、雲端備份服務、甚至盜取了兩個 MPC 節點,只要未能控制第三個分片,資產就無法被轉移。這種「深度防禦」策略極大提高了抵禦專業攻擊者的能力。

社交恢復錢包的安全邊界相對較窄。攻擊者如果獲得了主私鑰,原則上可以立即轉移所有資產。雖然許多社交恢復錢包提供了盜竊保護機制(如 Argent 的「保護模式」),但這些機制的有效性取決於是否能及時觸發。

抵禦內部威脅

在抵禦內部威脅方面,兩種方案各有千秋。MPC 錢包面臨的主要內部威脅是守默(共謀)攻擊——如果足夠數量的 MPC 分片持有者串通,他們可以未經授權轉移資產。在企業場景中,這是一個現實的風險。

社交恢復錢包同樣面臨守護者共謀的問題。如果守護者數量較少且相互認識(例如全是家庭成員),他們可能聯合起來奪取帳戶控制權。然而,社交恢復的設計通常包含延遲機制,為原所有者提供了反應時間。

恢復便利性

在帳戶恢復的便利性方面,社交恢復錢包通常更具優勢。當用戶需要恢復帳戶時,只需要聯繫足夠數量的守護者,經過驗證後即可重置帳戶。這不需要任何特殊的硬體或技術操作。

MPC 錢包的恢復過程可能更為複雜。如果 MPC 服務商不再運營,或者用戶需要在完全新的設備上恢復錢包,可能面臨技術障礙。用戶需要確保 MPC 分片的備份策略是可靠和可實現的。

3.3 使用場景推薦

個人用戶的選擇

對於普通個人用戶,選擇哪種錢包取決於具體需求和技術背景:

如果您是技術愛好者,重視最大程度的安全防護,MPC 錢包是很好的選擇。您可以使用多個設備或雲端服務來分散存儲 MPC 分片,獲得超越傳統硬體錢包的安全保障。

如果您更關心資產的可恢復性,害怕遺忘私鑰或硬體損壞,社交恢復錢包更適合您。通過設定可信賴的守護者,您再也不用擔心無法訪問自己的資產。

如果您使用錢包的主要場景是與 DeFi 協議交互,且交易頻繁,Gas 效率可能是考量因素。此時 MPC 錢包可能更具優勢。

企業用戶的選擇

對於企業用戶,特別是管理大量資產的機構,MPC 錢包通常是首選:

MPC 錢包提供了清晰的審計軌跡——每次交易需要多方參與,這在企業財務合規中非常重要。多個部門或多名高管可以各自持有 MPC 分片,任何轉帳都需要經過預先定義的審批流程。

MPC 錢包與現有的企業 IT 基礎設施更容易整合。企業可以將 MPC 分片存儲在硬體安全模組(HSM)或雲端密鑰管理服務中,與其他敏感憑證使用相同的安全標準。

DAO 和去中心化組織

對於去中心化自治組織(DAO),社交恢復錢包提供了一種平衡的解決方案。DAO 通常需要能夠在核心團隊成員變動時保持運作,同時防止單一成員盜取資金。

Safe(原 Gnosis Safe)提供了一種混合方案:它既支持傳統的多重簽名,也支持通過插件擴展社交恢復功能。許多 DAO 使用 (4, 6) 或 (5, 9) 的多簽名配置,在安全性和可用性之間取得平衡。

第四章:實際部署與配置指南

4.1 MPC 錢包部署流程

選擇 MPC 服務提供商

部署 MPC 錢包的第一步是選擇合適的服務提供商。主要考慮因素包括:

安全認證和審計:提供商是否經過知名安全公司的審計?是否有 SOC 2、ISO 27001 等認證?過去是否有安全事件?

支援的區塊鏈:是否支援您需要的所有網路?包括以太坊主網、主要 Layer 2、及其他目標區塊鏈。

整合方式:是否提供 SDK 或 API?是否與您現有的系統兼容?

定價結構:收費模式是按交易量、按活躍用戶、還是固定費用?是否存在隱藏成本?

主流選擇包括:Fireblocks(機構級)、Coinbase Wallet SDK(面向開發者)、BitGo(企業級)、ZenGo(面向消費者)。

錢包初始化

以下是使用 MPC SDK 初始化錢包的基本流程:

// MPC 錢包初始化示例
const { MPCWallet } = require('@fireblocks/mpc-wallet-sdk');

async function initializeWallet() {
  // 配置 MPC 錢包參數
  const config = {
    threshold: 2,        // 2-of-3 閾值配置
    totalShares: 3,     // 總共 3 個分片
    keyId: 'my-wallet-key',
    vaultId: 'primary-vault'
  };
  
  // 初始化 MPC 錢包
  const wallet = await MPCWallet.initialize(config);
  
  // 生成錢包地址
  const ethAddress = await wallet.getAddress('ETH');
  console.log('錢包地址:', ethAddress);
  
  // 獲取錢包 ID,用於後續操作
  const walletId = wallet.walletId;
  console.log('錢包 ID:', walletId);
  
  return { wallet, walletId, ethAddress };
}

這個初始化過程在後台進行了複雜的金鑰生成和分片分配。用戶通常不需要關心這些細節,只需要保管好自己的分片(通常自動存儲在設備的安全存儲區)。

交易執行

MPC 錢包執行交易的流程如下:

// MPC 錢包交易示例
async function sendTransaction(wallet, toAddress, amount) {
  // 構建交易對象
  const transaction = {
    to: toAddress,
    value: amount,
    gasLimit: 21000,
    // 如果需要指定其他參數
  };
  
  // 創建待簽名交易
  const txRequest = await wallet.prepareTransaction(transaction);
  
  // 獲取簽名(這會觸發 MPC 簽名流程)
  const signatures = await wallet.sign(txRequest);
  
  // 廣播交易
  const txHash = await wallet.broadcast(signatures);
  console.log('交易 hash:', txHash);
  
  return txHash;
}

在背後,這個過程涉及與 MPC 服務的通信,收集足夠數量的部分簽名,聚合為完整簽名,然後廣播到區塊鏈。整個過程通常在幾秒鐘內完成。

4.2 社交恢復錢包配置

選擇錢包平台

主流的社交恢復錢包平台包括:

Argent:以太坊生態系統中最知名的社交恢復錢包,提供移動應用和瀏覽器擴展。Argent 的特色是簡化的用戶體驗和內置的 DeFi 整合。

Safe(原 Gnosis Safe):更適合進階用戶和企業。Safe 提供了更大的靈活性和更強的可定制性,但學習曲線相對較陡。

SoulWallet:較新的選擇,專注於社交恢復和zk proofs 的結合,提供了額外的隱私保護。

設置守護者

以 Argent 為例,設置守護者的步驟如下:

打開 Argent 應用,進入錢包設定。選擇「Guardian」或「守護者」選項。添加守護者,可以選擇:其他 Argent 用戶(通過用户名或錢包地址);信任的聯繫人(通過電話或郵箱);硬體錢包(作為備用守護者)。

設置守護者數量和閾值。Argent 默認推薦 3 個守護者,2 個確認即可恢復。

確認守護者設置。這通常需要支付一次性的 Gas 費用來部署合約。

配置安全選項

社交恢復錢包通常提供額外的安全選項:

每日轉帳限額:設置每日最大轉帳金額,超過限額需要額外確認。這是一種防止大規模盜竊的保護機制。

信任列表:設置只能轉帳到預先批准的地址清單。轉帳到新地址需要額外驗證。

緊急暫停:允許守護者在檢測到可疑活動時暫停錢包,阻止所有轉帳直到確認安全。

4.3 混合方案:一個進階配置

對於有更高安全需求的用戶,可以考慮將 MPC 與社交恢復相結合的混合方案:

方案設計:使用 MPC 錢包作為主要的資產管理工具;同時在 MPC 系統中配置社交恢復作為最終的恢復手段。

這種設計的考量:如果 MPC 服務商倒閉或停止運營,可以通過社交恢復來訪問資產;如果用戶忘記如何操作 MPC 分片,可以通過守護者網路協助恢復。

實現方式:一些 MPC 服務商(如 Fireblocks)支持將 MPC 錢包升級為需要守護者批准的配置。或者,可以將資產存儲在社交恢復錢包中,而 MPC 錢包作為備用方案。

第五章:風險管理與最佳實踐

5.1 備份策略

MPC 分片備份

MPC 錢包的分片備份是至關重要的。以下是最佳實踐:

地理分散:將分片存儲在不同的物理位置,以防範單一地點的災害(如火災、洪水)。

使用安全介質:分片應存儲在安全的介質上,如加密的 USB 硬碟、密碼管理器、或專門的安全紙(帶有防篡改塗層)。

不要雲端備份單一分片:雲端存儲是方便的,但如果雲端帳戶被攻破,攻擊者可能獲得完整分片。

驗證備份:在設置完成後,嘗試使用備份進行恢復測試,確保備份有效。

守護者清單管理

對於社交恢復錢包,守護者清單的管理同樣重要:

定期審查:每季度檢查一次守護者清單,確認每個守護者仍然是合適的人選。

更新流程:當需要更換守護者時,確保有安全的流程來執行此操作,並給予舊守護者足夠的通知。

遺產規劃:確保您的遺囑或遺產律師知道如何聯繫您的守護者,以及在您去世後如何執行恢復。

5.2 運營安全

設備安全

無論使用哪種錢包,設備安全都是基礎:

使用專門的設備:考慮使用專門的設備進行加密貨幣操作,不要在同一設備上進行日常上網。

保持軟體更新:及時更新作業系統、錢包軟體和固件。

使用硬體錢包:對於大額資產,可以考慮將 MPC 分片或社交恢復錢包與硬體錢包結合使用。

網路安全

網路攻擊是最常見的資產盜竊方式:

使用 VPN:尤其是當在公共 WiFi 環境下訪問錢包時。

驗證網站:始終確保訪問的是正確的官方網站,警惕可能的網路釣魚。

警惕社會工程:不要點擊來自不熟悉來源的鏈接,不要向任何人透露您的私鑰或分片。

5.3 應急響應計劃

無論安全措施多麼完善,都應該為可能的安全事件做好準備:

制定響應流程:事先決定如果您懷疑錢包被入侵,應該立即採取哪些步驟。

準備緊急聯繫方式:保存錢包客服、MPC 服務商支持、以及區塊鏈 Explorer 的聯繫方式。

了解凍結選項:如果您的資產存放場所提供了資產凍結功能,事先了解如何使用。

結論

MPC 錢包與社交恢復錢包代表了以太坊資產安全的兩個重要進化方向。MPC 錢包通過密碼學方法將私鑰風險分散,提供了抵禦外部攻擊的強大保護。社交恢復錢包通過引入社會信任層,解決了私鑰遺失的長期痛點。

選擇哪種方案应根据具体需求进行判断。如果您管理大量機構資產,MPC 錢包的多方審批機制和可審計性更具優勢。如果您是個人用戶,希望獲得比傳統錢包更好的恢復能力,社交恢復錢包是理想的選擇。无论选择哪种方案,都应该遵循最佳实践,实施适当的备份和安全措施。

展望未来,我们可以期待这两种技术的进一步融合和进化。随着零知识证明技术的成熟,未来的钱包可能会结合 MPC 的安全性和隐私保护,以及社交恢复的便利性。无论技术如何演进,保护私钥的基本原则始终是加密货币安全的基石。

延伸閱讀與來源

這篇文章對您有幫助嗎?

評論

發表評論

注意:由於這是靜態網站,您的評論將儲存在本地瀏覽器中,不會公開顯示。

目前尚無評論,成為第一個發表評論的人吧!