原標題:WhatIwouldlovetoseeinawallet
作者:Vitalik,Ethereum創始人;編譯:鄧通,金色財經
特別感謝LirazSiri、YoavWeiss以及ImToken、Metamask和OKX開發人員的反饋和審核。
Ethereum基礎設施堆棧的一個關鍵層是錢包,但經常被核心L1研究人員和開發人員低估。錢包是用戶和Ethereum世界之間的窗口,用戶只能從Ethereum及其應用程序提供的任何去中心化、審查阻力、安全、隱私或其他屬性中受益,前提是錢包本身也具有這些屬性。
最近,我們看到Ethereum錢包在改善用戶體驗、安全性和功能方面取得了很大進展。這篇文章的目的是給出我自己對理想的Ethereum錢包應具備的一些特性的看法。這并不是一個完整的列表;它反映了我的密碼朋克傾向,它專注于安全和隱私,并且幾乎可以肯定它在用戶體驗方面是不完整的。然而,我認為愿望清單在優化用戶體驗方面不如簡單地根據反饋進行部署和迭代有效,因此我認為關注安全和隱私屬性是最有價值的。跨L2交易的用戶體驗
現在有一個越來越詳細的改善跨L2用戶體驗的路線圖,該路線圖有短期部分和長期部分。在這里,我將談論短期部分:即使在今天理論上仍然可以實施的想法。
核心思想是(i)內置跨L2發送,以及(ii)鏈特定地址和支付請求。您的錢包應該能夠為您提供一個地址(遵循本ERC草案的風格),如下所示:
0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045@optimism.eth
當某人(或某些應用程序)向您提供這種格式的地址時,您應該能夠將其粘貼到錢包的“收件人”字段中,然后單擊“發送”。錢包應該以任何可能的方式自動處理發送的數據:
如果您在目標鏈上已經有足夠的所需類型的Tokens,請直接發送Tokens;
如果您在另一條鏈(或多個其他鏈)上有所需類型的Tokens,請使用ERC-7683(實際上是跨鏈DEX)等協議來發送Tokens;
如果您在同一條鏈或其他鏈上有不同類型的Tokens,請使用DEX將它們轉換為正確鏈上的正確類型的Tokens并發送它們。這應該需要用戶的明確許可:用戶將看到他們支付了多少費用,以及接收者收到了多少費用。
左邊的“錯誤”是無意的。然而,當我看到它時,我意識到它非常適合上下文,所以我決定保留它。
十多年來,我首選的解決方案是社交恢復和帶有分級訪問控制的多重簽名錢包。用戶的帳戶有兩層密鑰:主密鑰和N個監護人(例如N=5)。主鍵是能夠進行低價值和非財務操作。大多數監護人需要執行(i)高價值操作,例如發送帳戶中的全部價值,或(ii)更改主密鑰或任何監護人。如果需要,可以允許主鍵通過時間鎖執行高價值操作。
以上是基本設計,可以進行擴展。會話密鑰和ERC-7715等權限機制可以幫助支持不同應用程序的便利性和安全性之間的不同平衡。更復雜的監護人架構,例如在不同閾值下具有多個時間鎖定持續時間,可以幫助最大限度地提高成功恢復合法帳戶的機會,同時最大限度地降低盜竊風險。監護人應該是誰或什么?
對于經驗豐富的Crypto用戶社區中的經驗豐富的加密用戶來說,一個可行的選擇是您的朋友和家人的密鑰。如果您要求每個人為您提供一個新的地址,那么沒有人需要知道他們是誰——事實上,您的監護人甚至不需要知道彼此是誰。如果他們沒有向你通風報信,他們串通一氣的可能性很小。然而,對于大多數新用戶來說,此選項不可用。
第二種選擇是機構監護人:專門提供服務的公司,只有在他們得到來自您的請求的其他確認時才會簽署交易。一個確認碼,或為高價值用戶一個視頻通話。很長一段時間以來,人們一直在嘗試制作這些東西。我在2013年介紹了CryptoCorp。然而,到目前為止,這類公司還不是很成功。
第三種選擇是多種個人設備(例如手機、桌面、硬件錢包)。這是可行的,但對于沒有經驗的用戶來說,設置和管理起來也很困難。同時還有設備丟失或被盜的風險,尤其是當它們位于同一位置時。
最近,我們開始看到越來越多的基于密鑰的錢包。密碼只能備份在你的設備上,使它們成為一種個人設備解決方案,或者備份在云中,使它們的安全性依賴于密碼安全、機構和可信硬件假設的復雜混合。實際上,對于普通用戶來說,密鑰是一種有價值的安全增益,但它們本身不足以保護用戶的畢生積蓄。
幸運的是,有了ZK-SNARK,我們還有第四種選擇:ZK包裝的中心化ID。這種類型包括zk-email、AnonAadhaar、MynaWallet等等。基本上,您可以采用多種形式(公司或政府)中心化ID,并將其轉換為Ethereum地址,您只能通過生成證明擁有中心化ID的ZK-SNARK來發送交易。
可能的安全界面模型
請注意,如今zk-email面臨的一個實際挑戰是它依賴于DKIM簽名,該簽名使用每隔幾個月輪換一次的密鑰,并且這些密鑰本身并未由任何其他機構簽名。這意味著如今的zk-email具有超出提供商本身的某種程度的信任要求;如果zk-email在受信任的硬件內使用TLSNotary來驗證更新的密鑰,則可以減少這種情況,但這并不理想。希望電子郵件提供商能夠開始直接簽署其DKIM密鑰。今天,我建議一位監護人使用zk-email,但不建議大多數監護人使用:不要將資金存儲在zk-email損壞意味著您無法使用資金的設置中。新用戶和應用內錢包
新用戶實際上不希望在第一次注冊體驗中輸入大量監護人。因此,錢包應該為他們提供一個非常簡單的選擇。一種自然的途徑是在其電子郵件地址上使用zk-email、本地存儲在用戶設備上的密鑰(可能是萬能密鑰)以及提供商持有的備份密鑰,進行2-of-3的選擇。隨著用戶變得更有經驗或積累更多資產,在某些時候應該提示他們添加更多監護人。
錢包集成到應用程序中是不可避免的,因為試圖吸引非加密用戶的應用程序不希望用戶同時下載兩個新應用程序(應用程序本身,加上Ethereum錢包)帶來混亂的用戶體驗。然而,許多應用程序錢包的用戶應該能夠將他們的所有錢包鏈接在一起,這樣他們就只需擔心一個“訪問控制問題”。最簡單的方法是采用分層方案,其中有一個快速的“鏈接”過程,允許用戶將其主錢包設置為所有應用內錢包的監護人。Farcaster客戶端Warpcast已經支持這一點:
該技術的一個優點是,它不僅是保護隱私的資產轉移的自然途徑,也是保護隱私的身份的自然途徑。身份已經發生在鏈上:任何使用身份證明門控的應用程序(例如GitcoinGrants)、任何Tokens門控聊天、Ethereum遵循協議等等都是鏈上身份。我們希望這個生態系統也能保護隱私。這意味著用戶的鏈上活動不應收集在一個地方:每個項目都應單獨存儲,并且用戶的錢包應該是唯一具有“全局視圖”的東西,可以同時看到您的所有證明。原生的每用戶多賬戶生態系統有助于實現這一目標,EAS和Zupass等鏈下證明協議也是如此。
這代表了中期內Ethereum隱私的務實愿景。盡管可以在L1和L2引入一些功能以使隱私保護傳輸更加高效和可靠,但它現在就可以實現。一些隱私倡導者認為,唯一可以接受的事情是所有事物的完全隱私:加密整個EVM。我認為這可能是理想的長期結果,但它需要對編程模型進行更根本的重新思考,而且目前還沒有達到準備在Ethereum上部署的成熟水平。我們確實需要默認隱私以獲得足夠大的匿名集。然而,首先關注(i)賬戶之間的轉賬,以及(ii)身份和與身份相關的用例(例如私有證明)是務實的第一步,更容易實現,而且錢包現在就可以開始使用。Ethereum錢包也需要成為數據錢包
任何有效的隱私解決方案的一個后果是,無論是用于支付、身份還是其他用例,它都會產生用戶存儲鏈下數據的需求。這在TornadoCash中很明顯,它要求用戶保存每張代表0.1-100ETH存款的“票據”。更現代的隱私協議有時會在鏈上保存加密的數據,并使用單個私鑰對其進行解密。這是有風險的,因為如果密鑰泄露,或者量子計算機變得可行,數據就會全部公開。EAS和Zupass等鏈下證明對鏈下數據存儲的需求更為明顯。
錢包不僅需要成為存儲鏈上訪問權限的軟件,還需要成為存儲您的私人數據的軟件。非加密世界也越來越認識到這一點,例如。請參閱TimBerners-Lee最近在個人數據存儲方面的工作。所有我們需要圍繞穩健保證訪問權限控制來解決的問題,我們還需要圍繞穩健保證數據的可訪問性和不泄漏來解決。也許這些解決方案可以疊加在一起:如果您有N個監護人,請在這N個監護人之間使用M-of-N秘密共享來存儲您的數據。數據本質上更難保護,因為你無法撤銷某人的數據份額,但我們應該提出盡可能安全的去中心化托管解決方案。安全鏈訪問
如今,錢包相信他們的RPC提供商會告訴他們有關鏈的任何信息。這是一個漏洞,有兩個方面:
RPC提供商可能會嘗試通過向他們提供虛假信息來竊取金錢,例如關于市場價格
RPC提供者可以提取有關用戶正在與之交互的應用程序和其他帳戶的私人信息
理想情況下,我們希望堵住這兩個漏洞。為了解決第一個問題,我們需要L1和L2的標準化輕客戶端,它們可以直接驗證Blockchain共識。Helios已經為L1做到了這一點,并且一直在做一些初步工作來支持一些特定的L2。為了正確覆蓋所有L2,我們需要一個標準,通過該標準,代表L2(也用于特定于鏈的地址)的配置合約可以聲明一個函數,也許以類似于ERC-3668的方式,包含獲取最近的stateroots,并根據這些州stateroots證明和收據。這樣我們就可以擁有一個通用的輕客戶端,允許錢包安全地驗證L1和L2上的任何狀態或事件。
為了隱私,當今唯一現實的方法是運行您自己的完整節點。然而,現在L2正在進入人們的視野,運行所有內容的完整節點變得越來越困難。這里相當于輕客戶端的是私有信息檢索(PIR)。PIR涉及保存所有數據副本的服務器和向服務器發送加密請求的客戶端。服務器對所有數據執行計算,返回客戶端所需的數據,并加密到客戶端的密鑰,而不會向服務器透露客戶端訪問了哪條數據。
解決方案(3)特別強大,因為它與隱私很好地結合在一起。在正常的“隱私解決方案”中,用戶有一個秘密s,“葉子值”L發布在鏈上,并且用戶證明L=hash(s,1)和N=hash(s,2)對于某些(從未透露)他們控制的秘密。無效器N被發布,確保同一葉子的未來支出失敗,而不會泄露L。這取決于用戶保證s的安全。恢復友好的隱私解決方案會說:s是鏈上的位置(例如地址和存儲槽),并且用戶必須證明狀態查詢:L=hash(sload(s),1)。
用戶安全中最薄弱的環節通常是dapp。大多數時候,用戶通過訪問網站與應用程序交互,網站隱式地從服務器實時下載用戶界面代碼,然后在瀏覽器中執行。如果服務器被黑客攻擊,或者DNS被黑客攻擊,用戶將獲得界面的虛假副本,這可能會誘騙用戶執行任意操作。交易模擬等錢包功能對于降低風險非常有幫助,但它們還遠非完美。
理想情況下,我們會將生態系統轉移到鏈上內容版本控制:用戶將通過其ENS名稱訪問dapp,該名稱將包含接口的IPFS哈希值。更新接口需要來自多重簽名或DAO的鏈上交易。錢包會向用戶顯示他們是否正在與更安全的鏈上界面或安全性較低的Web2界面進行交互。錢包還可以向用戶顯示他們是否正在與安全鏈交互(例如階段1+、多重安全審核)。
對于注重隱私的用戶,錢包還可以添加偏執模式,要求用戶點擊接受HTTP請求,而不僅僅是web3操作:
偏執模式可能的界面模型
更先進的方法是超越HTML+Javascript,并用專用語言(可能是Solidity或Vyper上相對較薄的覆蓋層)編寫dapp的業務邏輯。然后,瀏覽器可以自動生成任何所需功能的UI。OKContract已經在這樣做了。
另一個方向是加密經濟信息防御:dapp開發者、安全公司、鏈部署者和其他人可以設立一筆保證金,如果dapp被黑客攻擊或以高度誤導性的方式傷害用戶,則該保證金將支付給受影響的用戶。由一些鏈上裁決DAO。錢包可以向用戶顯示基于債券大小的分數。更長遠的未來
以上都是在傳統界面的背景下進行的,其中涉及指向和單擊事物以及將事物輸入到文本字段中。然而,我們也正處于范式發生更深刻變化的風口浪尖:
人工智能,這可能會導致我們從點擊式打字范式轉向“說出你想做的事情,機器人就會弄清楚”的范式;
腦機接口,既有眼動追蹤等“溫和”方法,也有更直接甚至侵入性的技術(參見:今年第一位Neuralink患者);
客戶端主動防御:Brave瀏覽器主動保護用戶免受廣告、跟蹤器和許多其他不良對象的侵害。許多瀏覽器、插件和加密錢包都有整個團隊積極致力于保護用戶免受各種安全和隱私威脅。這些“積極的守護者”在未來十年只會變得更加強大。
這三種趨勢共同將導致人們對界面工作方式進行更深入的重新思考。通過自然語言輸入、眼球追蹤,或者最終更直接的腦機接口,再加上你的歷史記錄(也許包括短信,只要所有數據都在本地處理),“錢包”可以清楚直觀地了解什么你想做的事。然后,人工智能可以將這種直覺轉化為具體的“行動計劃”:一系列鏈上和鏈下交互來完成你想要的事情。這可以大大減少對第三方用戶界面的需求。如果用戶確實與第三方應用程序(或其他用戶)進行交互,人工智能應該代表用戶進行對抗性思考,識別任何威脅并提出避免威脅的行動計劃。理想情況下,這些人工智能應該有一個開放的生態系統,由具有不同偏見和激勵結構的不同群體產生。
這些更激進的想法依賴于當今極其不成熟的技術,因此我今天不會將我的資產放入依賴它們的錢包中。然而,類似的事情似乎很明顯是未來的趨勢,因此值得開始朝這個方向更積極地探索。
免責聲明:Vitalik:我所認為理想狀態的Ethereum錢包是什么樣的?文章轉發自互聯網,版權歸其所有。
文章內容不代表本站立場和任何投資暗示。加密貨幣市場極其波動,風險很高,可能不適合所有投資者。在投資加密貨幣之前,請確保自己充分了解市場和投資的風險,并考慮自己的財務狀況和風險承受能力。此外,請遵循您所在國家的法律法規,以及遵守交易所和錢包提供商的規定。對于任何因使用加密貨幣所造成的投資損失或其他損失,本站不承擔任何責任。
Copyright © 2021.Company 元宇宙YITB.COM All rights reserved.元宇宙YITB.COM