什么是EIP-7702?深入分析EIP-7702對智能賬戶錢包帶來的影響
預(yù)計于今年 4 月到來的以太坊 Pectra 升級,將成為以太坊生態(tài)的又一個重要里程碑。作為智能合約開發(fā)者,我們對本次升級中即將激活的 EIP-7702 提案充滿期待。EIP-7702 定義了一種全新的交易類型,即 “Set Code 交易”。通過該交易,用戶可以將任意智能合約的執(zhí)行邏輯 “映射” 到外部賬戶(EOA)上。
這意味著,用戶只需通過簽署一個 Set Code 交易,便能使現(xiàn)有的 EOA 賬戶不僅具備智能合約的執(zhí)行邏輯,同時也保留原有的 EOA 特性(例如通過私鑰簽名交易)。這項升級是實現(xiàn)以太坊 “終極賬戶抽象” 目標(biāo)的重要一步,將極大地促進智能賬戶的廣泛應(yīng)用。
在接下來的一系列文章中,我們將從開發(fā)者的視角出發(fā),圍繞以下幾個方面深入分析 EIP-7702 對智能賬戶錢包帶來的影響,并探討相應(yīng)的安全性問題和解決方案。
什么是 EIP-7702?
EIP-7702 是一項旨在增強外部賬戶 (EOA) 功能的提案。EOA 是以太坊網(wǎng)絡(luò)中的基礎(chǔ)賬戶類型,能夠發(fā)送交易并與智能合約進行交互。然而,EOA 缺乏某些加密貨幣錢包所具備的功能,例如交易批處理和 Gas 費贊助等。
EIP-7702 旨在讓 EOA 在單筆交易中臨時具備類似智能合約賬戶的功能,從而支持通常由智能合約錢包才能完成的操作。該提案旨在彌補 EIP-3074 的局限性,并解決一些備受爭議的問題。
雖然 EIP-7702 目前尚未上線,但已獲得社區(qū)的廣泛支持,許多人認(rèn)為它有潛力取代 EIP-3074 提案。如果這成為現(xiàn)實,EIP-7702 將有望在計劃于 2024 年底進行的以太坊 Pectra 升級中實施。
EIP-7702 如何運作?
EIP-7702 在以太坊網(wǎng)絡(luò)中引入了一種全新的交易方式,其中包含一個名為 contract_code 的特殊字段。通過這一字段,EOA 在交易期間可以暫時擁有部分智能合約的屬性。讓我們了解一下它的運作原理。
交易準(zhǔn)備
用戶需要先為交易做好準(zhǔn)備,提供一些常見信息,例如目標(biāo)地址、Gas 費限額以及需要發(fā)送的數(shù)據(jù)等。此外,還需要在 contract_code 字段中加入一段特殊的智能合約代碼,該代碼定義了將臨時賦予 EOA 的智能合約功能。
授權(quán)
用戶需要對交易進行簽名,該簽名至關(guān)重要,用于驗證交易并包含授權(quán)列表。該列表詳細(xì)說明了 contract_code 的內(nèi)容及其執(zhí)行條件,實際上是在驗證并授權(quán)臨時將智能合約代碼分配給 EOA。
執(zhí)行
交易提交到以太坊網(wǎng)絡(luò)后,系統(tǒng)會臨時將指定的 contract_code 分配給 EOA,用于處理交易。在此階段,EOA 能夠利用 contract_code 提供的功能,以類似智能合約的方式處理交易。
撤銷
交易完成后,以太坊網(wǎng)絡(luò)會自動從 EOA 中移除臨時的 contract_code,使其恢復(fù)到原始狀態(tài),失去臨時智能合約功能。
場景類比
假設(shè) Bob 是一名送貨司機,他駕駛一輛普通汽車,只能運輸小型包裹。有一天,他接到一個配送大型包裹的請求。Bob 并未拒絕訂單,而是臨時租用一個貨箱掛在車上。完成配送后,Bob 將貨箱歸還給租賃店,繼續(xù)駕駛他的普通汽車。
在這個類比中:
普通汽車代表 EOA;
臨時貨箱對應(yīng)提供額外功能的 contract_code;
配送過程類似于交易;
貨箱的租借與歸還體現(xiàn)了 contract_code 的臨時性,僅在交易期間有效。
EIP-7702 的優(yōu)勢
證券型
通過在交易完成后自動刪除臨時的 contract_code,EIP-7702 有效降低了未經(jīng)授權(quán)操作的風(fēng)險。這確保了額外功能僅在交易過程中有效,從而減少潛在漏洞的可能性。
靈活性
EIP-7702 將支持多種應(yīng)用,例如交易批處理,可將多個操作合并為一筆交易。同時,它還支持 Gas 費贊助,使一個賬戶能夠代替另一個賬戶支付交易手續(xù)費。
推動智能錢包的普及
通過暫時為 EOA 賦予智能合約功能,EIP-7702 能夠推動智能錢包功能的應(yīng)用,同時避免了因 EOA 永久變更而可能帶來的安全風(fēng)險。
EOA 私鑰的新角色
在 EOA 被賦予智能合約邏輯成為 Smart Account 后,其私鑰即成為賬戶的“超級管理員”,具有兩項關(guān)鍵權(quán)限:
使用私鑰簽名,可以吊銷或更改映射到該賬戶的智能合約,從而改變賬戶的執(zhí)行邏輯;
使用私鑰簽名,可以直接轉(zhuǎn)移賬戶下的 Eth 或 ERC20 代幣,繞過合約邏輯設(shè)置的限制。
此時,賬戶中的資產(chǎn)將擁有兩個“管理員”:新增的智能合約邏輯以及原有的私鑰,而私鑰擁有更高權(quán)限。這隨之帶來了兩個重要的考量:
賬戶下關(guān)鍵數(shù)據(jù)的存儲
由于映射的智能合約邏輯可隨時更換,第一個需要解決的問題就是如何處理賬戶已有的關(guān)鍵數(shù)據(jù)和合約狀態(tài)。新合約可能讀取或覆蓋任何舊合約的數(shù)據(jù),這會產(chǎn)生 “存儲沖突” 的風(fēng)險。
也許開發(fā)人員會認(rèn)為 “存儲沖突” 并非一個難以解決的問題,因為在開發(fā)“可升級合約”時,有很多范式可以很好的避免這個問題,比如我們可以使用 ERC-7201 或者類似的方法,使用存儲命名空間來避免沖撞。但我們要強調(diào)的是,“切換賬戶代碼” 和 “升級賬戶合約” 的本質(zhì)不同。升級合約通常是在可信、相同的錢包服務(wù)供應(yīng)商代碼上進行功能迭代,信任鏈清晰;而切換賬戶代碼則可能涉及不同甚至惡意的錢包供應(yīng)商,因此僅防止存儲沖突是不夠的,還需要深入考慮如何防范惡意代碼對賬戶關(guān)鍵數(shù)據(jù)的針對性破壞。
我們對如何解決此問題有一些自己的設(shè)想和方案,將在后續(xù)文章中詳細(xì)討論。
新的賬戶控制模式
“無鑰即無幣”(Not Your Keys, Not Your Coins) 是加密行業(yè)廣泛流傳的安全原則。在自托管的需求下,使用硬件冷錢包來保存私鑰則是一個良好的安全實踐,但這同時也使交易簽名變得復(fù)雜,用戶需隨身攜帶硬件設(shè)備,這讓許多用戶感到不便。
在 7702 升級之后,我們有了一個全新的賬戶控制方式:用戶可以將擁有“超級權(quán)限”的私鑰放置在硬件冷錢包中,同時使用基于合約邏輯的 “分級權(quán)限” 來控制賬戶上的資產(chǎn),這樣一來,用戶不僅擁有了更佳的安全實踐,同時也平衡了良好的錢包使用體驗。
簡潔與強大并存
7702 是一次對 EOA 的升級,“原生EOA” 所具有的功能在變成 “7702-EOA” 后保持不變。我們預(yù)測,對于已擁有 EOA 的用戶,在多數(shù)場景下仍會按照原有方式使用錢包,但在某些“原生 EOA” 無法實現(xiàn)的特殊場景下,“7702-EOA” 將提供更好的使用體驗:
1、批量調(diào)用合約
習(xí)慣使用 DEX 來做鏈上交易的 EOA 用戶可能會感受到,當(dāng)前的使用體驗并不十分理想,因為必須發(fā)送 approve 和 swap 兩筆交易才能實現(xiàn)代幣兌換,這不僅需要支付更多的 gas,而且有時還可能會因為 approve 交易的延遲而導(dǎo)致幣對的價格滑點增加。
“7702-EOA” 則允許通過合約調(diào)用的批量處理,將 approve 和 swap 合并為單筆交易,從而大幅節(jié)省 gas 支出。我們有一個通過批量調(diào)用合約以大幅節(jié)省 gas 的成功案例,將在后續(xù)文章中分享相關(guān)的統(tǒng)計數(shù)據(jù)和優(yōu)化成果。
2、Gas 抽象
在“原生 EOA”中,賬戶需擁有足夠原生代幣支付 gas,才能發(fā)起轉(zhuǎn)賬。這往往導(dǎo)致初次使用EOA的用戶面臨因原生代幣不足而無法轉(zhuǎn)賬 ERC-20 代幣的尷尬。“7702-EOA” 可以通過Gas 抽象實現(xiàn)由第三方替用戶發(fā)起交易并支付 gas。 這種 gas 代付的過程可以是無償或者有償?shù)?,用戶和第三方可靈活決定費用結(jié)算方式(使用原生代幣、ERC-20 代幣或是法幣),這極大優(yōu)化了鏈上交易體驗。
3、利用會話(Session) 來實現(xiàn)賬戶資產(chǎn)訪問權(quán)限的下放與隔離
在 “7702-EOA” 上用戶可以通過簽署 “會話(Session)” 來靈活的實現(xiàn)賬戶資產(chǎn)訪問權(quán)限的下放與隔離。用戶可以在每個會話里加入精細(xì)的控制條件如:有效時間、資產(chǎn)類別、訪問者地址和數(shù)量等限制。
會話能在保障賬戶安全的前提下提供便捷的權(quán)限管理,適用于定期轉(zhuǎn)賬或授權(quán) dApp 進行定投等多種場景。
4、在“優(yōu)化 Gas 開銷”上的考量
雖然優(yōu)化 Gas 開銷并非 7702 本身功能,但是我們?nèi)匀幌胍诮酉聛淼奈恼吕锇阉岢鰜碛懻?。因為我們知道,最小?gas 開銷是推進大面積采用的關(guān)鍵,絕大部分用戶對交易成本敏感,如果合約賬戶會消耗過高的 gas,許多用戶將會放棄使用合約而繼續(xù)停留在 “原生EOA” 賬戶的生態(tài)之中。
在后續(xù)的文章里,我們將討論如何設(shè)計 7702 賬戶合約以及相應(yīng)錢包服務(wù),在保證最小化 gas 成本的前提下實現(xiàn)上文提到的強大功能,以推動智能賬戶的廣泛采用。
總結(jié)
EIP-7702 標(biāo)志著以太坊生態(tài)對賬戶概念的重大轉(zhuǎn)變,它彌合了 EOA 與智能賬戶之間的差距。我們的觀點是,理想的智能賬戶應(yīng)在復(fù)雜性和功能性之間取得平衡——簡潔而強大。合約批量調(diào)用、Gas 抽象、基于會話的權(quán)限管理和 Gas 優(yōu)化等特性,不僅使“7702-EOA”更加實用,也使其成為 “原生EOA” 的有力替代。同時,謹(jǐn)慎的存儲管理和精細(xì)的賬戶控制模式對維持安全性、防止濫用也至關(guān)重要。
我們的最終目標(biāo)是為習(xí)慣使用 EOA 的用戶提供一個平滑的過渡路徑,并在相應(yīng)場景下釋放智能賬戶的全部優(yōu)勢。本系列的后續(xù)文章將深入探討以上提到的特性,以及我們對相關(guān)權(quán)衡取舍的看法。
以上就是以太坊EIP-7702提案是什么?EIP-7702對智能賬戶錢包帶來的影響的詳細(xì)內(nèi)容,更多關(guān)于EIP-7702的資料請關(guān)注腳本之家其它相關(guān)文章!
你可能感興趣的文章
-
2025年五項值得關(guān)注的以太坊升級優(yōu)化方向
2025年有哪些值得密切關(guān)注的以太坊改進提案(EIPs)和以太坊請求意見(ERCs)?今天腳本之家小編給大家盤點五項值得關(guān)注的以太坊升級內(nèi)容,其中一些確定在 Pectra 升級中上…
2025-01-06 -
以太坊為什么要進行升級?以太坊升級是好是壞?
早在3月以太坊坎昆升級開始啟動并完成,這也就意味著以太坊2.0時代的到來,本次以太坊升級是一次規(guī)劃已久的以太坊網(wǎng)絡(luò)重大升級,目的是使以太坊網(wǎng)絡(luò)具有更好的可擴展性、安…
2024-12-16 -
什么是The Merge升級?以太坊The Merge升級有空投嗎?
什么是The Merge升級?The Merge是對以太坊區(qū)塊鏈的重要升級,用權(quán)益證明(PoS)機制取代當(dāng)前的工作量證明(PoW)共識機制,那么,以太坊The Merge升級有空投嗎?下文將為大…
2024-11-25 -
以太坊為什么要升級?以太坊升級后將會有哪些新的功能?
以太坊2.0,也被稱為Eth2或?qū)庫o(Serenity),是對以太坊區(qū)塊鏈的一系列改進,旨在解決以太坊網(wǎng)絡(luò)的一些技術(shù)難題,如網(wǎng)絡(luò)擁堵、可擴展性、安全性和可持續(xù)性,那么,以太坊為…
2023-09-07 -
以太坊改用PoS共識算法有何利弊?以太坊升級是好是壞?
近期以太坊的升級是幣圈中最大的熱點之一,以太坊的測試網(wǎng)允許開發(fā)人員在主區(qū)塊鏈上發(fā)布更新之前進行試驗并進行必要的調(diào)整,很多投資者都想要知道以太坊改用PoS共識算法有何…
2023-08-14