作者: Kishan Kumar / 來源:https://medium.com/coinmonks/account-abstraction-the-next-bi
火火/白話區塊鏈
圖片來源:unsplash.com
在開始閱讀這篇文章之前,想問您幾個問題:
- 您是否曾經因為私鑰丟失而丟失過一些加密貨幣?
- 您是否因為沒有合適的 Gas 代幣而決定不使用某些 Dapp?
- Web 3 的整個用戶體驗可能因艱難的學習歷程而變得混亂?
我們可以在不知道 Instagram 或 Twitter 如何運作的情況下使用它們。我們不需要了解他們的底層技術就可以開始使用它。但當談到區塊鏈時,人們必須謹慎對待它們的網絡、它們發送的代幣以及它們發送的地址。
EIP-4337 旨在抽象出我們目前提出的與賬戶或錢包相關的所有復雜細節。
為了理解這個概念,我們需要先了解一下相關背景知識。
一、背景
在以太坊網絡中,有兩種類型的賬戶:
- 外部擁有賬戶 (EOA)
- 智能合約賬戶
EOA 與私鑰相關聯,這意味著對資金或合約訪問的控制。另一種類型的賬戶是合約賬戶。合約賬戶有智能合約代碼,這是簡單的EOA所不具備的。此外,合約賬戶沒有私鑰。相反,它由其智能合約代碼的邏輯擁有(和控制)。
由于合約賬戶沒有私鑰,因此它無法發起交易,但它可以通過調用其他合約并構建復雜的執行路徑來對交易做出反應。
將以太坊視為一個巨大的、去中心化的狀態機。每當有人需要與區塊鏈交互時,他們都會通過交易來完成,例如轉移代幣、質押代幣或鑄造 NFT。共識規則控制狀態變化,并且狀態分布在全球范圍內,以便每個參與者都具有相同的狀態。
網絡需要知道誰發出了交易;因此,每筆交易都必須簽名。盡管在某些少數情況下,情況可能并非如此。
一筆交易改變了網絡的狀態;它可能包括更改余額,因為人們已將余額從一個帳戶轉移到另一個帳戶。這些狀態改變需要付費;因此,幾乎每筆交易都需要付費。
二、但問題出在哪里呢?
對于那些一直在與 Dapp 交互的人來說,整個體驗已經成為標準,但要從一個只想開始使用它的初學者的角度來思考。高學習門檻可能會阻礙他們加入 Dapp,從而減慢 web3 的整體發展速度。
想想橋接令牌、包裝令牌、不同的網絡、存儲私鑰、記住助記符等。
根本不是,萬一你忘記了助記詞怎么辦?我們的 Web 2.0 中不存在“忘記密碼”這樣的情況。
如果您忘記了,那么您將失去與之相關的所有資金。一旦您去世,就沒有人可以幫助您的家屬。所有這些事情可能會讓您想知道為什么有這么麻煩?為什么不堅持使用我們的中心化世界,人們可以向客戶服務人員發送電子郵件并要求他們幫助恢復他們的帳戶。
這就像賦予新手如此巨大的責任,以至于他們常常選擇聳聳肩不屑于此并轉向其他事情。
三、但我們能以某種方式解決這些問題嗎?
賬戶抽象提案就是答案。您會看到,EOAs 涉及很多風險。如果不是 EOA 那又是什么?智能賬戶就是答案。
賬戶抽象允許您使用智能合約錢包而不是 EOA。讓我再次聲明:帳戶抽象是以太坊中的一個概念,它將允許用戶使用智能合約錢包(智能帳戶)而不是傳統的外部擁有帳戶(EOA)與區塊鏈進行交互。
正如所討論的,智能合約錢包不依賴于公共/私有密碼學,而是依賴于代碼。這意味著驗證交易的邏輯可以定制,并且不與公鑰/私鑰緊密耦合。代碼可以靈活;你可以用你的邏輯來花費你的 ETH,恢復你的賬戶,甚至添加一個人。
EIP-4337是一項旨在在不改變以太坊協議的情況下實現賬戶抽象的提案。這是什么意思?該提案不需要硬分叉,因為它是作為以太坊之上的附加層實現的。
這一功能將使以太坊的賬戶方式更加靈活和強大。
讓我們詳細討論一些用例:
1.社交恢復
在 Web3 中困擾每個人的事情是,如果我們丟失了私鑰怎么辦?除非建造一臺強大的量子計算機來恢復你的私鑰,否則你將失去所有資金,但這也是一個不太可能的情況。
實際上,您的所有資產將永遠丟失或永遠鎖定。
但可以使用賬戶抽象來定制你的錢包邏輯,這樣你就可以通過你信任的朋友或家人(守護者)重新獲得你的賬戶。
將監護人視為任何帳戶,例如冷庫、家庭成員或第三方服務。用戶可以指定他們想要信任的人以及他們必須滿足什么條件才能執行恢復過程。
假設你的私鑰被暴露了;你現在要做什么?你能改變它嗎?
如果您使用的是Metamask等 EOA ,除了將所有資金從受感染的帳戶轉移到其他帳戶之外,您只能做一點其他的事情。因為簽署交易的是私鑰,所以如果私鑰暴露,任何人都可以轉移您的資金。
但智能賬戶的情況就不同了。假設我們有一個使用帳戶抽象的智能合約錢包。我們可以在不創建新帳戶的情況下更改簽名密鑰,就像我們在密碼被泄露后更改密碼一樣。
您必須向監護人請求恢復并向他們提供您要使用的新簽名密鑰。監護人不會得到簽名密鑰,而是得到它的哈希值。如果足夠的監護人批準您的請求,您可以將舊的簽名密鑰替換為新的簽名密鑰,并繼續使用同一帳戶。
2.遺產轉移
上帝禁止這樣做,但如果你遇到致命事故怎么辦?您的家人將如何獲得您的資金?您希望該基金被永遠鎖定嗎?無權利?你會希望他們擁有它。
目前,您可以做的就是與他們共享私鑰,他們可以使用私鑰訪問您的資金。但分享并不總是最好的方式。共享私鑰就像承擔與之相關的全部責任。
除了共享密鑰之外還有其他方法嗎?
幸運的是,Dead Man's Switch 可以在這方面提供幫助。將其視為一種機制,如果帳戶持有人不再存在于這個世界上,則會觸發操作或事件。人們可以設置一種邏輯,將資金或數據轉移到帳戶抽象中的另一個帳戶。但如何知道賬戶持有人是否不再存在呢?
同樣,這完全取決于您想要的方式。我們可以通過要求用戶定期發送信號或心跳來檢查用戶是否還活著(就像我們在分布式系統中了解節點是否處于活動狀態或被殺死的方式)。如果用戶未能在規定時間內發送信號,死人開關就會觸發并執行主人定義的邏輯。
3.批量交易
如果您使用新的 Dapp 并想要交換您的代幣,通常需要多次批準。用戶可以建立智能合約來同時執行各種交易,從而節省交易費用并使流程更加高效。
4.無需使用 Native Gas 代幣
如果你想在以太坊網絡上進行任何類型的交易,你都需要支付汽油費,并且該費用通常以其原生代幣 ETH 支付。但如果你的錢包里只有 USDT 呢?
不幸的是,您需要將部分 USDT 轉換為 ETH,這需要交換費用,這讓我們回到了第一步。但通過賬戶抽象,可以設置智能合約以不同的代幣支付交易費用。這將顯著改善用戶體驗。