# WTF is Account Abstraction？

By [Shan Scarlet](https://paragraph.com/@shanscarlet) · 2023-03-04

---

新消息：Account Abstraction （ERC-4337) 已經支援在Mainnet 上使用。

Account Abstraction

華語多譯作賬戶抽象，但我覺得最貼切的形容應該是賬戶自定義。

能做甚麼呢？怎樣運作的？

現在是哪個發展階段？將來有甚麼挑戰？

我將嘗試從信任自定義、支付自定義、EIP-4337結構、現在挑戰等幾個範疇去切入，讓大家有更深入的了解。

個人層面：

不用再要記住24字嘅seed phase，不用再擔心丢去或者被盜用錢包密匙，取而代之後用電郵 / social media 例如Fb Google Twitter / 電話 這些方式去sign in ethereum 或 connect wallet，整個使用體驗會更貼近web2。

![](https://storage.googleapis.com/papyrus_images/de76057e74f241f013e98e5cb5f3285fec8bc60d79ea96f74c4fcefb74e96181.png)

那麼，跟web2 帳戶分別在哪裡？

可以自己設定怎樣認證自己身份，而不是把認證權限交給平台決定。

![容不著你管 好吧](https://storage.googleapis.com/papyrus_images/d1db19134030550dafac1f09c9f7aed003d4db6c39e905f989d1ad5d0f6be94b.png)

容不著你管 好吧

Social Recovery (密碼信任自定義）

例如可以指定自己其他 HOT / COLD wallet / 家人或蜜友錢包 / 一些web2的電郵或社交媒體 / 手提電話用的Passkeys / 甚或是已經有你KYC身份的 CEX 都可以係一些認證方案；

商業應用層面，律師行，或由專人打電話來Facetime 驗證核實也都可以。

![互相看管大家](https://storage.googleapis.com/papyrus_images/7d69c9335394dbb214549f21394ddae03a37ce3bdba2e114f374f954b00ce49e.png)

互相看管大家

這都是密碼學自定義部份，你亦可以稱之為Multi-party Computation (MPC) Wallet。

支持社交恢復，自然也都支持 Multi-Sig 吧，他們很多時候是孖生兄弟。

再發展下去，你可以隨時按需要自定義那些 Dapp 要用上那種設定的 Multi-Sig；

或者是連接錢包和恢復錢包這兩種不同場景時，所需要的驗證方式。

![多簽錢包](https://storage.googleapis.com/papyrus_images/26381e07932aa005ac5fe217b52a84ab53a45794082ce3e2074c0d9fb0a2bf6d.png)

多簽錢包

(支付自定義）

可以用穩定幣stable coin來即時兌換及支付gas fee，native token幣價畢竟有時太波動。

另外，亦可以將所有approve, swap, stake 的交易 bundle 打包做一整筆交易處理，讓整個付款流程更流暢快捷。

(可升級自定義）

倘若合約錢包有代碼改動，用戶能親自批准合約升級，當然所有代碼必然是可以公開查閱。

或者，錢包恢復過來後，亦容許用户更改合約錢包public key，即公用地址。以防止錢包公用地址重複被scam。 #upgradeable

商業層面：(支付自定義）

容許由項目方代付gas

例：派消費卷，由政府贊助gas fee，藉此降低普通市民入場使用錢包的技術門檻。

甚至可以做Recurring Payment，例如訂閱付費服務、月繳數據費電費、分期付款等等

因為4337可以容許賬單發起人以智能合約形式發出付款要求；而付款人亦可以自設金額上限。

![準時找數啊喂](https://storage.googleapis.com/papyrus_images/62613ca8531172acda94ef1093e036cfda567f05dcf40f8ebcb3733fd3fc4976.png)

準時找數啊喂

大家會問，上面講的，

其實和Gnosis Safe、Torus、Argent 這些合約錢包很相似，那為甚麼要升級這一個新的ERC 呢？

![](https://storage.googleapis.com/papyrus_images/4c8fe88a33e5ef9f06fcb8e02ccfd49dde1e0246e52de5d97d5a7d3c962debbb.png)

就是因為本來以太坊，是沿用傳統保險箱和鎖匙的原理，如果要運行這麼複雜的自定義功能的話，必然牽涉到要off-chain relayers去處理。

那就是說，如果你離開了他們這幾個平台的話，要不錢包用不了，要不這些自定義功能都會被廢武功了。

今次的4337版本 ，因為同時兼具EOA和CA，所以無需要修改以太坊現有的共識機制之餘，亦允許用户以自己的EOA對自己的CA發起交易。

![以太坊上的主要兩種賬戶](https://storage.googleapis.com/papyrus_images/290476359df21b4f175688ec72d22546b7711f83d78c9e9f43f20c8cc9dcc661.png)

以太坊上的主要兩種賬戶

![時間圖（一）](https://storage.googleapis.com/papyrus_images/251e7a0949ca20cdb49aeb220117738593217a7bce26546549130ce8e0cec8b1.png)

時間圖（一）

![時間圖（二）](https://storage.googleapis.com/papyrus_images/34920d65ebd57f8b1c4f836a8dd2f08b89fb25dd5365458785d670a955119fde.png)

時間圖（二）

![時間圖（三）](https://storage.googleapis.com/papyrus_images/549729355848a61b8dc7d1daeb62127c40f6ec55a15dd78e1f7f09b5255dbfa4.png)

時間圖（三）

ERC-4337 的結構：

![ERC-4337 運作原理](https://storage.googleapis.com/papyrus_images/0644665e014dc90656b3fe64c42e932a9f3fecec85032db53f40790ffa7657cb.png)

ERC-4337 運作原理

1\. 用戶操作（UserOperations）：包含及提供nonce、gas limit、gas fee、initCode、數據、簽名等信息，讓Entry Point Contract 執行合約。肩負着EOA 發起交易的重任，將其交給 Bundlers。

2\. 綁定器（Bundlers)

收集用戶操作並將其提交給Entry Point Contract。這是V神參考了Flashbots 的結構，想要以Decentralized & Permissionless 形式把Bundlers 這基礎建設實踐出來。

3\. 入口點（Entry Point）

接收來自綁定器的用戶操作，驗證它們，支付gas fee 並執行合約。主要是是次Open Zeppelin 核實了的部份，作為寫入EVM 的入口合約。

4\. 錢包驗證（Wallet Contract）

可以指定它如何批准交易。除ECDSA簽名外，還可自定義使用BLS簽名、JWT身份驗證，甚至支援一些可以抗衡量子計算的簽名算法 (eg. Lamport, Winternitz)

甚至可以將簽名邏輯外判給更高密的加密服務供應商。（例如HSM)

![量子電腦攻擊](https://storage.googleapis.com/papyrus_images/f0387aa2c8d56aefc39917e47f850d8183770f6dbb7905876897b06457ea0bf0.png)

量子電腦攻擊

未來挑戰：

![](https://storage.googleapis.com/papyrus_images/4b613236fddbfc6b19e3e65536d2de69fc306897907eccd0ac45e68156fa764d.png)

1）我們這些單純的EOA錢包，暫時還沒有誘因誘使我們放棄EOA錢包上豐富的鏈上數據，而移民到一個全新零活動記錄的AA錢包。

唯一我想到的可能方案是，用舊錢包delegate 給新錢包吧？ 這亦需業界繼續討論。

2）Bundlers 是否做到夠分散及 Permissionless，亦取決於未來AA 上的用户量會否足夠，以提供更大經濟誘因吸引更多 Bundlers 一同參與建設，藉此減低惡意行為對整個交易過程的影響。這亦是關鍵所在。

現在支援ERC-4337的應用：

@Stackup\_fi 率先佈局了，他們已經有支持 ERC-4337 中Bundlers 的拼圖；

@zerodev\_app 則提供支持ERC-4337 合約認證錢包的SDK。

而ERC-4337 提案的其中一位作者@kristofgazso，亦表示他成立了 @pimlicoHQ 以貢獻 ERC-4337 中 Bundlers 及 Paymasters 這兩塊拼圖的基建。

![](https://storage.googleapis.com/papyrus_images/ad08fd584efdb8f882623f90a56181ac6afa101af68776f3dd733f7eb824e389.png)

本來zksync Era 是先天已經支持ERC-4337 protocol，所以大家都預計zksync wallet在實現AA會有較大優勢。

但AA 如此一來加速地在Mainnet實現，對整體以太坊錢包的使用體驗來說，實在是一大喜訊。

希望不久將來，我們會看到新錢包有更多優秀面貌，以吸引更多用戶加入。

對於賬戶自定義的分享，就到這裡。

歡迎大家收藏我第一篇的 Mirror NFT。

Twitter:

[**https://twitter.com/shan\_scarlet**](https://twitter.com/shan_scarlet)

---

*Originally published on [Shan Scarlet](https://paragraph.com/@shanscarlet/wtf-is-account-abstraction)*
