最理想的加密錢包是什麼?V神:不隻是放資產,還要有4大功能

目錄
  • 跨L2交易的使用者體驗
  • 帳戶安全
    • 監護人應該是誰或什麼?
    • 新使用者和應用內錢包
    • 保護使用者免受詐 騙和其它外部威脅
  • 隱私
    • 以太坊錢包也需要成為數據錢包
  • 安全的鏈訪問
    • 理想的密鑰庫錢包
      • Dapp安全
        • 更長遠的未來

          最理想的加密錢包是什麼?V神:不隻是放資產,還要有4大功能

          特別感謝Liraz Siri、Yoav Weiss 以及ImToken、Metamask 和OKX 開發人員的回饋和審核。

          以太坊基礎設施堆棧的一個關鍵層是錢包,但經常被核心L1 研究人員和開發人員低估。錢包是使用者和以太坊世界之間的窗口,使用者隻能從以太坊及其應用程式提供的任何去中心化、審查阻力、安全、隱私或其它屬性中受益,前提是錢包本身也具有這些屬性。

          最近,我們看到以太坊錢包在改善使用者體驗、安全性和功能方面取得瞭很大進展。這篇文章的目的是給出我自己對理想的以太坊錢包應具備的一些特性的看法。這並不是一個完整的列表;它反映瞭我的密碼朋克傾向,它專註於安全和隱私,並且幾乎可以肯定它在使用者體驗方面是不完整的。然而,我認為願望清單在優化使用者體驗方面不如簡單地根據回饋進行部署和疊代有效,因此我認為關註安全和隱私屬性是最有價值的。

          跨L2交易的使用者體驗

          現在有一個越來越詳細的改善跨L2使用者體驗的路線圖,該路線圖有短期部分和長期部分。在這裡,我將談論短期部分:即使在今天理論上仍然可以實施的想法。

          核心思想是

          • 內置跨L2發送
          • 鏈特定地址和支付請求

          您的錢包應該能夠為您提供一個地址(遵循本ERC 草案的風格),如下所示:

          最理想的加密錢包是什麼?V神:不隻是放資產,還要有4大功能

          當某人(或某些應用程式)向您提供這種格式的地址時,您應該能夠將其黏貼到錢包的「收件人」字段中,然後單擊「發送」。錢包應該以任何可能的方式自動處理發送的數據:

          • 如果您在目標鏈上已經有足夠的所需類型的代幣,請直接發送代幣
          • 如果您在另一條鏈上有所需類型的代幣(或多個其它鏈),使用ERC-7683 等協議(實際上是一個跨鏈DEX)發送代幣
          • 如果您在同一鏈或其它鏈上有不同類型的代幣,使用去中心化交易所將它們轉換為正確鏈上正確類型的貨幣並發送。這應該需要使用者的明確許可:使用者將看到他們支付瞭多少費用,以及接收者收到瞭多少費用。

          最理想的加密錢包是什麼?V神:不隻是放資產,還要有4大功能

          具有跨鏈地址支持的可能錢包接口的模型

          上面的內容適用於「您復制黏貼地址(或ENS,例如, vitalik.eth @ optimism.eth ) 有人向您付款」應用。如果dapp 請求押金(例如,參見這個Polymarket 示例)那麼理想的流程是擴充功能Web3 API 並允許dapp 發出特定於鏈的支付請求。然後,您的錢包將能夠以任何需要的方式滿足該請求。要使用者體驗良好,還需要標準化getAvailableBalance 請求,並且錢包需要認真考慮默認將使用者資產儲存在哪些鏈上,以最大程度地提高安全性和轉帳便利性。

          特定於鏈的支付請求也可以放入QR Code中,移動錢包可以掃描QR Code。在面對面(或線上)消費者支付場景中,接收者將發出QR 碼或Web3 API 調用,表示「我想要鏈上X單位的代幣YZ,帶有參考ID 或回調W」,錢包將可以以任何方式自由滿足該請求。另一種選擇是claim 連結協議,其中使用者的錢包生成包含索賠授權的QR 程式碼或URL從他們的鏈上合約中獲取一定數量的資金,接收者的工作就是弄清楚如何將這些資金轉移到他們自己的錢包中。

          另一個相關主題是gas支付。如果您在還沒有以太幣的L2 上收到資產,並且需要在該L2 上發送交易,錢包應該能夠自動使用協議(例如RIP-7755)來支付鏈上的Gas你有以太幣的地方。如果錢包希望你將來在L2 上進行更多交易,它也應該隻使用DEX 來發送,例如。價值幾百萬Gas 的以太幣,以便未來的交易可以直接在那裡花費Gas(因為這樣更便宜)。

          帳戶安全

          我對帳戶安全挑戰的概念化的一種方式是,一個好的錢包應該同時在兩個方面發揮作用:

          • 保護使用者免受錢包開發人員的駭客攻擊或惡意攻擊,
          • 保護使用者免受自己的錯誤的影響。

          最理想的加密錢包是什麼?V神:不隻是放資產,還要有4大功能

          左邊的「錯誤」是無意的。然而,當我看到它時,我意識到它非常適合上下文,所以我決定保留它。

          我對此的首選解決方案,超過十年來,一直是社交恢復和多簽錢包錢包,具有分級訪問控制。使用者的帳戶有兩層密鑰:主密鑰和N 個監護人(例如N = 5)。主鍵是能夠進行低價值和非財務操作。大多數監護人需要執行(i) 高價值操作,例如發送帳戶中的全部價值,或(ii) 更改主密鑰或任何監護人。如果需要,可以允許主鍵通過時間鎖執行高價值操作。

          以上是基本設計,可以進行擴充功能。會話密鑰和ERC-7715等權限機制可以幫助支持不同應用程式的便利性和安全性之間的不同平衡。更復雜的監護人架構,例如在不同閾值下具有多個時間鎖定持續時間,可以幫助最大限度地提高成功恢復合法帳戶的機會,同時最大限度地降低盜竊風險。

          以上是基本設計,可以進行擴充功能。會話密鑰和ERC-7715等權限機制可以幫助支持不同應用程式的便利性和安全性之間的不同平衡。更復雜的監護人架構,例如在不同閾值下具有多個時間鎖定持續時間,可以幫助最大限度地提高成功恢復合法帳戶的機會,同時最大限度地降低盜竊風險。

          監護人應該是誰或什麼?

          對於經驗豐富的加密貨幣使用者社群中的經驗豐富的加密使用者來說,一個可行的選擇是您的朋友和傢人的密鑰。如果您要求每個人為您提供一個新的地址,那麼沒有人需要知道他們是誰- 事實上,您的監護人甚至不需要知道彼此是誰。如果他們沒有向你通風報信,他們串通一氣的可能性很小。然而,對於大多數新使用者來說,此選項不可用。

          第二種選擇是機構監護人:專門提供僅在收到您的請求的其它確認資訊時才簽署交易的服務的公司:例如。確認碼,或者針對高價值使用者的影片通話。人們長期以來一直試圖制造這些,例如。我在2013 年對CryptoCorp 進行瞭介紹。然而,到目前為止,這些公司還不是很成功。

          第三種選擇是多個個人設備(例如電話、臺式機、硬體設備錢包)。這可以工作,但對於沒有經驗的使用者來說也很難設置和管理。還存在設備同時丟失或被盜的風險,尤其是當它們位於同一位置時。

          最近,我們開始看到更多基於萬·能·鑰·匙。密鑰隻能備份在您的設備上,使其成為一種個人設備解決方案,也可以備份在雲端中,使其安全性依賴於復雜的混合密碼安全、機構和可信硬體設備假設。 實際上,密鑰對於普通使用者來說是一種寶貴的安全增益, 但僅靠它們還不足以保護使用者的畢生積蓄。

          幸運的是,有瞭ZK-SNARK,我們還有第四種選擇:ZK 包裹的中心化ID。這種類型包括zk-email、Anon Aadhaar、Myna Wallet等等。基本上,您可以采用多種形式(公司或政府)中心化ID,並將其轉換為以太坊地址,您隻能通過生成證明擁有中心化ID 的ZK-SNARK 來發送交易。

          最理想的加密錢包是什麼?V神:不隻是放資產,還要有4大功能

          有瞭這個補充,我們現在有瞭廣泛的選擇,並且ZK 包裝的中心化ID 具有獨特的「新手友善性」。

          為此,它需要通過簡化且整合的UI 來實現:您應該能夠僅指定您想要「example@gmail.com」作為監護人,並且它應該自動生成相應的zk-email 以太坊地址在引擎蓋下。高級使用者應該能夠將他們的電子郵件(以及可能保存在該電子郵件中的隱私鹽值)輸入到開源第三方應用程式中,並確認生成的地址是正確的。對於任何其它受支持的監護人類型也應該如此。

          最理想的加密錢包是什麼?V神:不隻是放資產,還要有4大功能

          請註意,如今zk-email 面臨的一個實際挑戰是它依賴於DKIM 簽名,該簽名使用每隔幾個月輪換一次的密鑰,並且這些密鑰本身並未由任何其它機構簽名。這意味著如今的zk-email 具有超出提供商本身的某種程度的信任要求;如果zk-email 在受信任的硬體設備內使用TLSNotary來驗證更新的密鑰,則可以減少這種情況,但這並不理想。希望電子郵件提供商能夠開始直接簽署其DKIM 密鑰。今天,我建議一位監護人使用zk-email,但不建議大多數監護人使用:不要將資金儲存在zk-email 損壞意味著您無法使用資金的設置中。

          新使用者和應用內錢包

          新使用者實際上不希望在第一次註冊時輸入大量監護人。因此,錢包應該為他們提供一個非常簡單的選擇。一種自然的途徑是在其電子郵件地址上使用zk-email、本地儲存在使用者設備上的密鑰(可能是萬能密鑰)以及提供商持有的備份密鑰,進行2-of-3 的選擇。隨著使用者變得更有經驗或積累更多資產,在某些時候應該提示他們添加更多監護人。

          錢包整合到應用程式中是不可避免的,因為試圖吸引非加密使用者的應用程式不希望使用者同時下載兩個新應用程式(應用程式本身,加上以太坊錢包)帶來混亂的使用者體驗。然而,許多應用程式錢包的使用者應該能夠將他們的所有錢包連結在一起,這樣他們就隻需擔心一個「訪問控制問題」。最簡單的方法是采用分層方案,其中有一個快速的「連結」過程,允許使用者將其主錢包設置為所有應用內錢包的監護人。 Farcaster 客戶端Warpcast 已經支持這一點:

          最理想的加密錢包是什麼?V神:不隻是放資產,還要有4大功能

          保護使用者免受詐 騙和其它外部威脅

          除瞭帳戶安全之外,當今的錢包還做瞭很多工作來識別虛假地址、網路釣魚、詐 騙和其它外部威脅,並盡力保護使用者免受此類威脅。與此同時,許多對策仍然相當原始:例如,要求點擊才能將以太幣或其它代幣發送到任何新地址,無論您發送的是100 美元還是100,000 美元。在這裡,不存在單一的靈丹妙藥。這是針對不同類別威脅的一系列緩慢的持續修復和改進。然而,繼續努力改進這裡有很多價值。

          隱私

          現在是時候開始更加認真地對待以太坊的隱私瞭。 ZK-SNARK技術現在已經非常先進,不依賴後門來降低監管風險的隱私技術(例如隱私池)越來越成熟,而像Waku和ERC-4337 mempools 這樣的二級基礎設施也慢慢變得更加穩定。然而,到目前為止,在以太坊上進行私人轉帳需要用戶明確下載並使用「隱私錢包」,例如Railway(或用於隱形地址的Umbra)。這增加瞭極大的不便並減少瞭數量願意進行私人轉帳的人。解決辦法是私人轉帳需要直接整合到錢包中。

          一個簡單的實現如下。錢包可以將使用者資產的一部分作為「私人餘額」儲存在隱私池中。使用者進行轉帳時,會先自動退出隱私池。如果使用者需要接收資金,錢包可以自動生成一個隱形地址。

          此外,錢包可以自動為使用者參與的每個應用程式生成一個新地址(例如,defi 協議)。存款將來自隱私池,提款將直接進入隱私池。這允許使用者在任何一個應用程式中的活動與其在其它應用程式中的活動取消連結。

          最理想的加密錢包是什麼?V神:不隻是放資產,還要有4大功能

          這項技術的一個優點是,它不僅是保護隱私的資產轉移的自然途徑,也是保護隱私的身份的自然途徑。身份已經發生在鏈上:任何使用身份證明門控的應用程式(例如Gitcoin Grants)、任何代幣門控聊天、以太坊遵循協議等等都是鏈上身份。我們希望這個生態系也能保護隱私。這意味著使用者的鏈上活動不應收集在一個地方:每個項目都應單獨儲存,並且使用者的錢包應該是唯一具有「全局視圖」的東西,可以同時看到您的所有證明。每個使用者擁有多個帳戶的原生生態系有助於實現這一目標,EAS和Zupass等鏈下證明協議也是如此。

          這代表瞭中期內以太坊隱私的務實願景。盡管可以在L1 和L2 引入一些功能以使隱私保護傳輸更加高效和可靠,但它現在就可以實現。一些隱私倡導者認為,唯一可以接受的事情是所有事物的完全隱私:加密整個EVM。我認為這可能是理想的長期結果,但它需要對程式撰寫模型進行更根本的重新思考,而且目前還沒有達到準備在以太坊上部署的成熟水準。我們確實需要默認隱私以獲得足夠大的匿名集。然而,首先關註(i)帳戶之間的轉帳,以及(ii)身份和與身份相關的應用(例如私有證明)是務實的第一步,更容易實現,而且錢包現在就可以開始使用。

          以太坊錢包也需要成為數據錢包

          任何有效的隱私解決方案的一個後果是,無論是用於支付、身份還是其它應用,它都會產生使用者儲存鏈下數據的需求。這在Tornado Cash 中很明顯,它要求使用者保存每張代表0.1-100 以太幣存款的「票據」。更現代的隱私協議有時會在鏈上保存加密的數據,並使用單個私鑰對其進行解密。這是有風險的,因為如果密鑰泄露,或者量子計算機變得可行,數據就會全部公開。 EAS 和Zupass 等鏈下證明對鏈下數據儲存的需求更為明顯。

          錢包不僅需要成為儲存鏈上 訪問權限的軟件,還需要成為儲存您的私人數據的軟件。所有我們需要圍繞穩健保證訪問權限控制來解決的問題,我們還需要圍繞穩健保證數據的可訪問性和不泄漏來解決。也許這些解決方案可以疊加在一起:如果您有N 個監護人,請在這N 個監護人之間使用M-of-N 秘密共享來儲存您的數據。數據本質上更難保護,因為你無法撤銷某人的數據市占率,但我們應該提出盡可能安全的去中心化托管解決方案。

          安全的鏈訪問

          如今,錢包相信他們的RPC 提供商會告訴他們有關鏈的任何資訊。這是一個漏洞,有兩個方面:

          • RPC 提供商可能會嘗試通過向他們提供虛假資訊來竊取金錢,例如。關於市場價格。
          • RPC 提供者可以提取私人資訊關於使用者正在互動的應用程式和其它帳戶。

          理想情況下,我們希望堵住這兩個漏洞。為瞭解決第一個問題,我們需要L1 和L2 的標準化輕客戶端,它們可以直接驗證區塊鏈共識。Helios已經這樣做瞭L1,並且一直在做一些前期工作來支持一些具體的L2s。為瞭正確覆蓋所有L2,我們需要一個標準,通過該標準代表L2 的配置合約(也用於特定於鏈的地址)可以聲明一個函數,可能以類似於ERC-3668的方式,包含獲取最近狀態根並驗證證明的邏輯州和針對這些州根的收據。這樣我們就可以有一個通用輕客戶端,允許錢包安全地驗證L1 和L2 上的任何狀態或事件。

          為瞭隱私,當今唯一現實的方法是運行您自己的完整節點。然而,現在L2 正在進入人們的視野,運行所有內容的完整節點變得越來越困難。這裡相當於輕客戶端的是私有資訊檢索(PIR)。 PIR 涉及保存所有數據副本的伺服器和向伺服器發送加密請求的客戶端。伺服器對所有數據執行計算,返回客戶端所需的數據,並加密到客戶端的密鑰,而不會向伺服器透露客戶端訪問瞭哪條數據。

          最理想的加密錢包是什麼?V神:不隻是放資產,還要有4大功能

          為瞭保持伺服器的誠實,各個數據庫項目本身就是Merkle 分支,因此客戶端可以使用輕客戶端來驗證它們。

          PIR (深潮註:通常指的是「私有資訊檢索」(Private Information Retrieval),是一種允許使用者從數據庫中檢索資訊而不泄露所檢索資訊的協議或技術。)的計算量非常大。解決這個問題有幾種途徑:

          • 用蠻力:演算法或專用硬體設備的改進可能會使PIR 運行得足夠快。這些技術可能取決於預處理:伺服器可以為每個客戶端儲存加密和打亂的數據,並且客戶端可以查詢該數據。以太坊環境中的主要挑戰是使這些技術適應快速變化的數據集(就像國傢一樣)。這使得即時計算成本更低,但很可能使總計算和儲存成本更高。
          • 削弱隱私要求:例如,每次查找隻能有100 萬個「mixins」,因此伺服器將知道客戶端可以訪問的一百萬個可能值,但不知道任何更細的粒度。
          • 多伺服器PIR:如果您使用多個伺服器,並且這些伺服器之間的誠實性假設為1-of-N,那麼PIR 演算法通常會更快。
          • 匿名而不是機密性:可以通過混合網路發送請求,從而隱藏請求的發送者,而不是隱藏請求的內容。然而,有效地這樣做不可避免地會增加延遲,從而惡化使用者體驗。

          在以太坊環境中找出正確的技術組合來最大化隱私,同時保持實用性是一個開放的研究問題,我歡迎密碼學傢嘗試這樣做。

          理想的密鑰庫錢包

          除瞭傳輸和狀態訪問之外,需要在跨L2 上下文中順利工作的另一個重要工作流程是更改帳戶的驗證配置:無論是更改其密鑰(例如恢復),還是對帳戶的整個邏輯進行更深層次的更改。這裡有三層解決方案,按照難度遞增的順序排列:

          • 重播更新:當使用者更改其配置時,授權此更改的消息將在錢包檢測到使用者擁有資產的每個鏈上重播。有可能,消息格式和驗證規則可以獨立於鏈,因此可以在盡可能多的鏈上自動重播。
          • L1 上的密鑰庫:配置資訊位於L1 上,L2 上的錢包使用L1SLOAD讀取它或遠程靜態呼叫。這樣,隻需要在L1上更新配置,配置就會自動生效。
          • L2 上的密鑰庫:配置資訊存在於L2 上,L2 上的錢包使用ZK-SNARK 讀取它。這與(2) 相同,除瞭密鑰庫更新可能更便宜,但另一方面讀取更昂貴。

          最理想的加密錢包是什麼?V神:不隻是放資產,還要有4大功能

          解決方案(3) 特別強大,因為它可以很好地與隱私。在正常的「隱私解決方案」中,使用者擁有秘密s,在鏈上發佈「葉子值」L,使用者證明L = hash(s, 1)且N = hash(s, 2)對於他們控制的一些(從未泄露的)秘密。無效符N被發佈,使得確保同一片葉子的未來支出會失敗,而不會透露L這取決於使用者s安全。一個恢復友善的隱私解決方案會說:s是一個位置(例如地址和儲存槽) onchain,使用者必須證明狀態查詢:L = hash(sload(s), 1)。

          Dapp安全

          使用者安全中最薄弱的環節通常是dapp。大多數時候,使用者通過訪問網站與應用程式互動,網站隱式地從伺服器即時下載使用者介面程式碼,然後在瀏覽器中執行。如果伺服器被駭客攻擊,或者DNS 被駭客攻擊,使用者將獲得界面的虛假副本,這可能會誘騙使用者執行任意操作。交易模擬等錢包功能對於降低風險非常有幫助,但它們還遠非完美。

          理想情況下,我們會將生態系轉移到鏈上內容版本控制:使用者將通過其ENS 名稱訪問dapp,該名稱將包含接口的IPFS 哈希值。更新接口需要來自多簽錢包或DAO 的鏈上交易。錢包會向使用者顯示他們是否正在與更安全的鏈上界面或安全性較低的Web2 界面進行互動。錢包還可以向使用者顯示他們是否正在與安全鏈互動(例如階段1+、多重安全審核)。

          對於註重隱私的使用者,錢包還可以添加偏執模式(paranoid mode),要求使用者點擊接受HTTP請求,而不僅僅是Web3操作:

          最理想的加密錢包是什麼?V神:不隻是放資產,還要有4大功能

          偏執模式可能的界面模型

          更先進的方法是超越HTML + Javascript,並用專用語言(可能是Solidity 或Vyper 上相對較薄的覆蓋層)編寫dapp 的業務邏輯。然後,瀏覽器可以自動生成任何所需功能的UI。 OKContract已經在這樣做瞭。

          另一個方向是加密經濟資訊防禦: dapp 開發人員、安全公司、鏈部署者和其它人可以建立一筆債券,如果dapp 被駭客攻擊或以高度誤導性的方式傷害使用者,則該債券將支付給受影響的使用者(經確定)由一些鏈上裁決DAO。錢包可以向使用者顯示基於債券大小的分數。

          更長遠的未來

          以上都是在傳統界面的背景下進行的,其中涉及指向和單擊事物以及將事物輸入到文本字段中。然而,我們也正處於范式發生更深刻變化的風口浪尖:

          • 人工智慧:這可能會導致我們從點擊式打字范式轉向「說出你想做的事情,機器人就會弄清楚」的范式
          • 腦機接口:既有眼動追蹤等「溫和」方法,也有更直接甚至侵入性的技術
          • 客戶端主動防禦: Brave 瀏覽器主動保護使用者免受廣告、追·蹤·器和許多其他不良物件的侵害。許多瀏覽器、擴充應用程式和加密錢包都有整個團隊積極致力於保護使用者免受各種安全和隱私威脅。這些「積極的守護者」在未來十年隻會變得更加強大。

          這三種趨勢共同將導致人們對界面工作方式進行更深入的重新思考。通過自然語言輸入、眼球追蹤或最終更直接的腦機接口,再加上您的歷史記錄(也許包括短信,隻要所有數據都在本地處理),「錢包」可以清楚直觀地瞭解您想要什麼去做。然後,人工智慧可以將這種直覺轉化為具體的「行動計劃」:一系列鏈上和鏈下互動來完成你想要的事情。這可以大大減少對第三方使用者介面的需求。如果使用者確實與第三方應用程式(或其它使用者)進行互動,人工智慧應該代表使用者進行對抗性思考,識別任何威脅並提出避免威脅的行動計劃。理想情況下,這些人工智慧應該有一個開放的生態系,由具有不同偏見和激勵結構的不同群體產生。

          這些更激進的想法取決於技術今天非常不成熟,所以我今天不會把我的資產放入依賴它們的錢包中。然而,類似的事情似乎很明顯是未來的趨勢,因此值得開始朝這個方向更積極地探索。

          原创文章,作者:fanbi,如若转载,请注明出处:https://fanbi.net/btc/6002

          Like (0)
          fanbifanbi
          Previous 2025年2月3日 下午1:01
          Next 2025年2月3日 下午1:03

          相关推荐

          發佈留言

          發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *