以太坊使用兩種類型的帳戶:外部擁有帳戶(EOA)和合約帳戶。EOA由私鑰控制,並由個人或應用程式用來簽署交易。這些帳戶結構簡單,包括一個隨機數、餘額和相關的公鑰,但沒有內部程式碼。當用戶從EOA簽署交易時,以太坊虛擬機(EVM)驗證簽名並在執行交易之前扣除燃料費。相對而言,合約帳戶由程式碼控制,並不會自主發起行動。它們僅對由EOA觸發的交易作出回應。EVM處理合約邏輯並儲存狀態,但合約無法獨立簽署交易或在沒有外部輸入的情況下發起交易。
這種架構限制了以太坊帳戶的功能。由於所有活動必須源自外部擁有者帳戶(EOAs),而且每筆交易都需要有效的加密簽名,因此多重身份驗證、社交恢復和批量操作等高級功能需要複雜的變通方法。這些限制促使了帳戶抽象的概念——使所有帳戶可編程,並統一用戶控制和合約控制活動之間的區別。
賬戶抽象通過允許賬戶本身定義如何批准和執行操作來修改交易的驗證路徑。智能合約錢包可以定義自己的身份驗證邏輯,而不是強制要求來自特定私鑰的簽名。這種邏輯可能包括門檻簽名、硬體設備檢查或支出限制和時間鎖的規則。
帳戶抽象帶來的最具影響力的變化之一是將燃料費的支付與發送方脫鉤。傳統上,交易發起者必須用 ETH 來支付燃料費。在帳戶抽象下,驗證邏輯可以允許第三方—被稱為支付方—代替用戶支付燃料費。這開啟了新的可能性,例如為首次使用者贊助交易、實現無燃料費的 dApp 互動,或使用穩定幣或原生項目代幣支付費用。
此外,帳戶抽象引入了將多個操作捆綁成單一交易的能力。例如,使用者可以批准一個代幣、執行一次交換並轉移資金,一次性完成,減少所需的確認次數並改善用戶體驗。這些增強顯著減少了 dApp 互動中的摩擦,同時保持了安全性和可組合性。
ERC-4337,於2023年定案,代表了以太坊在帳戶抽象方面的里程碑。與早期提案如EIP-2938不同,ERC-4337不需要對以太坊的共識層進行更改。相反,它完全在現有的智能合約環境中運作,通過引入一個平行交易流,使用替代的內存池和特定的合約架構。
在 ERC-4337 下,交易被用戶操作取代——這些數據對象描述了所需的行動,但不提交到傳統的記憶池。這些用戶操作由專門的離線參與者稱為打包者來處理。打包者將多個用戶操作聚合成一個標準的以太坊交易,並將其提交到區塊鏈上。
在鏈上,一個名為 EntryPoint 的單例合約驗證並處理這些捆綁的操作。EntryPoint 與用戶智能賬戶互動,這些賬戶定義自己的驗證邏輯,並在驗證後委託執行交易。為了支付燃料費,賬戶可以選擇與支付管理者互動,支付管理者根據代碼中指定的條件贊助執行成本。
這個結構使得以去中心化、無需許可的方式支持帳戶抽象,而無需修改以太坊的基本協議。因此,開發者可以部署智能合約錢包,從用戶的角度看起來像是EOA,但提供更豐富的功能。
Solana 在賬戶抽象方面採取了根本不同的方法,通過在協議層面支持它。Solana 的賬戶不分為 EOA 和合約賬戶。相反,Solana 上的所有賬戶都是通用的存儲容器,可以存儲數據、被指派所有權以及與程序互動。
在Solana的模型中,行動的驗證嵌入在程序(智能合約)本身內。程序衍生地址(PDAs)是這個系統的一個關鍵元素。這些是從種子和程序生成的確定性地址,並沒有相關的私鑰。相反,它們由程序邏輯控制,並且在滿足適當條件時可以執行操作。
因為這種本地彈性,Solana 提供了多簽授權、帳戶委任和第三方費用支付等功能,而無需外部標準或模擬交易流程。像 Phantom 和 Solflare 這樣的錢包早期就整合了這些能力,展示了無縫的用戶體驗和可編程的資金控制。這與以太坊形成對比,後者的類似功能依賴於像 ERC-4337 和打包網絡這樣的覆蓋層。
以太坊使用兩種類型的帳戶:外部擁有帳戶(EOA)和合約帳戶。EOA由私鑰控制,並由個人或應用程式用來簽署交易。這些帳戶結構簡單,包括一個隨機數、餘額和相關的公鑰,但沒有內部程式碼。當用戶從EOA簽署交易時,以太坊虛擬機(EVM)驗證簽名並在執行交易之前扣除燃料費。相對而言,合約帳戶由程式碼控制,並不會自主發起行動。它們僅對由EOA觸發的交易作出回應。EVM處理合約邏輯並儲存狀態,但合約無法獨立簽署交易或在沒有外部輸入的情況下發起交易。
這種架構限制了以太坊帳戶的功能。由於所有活動必須源自外部擁有者帳戶(EOAs),而且每筆交易都需要有效的加密簽名,因此多重身份驗證、社交恢復和批量操作等高級功能需要複雜的變通方法。這些限制促使了帳戶抽象的概念——使所有帳戶可編程,並統一用戶控制和合約控制活動之間的區別。
賬戶抽象通過允許賬戶本身定義如何批准和執行操作來修改交易的驗證路徑。智能合約錢包可以定義自己的身份驗證邏輯,而不是強制要求來自特定私鑰的簽名。這種邏輯可能包括門檻簽名、硬體設備檢查或支出限制和時間鎖的規則。
帳戶抽象帶來的最具影響力的變化之一是將燃料費的支付與發送方脫鉤。傳統上,交易發起者必須用 ETH 來支付燃料費。在帳戶抽象下,驗證邏輯可以允許第三方—被稱為支付方—代替用戶支付燃料費。這開啟了新的可能性,例如為首次使用者贊助交易、實現無燃料費的 dApp 互動,或使用穩定幣或原生項目代幣支付費用。
此外,帳戶抽象引入了將多個操作捆綁成單一交易的能力。例如,使用者可以批准一個代幣、執行一次交換並轉移資金,一次性完成,減少所需的確認次數並改善用戶體驗。這些增強顯著減少了 dApp 互動中的摩擦,同時保持了安全性和可組合性。
ERC-4337,於2023年定案,代表了以太坊在帳戶抽象方面的里程碑。與早期提案如EIP-2938不同,ERC-4337不需要對以太坊的共識層進行更改。相反,它完全在現有的智能合約環境中運作,通過引入一個平行交易流,使用替代的內存池和特定的合約架構。
在 ERC-4337 下,交易被用戶操作取代——這些數據對象描述了所需的行動,但不提交到傳統的記憶池。這些用戶操作由專門的離線參與者稱為打包者來處理。打包者將多個用戶操作聚合成一個標準的以太坊交易,並將其提交到區塊鏈上。
在鏈上,一個名為 EntryPoint 的單例合約驗證並處理這些捆綁的操作。EntryPoint 與用戶智能賬戶互動,這些賬戶定義自己的驗證邏輯,並在驗證後委託執行交易。為了支付燃料費,賬戶可以選擇與支付管理者互動,支付管理者根據代碼中指定的條件贊助執行成本。
這個結構使得以去中心化、無需許可的方式支持帳戶抽象,而無需修改以太坊的基本協議。因此,開發者可以部署智能合約錢包,從用戶的角度看起來像是EOA,但提供更豐富的功能。
Solana 在賬戶抽象方面採取了根本不同的方法,通過在協議層面支持它。Solana 的賬戶不分為 EOA 和合約賬戶。相反,Solana 上的所有賬戶都是通用的存儲容器,可以存儲數據、被指派所有權以及與程序互動。
在Solana的模型中,行動的驗證嵌入在程序(智能合約)本身內。程序衍生地址(PDAs)是這個系統的一個關鍵元素。這些是從種子和程序生成的確定性地址,並沒有相關的私鑰。相反,它們由程序邏輯控制,並且在滿足適當條件時可以執行操作。
因為這種本地彈性,Solana 提供了多簽授權、帳戶委任和第三方費用支付等功能,而無需外部標準或模擬交易流程。像 Phantom 和 Solflare 這樣的錢包早期就整合了這些能力,展示了無縫的用戶體驗和可編程的資金控制。這與以太坊形成對比,後者的類似功能依賴於像 ERC-4337 和打包網絡這樣的覆蓋層。