文/Nichanan Kesonpat,1KX;譯/金色財經xiaozou
自我託管一直被譽為管理加密資產的最佳實踐。最近的FTX和Celsius事件再一次提醒業內人士“not your keys, not your coin”,人們紛紛轉向非託管錢包,而類似這樣的事件過去發生了很多很多。在FTX事件曝光後,Safe獲得了8億美元以上的淨流入,Ledger在短時間內連續創下多個銷售額歷史新高,Trezor銷售額飆升300%,ZenGo在一夜之間實現了三位數增長,存款達到了歷史最高水平,所有這些都發生在同一周內。
然而,大量用戶仍然甘冒託管風險,以換取低成本和易用性。 Memes和很多痛苦的教訓只能讓我們把自我託管當成默認選項,在非託管錢包基礎設施成為阻力最小的資產保護和管理的方式之前,我們還有很長的路要走。
幸運的是,現在蓬勃發展的錢包生態系統,為個人、DAO和機構提供了更多的選擇。加密貨幣不再只關注安全存儲,還關心在新經濟中的資產使用。隨著攻擊面和漏洞的增加,錢包功能也越來越豐富,不僅要能抵禦攻擊,同時還要支持日常業務和個人使用。
與所有的設計決策一樣,這是一個經多方權衡後的最優化過程,考慮了特定用例和錢包解決方案及密鑰管理實踐能力等各維度,切實平衡其目標用戶的各種需求:
-
個人用戶希望獲得無縫順暢的用戶體驗、低成本以及能夠與dapp靈活交互。
-
DAO想要財庫管理透明,能夠參與生態系統治理。
-
*機構希望將鏈無關性、可審計性和機構級安全性等責任外包。
有兩類密鑰管理解決方案取得了很大進展:智能合約錢包(包括多重簽名錢包)和多方計算(MPC)協議。
(上圖顯示的三類錢包分別為:傳統錢包、智能合約錢包、MPC錢包)
本文內容包括:
-
錢包需要考慮的屬性。
-
傳統、MPC和智能合約錢包概述。
-
錢包生態系統面臨的持續挑戰。
-
總結當前錢包解決方案的優缺點,展望錢包基礎設施前景。
錢包需要考慮的屬性
-
安全。針對從簡單攻擊到復雜攻擊的相應保護程度。在今天,“良好的密鑰管理”往往意味著選擇由多個解決方案構成的組合方案,其啟用和運營成本與鏈上活動性質和相關資產金額相一致。
-
成本。創建帳戶、管理訪問和執行交易的成本有多高。
-
用戶體驗和靈活性。訪問控制管理、開銷策略、限制和權限的粒度。
-
可恢復性。在受攻擊或發生故障的情況下,有能力回收資產恢復訪問權。
-
可擴展性。可為核心產品帶來新功能和集成的產品和服務生態系統。
-
隱私。地址與個人相關聯的難易程度,以及錢包在多大程度上揭示了組織的操作程序。
傳統(HD)錢包
傳統錢包使用助記詞和分層確定性(HD)結構來派生私鑰、對應公鑰和鏈上地址。這些錢包允許用戶生成用於簽署交易的私鑰,並使用助記詞恢復所有密鑰。
到目前為止,傳統錢包一直是用戶選擇自我託管資產及與區塊鏈應用程序交互的主要入口。像MetaMask這樣的瀏覽器擴展和Rainbow這樣的移動應用程序已經為該生態系統吸引了數百萬用戶。存在更大利益風險的用戶可以選擇Ledger和Trezor等硬件錢包,它們能提供更高安全性,因為硬件錢包可以離線保護私鑰。
雖然業界已經共同做出了巨大努力來教育用戶確保助記詞和密鑰安全的重要性,但這類單點故障仍然是阻礙廣泛採用的一個重要因素。如果私鑰丟失,除了失去所有資產外,用戶還必須手動跟踪多個地址和代幣授權,還要為gas提供新地址,犧牲隱私。
應用層的創新速度意味著,今天,不可撤銷的字符串不僅可以讓一個人的畢生積蓄獲得全部訪問權,而且與促進他們線上身份認證的鏈上歷史聯繫越來越緊密。獲得私鑰訪問權的動機太大了,以至於從業餘黑客到政府資助的黑客全部投入無盡的資源,進行花樣百出的攻擊。所以,現在單純依靠用戶的安全操作已經不夠了——我們需要完全消除這類單點故障。
多方計算(MPC)錢包和智能合約錢包能幫助我們實現這個目標,並且已經出現了一個由這兩類產品和服務組成的生態系統,已被機構、加密原生個人用戶和DAO等採用。雖然這兩種類型的錢包都消除了單點故障,但它們存在一些基本的技術差異,導致不同的利弊權衡。下面我們來對兩者進行概述。
MPC錢包
廣義上講,多方計算(MPC)使一組互不信任的各方能夠聯合計算輸入函數,同時保護這些輸入的隱私。在密碼學中,這對於保管用於解密數據或生成數字簽名的私鑰特別有用。
MPC錢包通過使用門限簽名方案(TSS)消除了單點故障。在這個範式下,我們創建並分發私鑰分片,這樣就沒有哪個人或機器能夠完全控制私鑰——這個過程被稱為分佈式密鑰生成(DKG)。然後,我們可以通過在不暴露各方密鑰分片的情況下合併密鑰分片,從而共同生成公鑰。
想要對消息和交易進行簽名,各方要將其密鑰分片連同公共輸入(要簽名的消息)一起輸入,生成數字簽名。此後,任何知道公鑰的人(即驗證者節點)都應能夠驗證簽名。由於各密鑰是組合在一起的,並且簽名是在鏈下生成的,因此從MPC錢包生成的交易與傳統的私鑰錢包的交易沒有什麼區別。
這為MPC錢包用戶提供了一定程度的隱私保障。對於那些希望將其簽名方案和簽名者活動置於公眾視線之外的組織來說,這個功能是開箱即用的,因為一系列過程是在鏈下進行的。這樣,組織可以保留關於參與簽名者的內部日誌,而不會對外公開。
私鑰輪換是另一種MPC協議,它輸入各密鑰分片,然後輸出一組新的密鑰分片。舊的密鑰分片可以被刪除並替換為新的密鑰分片,新的密鑰分片可以以相同的方式使用,而無需更改相應的公鑰和地址。
MPC錢包的優點
-
無單點故障。一個完整的私鑰在任何時候都不會集中在一台設備上。也沒有助記詞。
-
可調整的簽名方案。授權的法定人數可以隨著個人和組織需求的變化而變化,同時不改變地址。組織可以動態調整簽名方案,而不必每次都通知交易對手一個新的地址。
-
細粒度訪問控制。機構用戶可以為一個策略分配無限數量的交易審批者,並委派能夠準確反映組織角色和安全措施(時間鎖、MFA多因素驗證、欺詐監控)的權限。個人可以通過MPC錢包即服務(wallet-as-a-service)選擇半託管方式,由第三方持有其中部分密鑰分片。
-
更低的交易成本和密鑰恢復成本。 MPC錢包在區塊鏈上表示為單個地址,其gas費與常規私鑰地址相同。這對於每天進行數百筆交易的用戶(例如在B2C用例中)來說非常重要。丟失的密鑰分片也可以在鏈下恢復。
-
區塊鏈無關性。密鑰生成和簽名依賴於鏈下純密碼學。與新的區塊鏈兼容很容易,因為錢包只需要能夠使用該鏈可識別的算法生成簽名就可以了。
MPC錢包的缺點
-
鏈下問責制。簽名授權策略和授權法定人數是在鏈下管理的,因此這些自定義規則仍然容易出現中心化故障。密鑰分片仍然是加密秘密,應該擁有與完整私鑰相同的處理方式。鏈下規則和簽名阻礙了透明度,需要更嚴格的運營審計。
-
與多數用戶採用的大多數傳統錢包不兼容(沒有助記詞,沒有完整的私鑰存儲在單個設備上)。 MPC算法並沒有標準化,也沒有得到機構級安全設備(如iPhone SEP和HSMs)的原生支持。
-
大多是單獨定制產品。許多MPC庫和解決方案都不是開源的,因此,如果出現問題,生態系統很難對它們進行獨立審計和集成,很難進行事故分析。
如今,基於MPC的解決方案主要面向基金、家庭辦公室、交易所和託管人等機構客戶。 Fireblocks和Qredo等MPC技術提供商使客戶能夠為不同類型的交易定義自己的工作流程,並且能夠讓他們保持合規和安全。然而,散戶投資者仍然依賴獨立研究和私人密鑰錢包。 Web3Auth最近發布了一個MPC SDK,允許任何錢包或dapp藉此成為用戶的”web3原生多因素驗證”,讓用戶可以使用自己的iCloud或電子郵件進行備份。去中心化託管協議(如Entropy)正在為消費者和DAO開發開源工具,以在線存儲資產,並通過MPC設計交易的安全預防措施。
MPC的持續顯著發展:可編程密鑰對
Lit是一個去中心化協議,它將密鑰分片存儲在Lit網絡節點上。在這裡,公鑰/私鑰對由PKP(可編程密鑰對)NFT表示,其所有者是密鑰對的唯一控制者。然後,PKP所有者可以觸發網絡聚合秘鑰分片,以解密文件或在滿足任意定義的條件時代表密鑰分片簽名消息。
這對去中心化訪問控制、資產管理和鏈上自動化交互具有深遠意義。通過向Lit Action(部署到IPFS的不可變代碼)授予簽名特權,PKP可以用作MPC或去中心化雲錢包,使用任何可用javascript表示的認證方法。
鑄造一個PKP NFT是基於MPC的分佈式密鑰生成過程,它使NFT所有者成為PKP的root所有者。因此,轉讓這個NFT相當於交易私鑰,這實際上打破了“靈魂綁定”代幣(SBT)的概念,因為SBT是與特定的所有者綁定在一起的。現在,錢包自身可以安全地進行交易(因此,“錢包綁定代幣”在這裡可能對不可轉讓的NFT來說是個更合適的名字)。
智能合約錢包
以太坊目前有兩種賬戶類型:
外部所有帳戶(EOAs)——由私鑰控制
智能合約賬戶——由代碼控制
智能合約錢包(“智能錢包”)是一種類似錢包的智能合約,即一個允許用戶管理資金、登錄web3並與dapp交互的界面。與私鑰錢包不同,智能錢包的創建需要初始成本,因為智能合約需要部署在鏈上。
多簽錢包屬於智能合約錢包,它需要M-of-N密鑰簽名才能執行交易。 MPC只創建單個簽名,而不管參與簽名的密鑰分片有多少,多重簽名使用由不同私鑰生成的不同簽名來簽名交易。這使得它與現有的私鑰錢包兼容,位於Ledger或Metamask等HD錢包地址的上一層。
像Safe這樣的智能合約賬戶標準為資產管理產品和服務生態系統提供了一個基礎層。各功能是通過模塊添加的,允許用戶定義管理密鑰邏輯、支出限制、重複交易、帳戶自動化、分層訪問等等。目前最多產的Safe模塊是由Zodiac團隊開發的。
智能合約錢包的優點
-
無單點故障。執行交易需要多重簽名。
-
可編程訪問控制。用戶可以定義不同的策略,進行時間鎖、支出限制和自動化(收穫耕作獎勵、限價指令)設置。
-
可以實現批處理交易以節省成本。例如,將代幣授權和交易等常見操作“批處理”到一個交易中。儘管來自多籤的單個操作比來自MPC的操作gas費更高,但從長遠來看,批處理交易可以幫助節省成本。
-
可擴展。由於智能合約的可組合性,錢包開發人員可以創建一個模塊生態系統,用戶可以選擇將這些模塊添加到自己的錢包中,為NFT借貸框架、DAO投票模塊和非託管資產管理服務等新功能創建一個應用程序商店。
-
可編程資金回收。錢包可以提供多種選擇將資金回收到智能合約本身。例如,社會恢復、失能開關或混合方法(服務提供者可以持有備份密鑰)。
-
鏈上責任。鏈上簽名授權策略和聚合可以明確具體是哪些密鑰簽名的交易,從而使操作更加透明直接,以便在出現錯誤的情況下對交易參與者進行審計。
-
支持遷移到其他簽名方案。智能合約錢包可以將其簽名方案更改為更簡單、更低gas費或更加抗量子攻擊的方案。他們還可以在iOS和Android設備上使用secure enclave技術(將手機變成硬件錢包),或啟用Ed25519使用iOS生物識別技術和WebAuthn認證。
-
開源。任何人都可以審計智能錢包的實現和功能擴展,從而通過生態系統的方式解決漏洞、添加新功能。
智能合約錢包的缺點
-
費用更高。智能錢包的費用比普通的單地址交易要高,因為需要驗證多個簽名。添加/刪除所有者和更改閾值等操作也要求鏈上交易。
-
並沒有得到普遍支持。雖然智能錢包可以部署在相同地址的任何EVM鏈上,但它們需要在非EVM鏈上定制實現。
-
恢復成本更高。雖然恢復邏輯是可編程的,但需要支付鏈上費用才能執行。
-
與不可升級的合約不兼容。儘管EIP-1271允許應用程序代表合約錢包進行簽名,但仍然沒有得到普遍支持,並且不能整合到不可升級的合約中。
智能合約錢包的持續顯著發展:帳戶抽象
智能錢包在整個生態系統完全擺脫EOA和私鑰的努力中發揮著必不可少的作用,也就是帳戶抽象。在這種範式下,所有賬戶都是智能合約,它們有自己的邏輯來規定什麼是有效的交易,允許用戶根據自己的特定需求自定義賬戶。
自2016年以來大家一直在討論帳戶抽像這一話題,但生態系統在解決方案上的協調進度一直很慢。 L2已經極大加快了賬戶抽象意識及其採用,例如Starkware的所有Starknet賬戶已成為原生智能錢包,即將發布的zkSync 2.0也將是賬戶抽象的。
在以太坊上,已存在多個EIP致力於完成賬戶抽象路線圖上的一個個里程碑。
ERC-4337將簽名驗證、gas支付和重放保護從核心協議移出到EVM,使用戶能夠使用包含任意驗證邏輯的智能錢包,將其作為主要賬戶而非EOA,同時不需要任何的共識層更改。這個EIP引入了一個UserOperations內存池,與現有的內存池並行存在。捆綁器(驗證器、MEV搜索器或應用程序本身)從UserOperations池獲取交易,將它們轉發給區塊鏈並支付費用。 Paymasters是代付交易的可選步驟。在這裡,啟動錢包本身不支付gas費,但應用程序可以通過收費訂閱模式為用戶聚合和代付gas費。
EIP-3074允許EOA將控制權委託給合約,讓現有的EOA發送由第三方支付的交易任務。
EIP-5003將現有的EOA升級為合約,並允許從ECDSA遷移到更高效或抗量子簽名方案。
錢包生態系統發展面臨的持續挑戰
技術漏洞
Parity Multisig黑客攻擊和最近的Rabby Swap漏洞表明,如果在實現中存在缺陷,那麼即使是最好的資金存儲概念和方法也沒有什麼意義。使用開源軟件和生態系統方法添加功能,漏洞將比黑盒代碼更容易被發現,可以更快得到解決。我們可以預見,智能合約賬戶標準將會出現,比如OpenZeppelin對ERC-20和ERC-721的實現,隨著生態系統的成熟,林迪效應發展壯大,開發者可以更有信心地進行開發構建。
社交攻擊
任何一個技術解決方案的優點都不能消除社交層的風險。 6億美元的Ronin Bridge漏洞並不是由於技術缺陷,而是針對Sky Mavis員工的社會工程攻擊,讓攻擊者能夠訪問驗證者密鑰。除了對使用哪個錢包來管理資產做出負責任的決定之外,組織還需要確保這個關鍵系統的每個組件在社交層和技術層都是真正獨立的。
* 安全和遷移成本
從一個帳戶遷移到另一個帳戶既不有趣也不便宜。儘管目前市場上有強大的錢包替代方案,但用戶遷移現有的EOA成本很高:交易費用、平倉/持倉DeFi頭寸、稅收影響、用戶錯誤、時間和精力等等。
操作安全
自我託管對今天的大多數用戶來說都是一個可怕的前景,因為提高個人的操作安全需要有意識的努力和付出,可能是一項艱鉅的任務。大多數交易數據對於人類來說是不可讀的(儘管這一點正在改變),一旦發生錯誤就是不可逆轉的。許多錢包網站會提醒用戶“你完全擁有自己的加密貨幣,如果你弄丟了助記詞,那我們也無能為力”,這讓很大一部分潛在用戶打了退堂鼓。混合設置(例如,像Casa這樣的多簽服務供應商)提供了一種追索和支持路徑,可妥善管理用戶資金。就像加密教育一樣,這個問題不能靠某個團隊單打獨鬥解決,需要整個生態系統開發與最佳安全實踐相結合的工具和用戶體驗模式。
結論
儘管MPC和智能錢包有著這樣那樣的不同,但從長遠來看它們並不是競爭關係,而是互補關係。 MPC在密鑰生成和管理級別提供了共享安全性,而智能合約則為功能和應用程序開髮帶來了可擴展性和生態系統方法。例如:
MPC可以通過將一個或多個私鑰進行多片分割來增強現有的多重簽名方案。如果有三個人來負責一個多簽2 / 3的安全,這三個用戶中的任何一個人都可以使用MPC細分他們的個人私鑰,並將他們的MPC密鑰分片存儲在獨立的機器上,也就是讓MPC帳戶成為保險箱的所有者。
社區或DAO可以是持有PKP NFT的多簽簽名者,該NFT管理去中心化雲錢包,可用於自動投資或DEX交互。
今年,中心化實體許多不計後果的行為從很多方面削弱了加密貨幣的發展,它們侵蝕了行業信任,引來了監管審查,最重要的是,還損失了用戶的資金,其中很多是用戶的畢生儲蓄。文中重點提及的技術和項目為未來鋪平了道路,每個人都可以參與到去中心化經濟中,不再把自己的命運交到少數人手中。