大多數智能錢包可保證自主權,即使錢包服務商停止服務,用戶仍可以控制其身份和財產。

原文標題:《智能錢包是託管錢包?3 分鐘掌握主權!》
撰文:沙漏時間

上個月,我發表了 智能錢包的發展概況介紹。許多人質疑智能錢包是中心化或者說託管錢包,也就是說錢包運營商可以任意處置資產。這種看法並不準確,本文將分析智能錢包的自主權,並舉例說明如何完全控制你的智能錢包。

什麼是自主權?

自主權意味着用戶可以完全控制該賬戶。對於以太坊外部賬戶(EOA),用戶擁有該地址對應的私鑰即擁有自主權。如果用戶不持有私鑰,私鑰由第三方保管,則該賬戶是託管賬戶。對於智能錢包的合約賬戶,由於賬戶邏輯多樣,自主權問題要複雜得多。大致可以從四個方面進行判斷:(1)賬戶的最高權限是什麼?(2)指定的第三方(受託人)是否可以完全接管賬戶或凍結資產?(3)用戶是否可以在無需第三者協助的情況下發送交易?(4)賬戶合約是否可以升級,用戶可以拒絕嗎?

受託人可以對賬戶和資產做什麼?

大多數智能錢包通過鏈下身份驗證實現賬戶恢復和緊急操作,這意味着指定的第三方(受託人)可以改變賬戶所有者。受託人可以是錢包服務提供者、硬件錢包、用戶抄寫在紙上的種子短語(用戶擁有的其他錢包),也可能是家庭或可信賴的朋友。不同的智能錢包授予受託人不同的權限:

  • 更改賬戶的所有者。
  • 爲該賬戶添加新所有者(賬戶可能由一個所有者,或 m 個所有者中的 n 個控制)。
  • 協助加速賬戶安全操作。
  • 凍結或限制賬戶。

引入受託人增加了賬戶的可靠性,也增加了額外信任的風險。但是,受託者的權限是受限的,並且其權限可被賬戶所有人撤銷,因此用戶仍然具有最高權限。儘管如此,由於大部分用戶選擇了默認受託人,默認受託人仍然可能對用戶發起攻擊(無論是出於惡意或是受託人自身受到攻擊)。

在智能合約層面,受託人可以是任何賬戶。儘管如此,大多數產品只支持使用由錢包提供商提供的默認受託人,該受託人一般通過電子郵件,電話號碼和身份證件對用戶進行身份驗證。

賬戶的最高權限是什麼?

賬戶所有者具有賬戶的最高權限,可以更改賬戶的一切狀態。儘管受託人具有更改賬戶所有者或凍結賬戶等特權,但賬戶所有者可以阻止惡意行爲行爲並刪除受託人。賬戶所有者是具有預定義邏輯的單個私鑰或一組私鑰對應的地址,以多種形式保存。

  • 所有者是保持離線狀態的私鑰。-例如,MYKEY
  • 所有者是私鑰,保存在本地(例如,在智能手機中),但是無法導出。-例如 Argent,Dharma
  • 所有者是保存在本地並且可以導出的私鑰。-例如,Monolith
  • 所有者是加密保存在雲上並且可以導出的私鑰。-例如 Authereum
  • 所有者是一組門限私鑰,其中部分私鑰可以導出。例如,Gnosis,Dapper

所有加密錢包都在嘗試保護私鑰,以避免密鑰丟失帶來損失。智能錢包除提示用戶備份外,還可以採取不同的方法來降低單點風險。

在所有這些產品中,我最有興趣介紹 MYKEY 中的設計。MYKEY 將權限分爲管理權限和操作權限。管理員密鑰具有最高權限,但無法執行常規事務;因此,它始終可以保持脫機狀態。藉助延遲機制和緊急聯繫人的協助,管理員密鑰的泄漏仍不會造成致命傷害。

我可以不借助錢包界面發送交易嗎?

智能錢包使用元交易來廣播交易,任何持有有效簽名的用戶都可以廣播交易。通常,大多數用戶使用錢包界面發送依賴於錢包提供者的中繼服務的交易。如果提供商停止中繼服務怎麼辦?智能錢包提供不同的解決方案。對於大多數智能錢包,簽名密鑰是所有者密鑰或所有者密鑰之一。對於 MYKEY 用戶,則需要使用操作密鑰進行普通交易的簽名。

  • 簽名密鑰可以導出,因此用戶可使用其它客戶端構建交易。例如,MYKEY,Monolith,Gnosis,Dapper。
  • 簽名密鑰無法導出,但是用戶可以從錢包中提取原始簽名。例如,Argent。
  • 簽名密鑰或簽名都無法導出,因此用戶需要通過受託者更改密鑰。例如 Dharma。

與普通錢包不同,智能錢包僅簽署交易;交易構建和廣播由後端服務器完成。在不依賴錢包界面的情況下發送交易,可以在錢包提供商不工作時保持賬戶的可用性。但是,對於普通人來說,使用 etherscan 或 CLI 客戶端(geth,parity…)打包交易並不容易,因此這僅適用於硬核玩家。

如果我不想升級賬戶合約該怎麼辦?

默認情況下,以太坊中的智能合約是不可升級的。但是,爲了添加新的功能特性或修復潛在的漏洞,大多數項目都會創建可升級的合約。這種可升級的特性對賬戶安全構成了威脅。

大多數智能錢包都採用模塊化設計,升級意味着啓用新模塊,此外困難伴隨對舊模塊的禁用。啓用或禁用模塊需要身份驗證,因此看上去升級是用戶自願選擇的。但是大多數智能錢包會強制用戶進行升級,否則,他們將無法再使用錢包客戶端,只能使用所有者密鑰來操作賬戶。

如何進行完美升級?

什麼是完美升級

完美的合約升級具備以下特性:無需信任、安全、低成本。

如何做到無需信任?

無需信任意味着用戶可以自由選擇。在實現方面,這意味着升級需要用戶授權,或者提供足夠長的新合約生效期,供用戶遷移到另一個賬戶。

誰可以升級?

目前,所有智能錢包只允許「特權用戶」部署新的賬戶合約。「特權用戶」是錢包提供商,可以是外部賬戶多重簽名賬戶。尚無明顯的趨勢表明,智能錢包會轉變爲 DAO 治理。

用戶被迫升級嗎?

智能錢包用戶有權選擇是否升級,有兩種主要的實現方式。

  • 升級不是全局的,每個用戶都對升級進行鏈上授權。
  • 升級是全局的,但是有足夠長的公告和等待期,任何對此有疑議的用戶都可以選擇遷移賬戶。

以上是理想情況,現實情況是用戶的選擇權和知情權還不是那麼完美。在情況 1 中,用戶不能在拒絕升級的情況下使用錢包(強制更新),而在情況 2 中,用戶可能會錯過警告通知。

升級是立即的嗎?

升級過程需要一個公告期,以便更多的用戶知曉。等待時間可以是鏈上或鏈下的,前者更安全,而後者保持了靈活性,可以更好地應對緊急情況。

但是,大多數智能錢包沒有標準化的升級過程。MYKEY 有一個 網頁 列出升級規則和升級歷史。

如何使其安全?

安全是錢包面臨的最關鍵問題。爲確保資產安全,再多努力都不爲過。常見的方法包括安全審計和漏洞賞金活動。

安全審計

優秀的安全機構正在對所有智能錢包進行全面的審計,在每次升級之前,必須對計劃中的代碼進行良好的審覈。目前,大多數智能錢包尚未披露所有審覈報告。「我正在設計針對所有智能錢包的安全披露網站,如果有興趣請聯繫我」

漏洞賞金

再好的審計機構也不能保證合約百分之百安全,必須將源代碼供更多專家檢查,這就是爲什麼我們需要通過懸賞的方式向公衆邀約。2020 年 6 月,Open Zeppelin 公開了 Argent 的漏洞,並幫助他們修復了易受攻擊的智能合約。Open Zeppelin 獲得高嚴重等級的獎勵,最高可達 25,000 美元。據我所知, Argent, Monolith, Gnosis, MYKEY 和 Authereum 都有其漏洞賞金計劃。

如何使其更便宜?

升級成本是一個討論較少的問題。如果升級是全局的,那麼其成本不是問題。但是,如果升級需要每個用戶的授權,則意味着 10 億用戶的升級需要 10 億筆鏈上交易。這是否合理,是否實用?zkRollup 技術對此有幫助嗎?

如何完全控制智能錢包賬戶?

本文不會提供任何操作手冊來讓您「退出」智能錢包。我只想指出思路和重點。此外,並非所有智能錢包都在下面列出。

Argent

自己擁有一個監護人很重要,以防萬一您丟失了手機並且官方監護人無法使用。您可以在 這裏 進行操作。目前支持 Metamask,Ledger Nano 和 Trezor。

MYKEY

如果 MYKEY 無法正常工作,請務必確保您的恢復短語(管理員密鑰)安全,請遵循 涅磐計劃並使用 工具 來控制您的賬戶。

Monolith

照顧好您的種子短語,然後閱讀 本文

結論

大多數智能錢包可保證自主權,即使錢包服務商停止服務,用戶仍可以控制其身份和財產。默認的受託人是系統的風險之一,但用戶可以選擇信任錢包服務商,或自行添加受託人來降低單點風險。此外,需要特別注意升級過程中的信任和安全問題。智能錢包可以提供更加透明和標準化的升級,以確保不受信任和安全。

來源鏈接:smartwallet.substack.com