
ERC-4337 định nghĩa chuẩn Account Abstraction trên Ethereum, cho phép tạo “smart account” (tài khoản thông minh) hoạt động như một hợp đồng thông minh nhưng vẫn gửi giao dịch từ tài khoản EOA (Externally Owned Account) thông thường. Điều này mở ra khả năng phục hồi tài khoản, thanh toán gas bằng token ERC-20, giao dịch batch, và bảo mật đa chữ ký — mà không cần thay đổi giao thức Ethereum.

Vấn đề với tài khoản EOA truyền thống
Tài khoản EOA (Externally Owned Account) trên Ethereum đơn giản là một khóa riêng. Nếu mất khóa, không ai phục hồi được. Nếu muốn đa chữ ký, phải dùng hợp đồng thông minh phức tạp. Nếu muốn khôi phục qua email/SMS, không thể.
ERC-4337 giải quyết tất cả bằng cách cho phép tài khoản hợp đồng thông minh (smart contract) hoạt động như tài khoản EOA — gửi transaction bình thường, nhưng có thêm logic tùy chỉnh bên trong hợp đồng.
ERC-4337 hoạt động như thế nào?
Thay vì trực tiếp gửi transaction từ EOA, người dùng gửi UserOperation — một cấu trúc dữ liệu chứa thông tin giao dịch nhưng được xử lý qua hợp đồng EntryPoint:
- UserOperation: Người dùng ký một message chứa dữ liệu giao dịch (to, value, data, gas, nonce).
- Bundler: Thu thập nhiều UserOperations, đóng gói thành một transaction gửi đến EntryPoint.
- EntryPoint: Hợp đồng thông minh trên Ethereum (tại
0x...EntryPoint) xác minh signature, xử lý validation logic của smart account, và thực thi giao dịch. - Smart Account: Hợp đồng thông minh chứa custom logic — multisig, social recovery, session keys, gasless.

Thành phần cốt lõi
| Thành phần | Vai trò |
|---|---|
| UserOperation | Cấu trúc dữ liệu thay thế transaction EOA |
| Bundler | Node đặc biệt thu thập, đóng gói UserOperations |
| EntryPoint | Hợp đồng thông minh trên chain, gateway cho smart accounts |
| Paymaster | Thỏa thuận thanh toán — cho phép trả gas bằng token khác |
| Smart Account | Hợp đồng chứa custom logic xác thực và quản lý |
Paymaster — Trả gas bằng token
Paymaster là hợp đồng thông minh đóng vai trò “trợ lý thanh toán”. Nó cho phép smart account trả gas bằng USDC, DAI, hoặc bất kỳ ERC-20 token nào thay vì ETH. Quy trình:
- Smart account gọi
verifyPaymasterAndData()trên Paymaster. - Paymaster xác minh signature/token transfer.
- Paymaster chuyển đổi token → ETH và trả cho miner.
- EntryPoint thực thi giao dịch.
Điều này có nghĩa người dùng không cần giữ ETH để sử dụng DApp — chỉ cần token trong ví cùng loại.
Social Recovery — Phục hồi tài khoản
Tính năng được mong đợi nhất: phục hồi tài khoản khi mất khóa riêng. Cách hoạt động:
- Smart account được thiết lập với danh sách “guardian” (người phục hồi).
- Khi mất khóa, người dùng khởi tạo recovery request.
- Sau thời gian chờ (ví dụ 7 ngày), guardians ký xác nhận.
- Đủ số guardian xác nhận → khóa mới được cài đặt, tài khoản phục hồi.
Popular implementation: Safe (trước đây Gnosis Safe) với mô hình multisig + social recovery modules.
Session Keys — Phiên tạm thời
Session Key là khóa tạm thời do smart account cấp cho DApp trong một khoảng thời gian. Thay vì ký mỗi transaction, người dùng cấp một session key cho DApp:
- Thời hạn: 1 giờ, 24 giờ, hoặc tùy ý.
- Quyền hạn: Chỉ được phép gọi các hàm cụ thể (ví dụ: swap token, nhưng không thể chuyển toàn bộ tài sản).
- Revoke: Có thể hủy session key bất cứ lúc nào.
Ứng dụng: Game blockchain — cấp session key để player actions không cần ký mỗi lần. DeFi — cấp session để farming auto-compound.
Bundler — Đóng gói giao dịch
Bundler là node đặc biệt, khác với RPC node thông thường. Nhiệm vụ:
- Thu thập UserOperations từ mempool UserOperation mempool (không phải tx mempool).
- Đóng gói nhiều UserOperations thành 1 Ethereum transaction.
- Gửi đến EntryPoint contract trên chain.
- Handle
handleOps()call, return errors if validation fails.
Các Bundler phổ biến:
- Binance Smart Chain: Bundler tích hợp sẵn.
- Polygon: Biconomy, Stackup.
- Ethereum mainnet: Alchemy, Infura Bundler API, Stackup.
- Self-hosted: eth-infinitism/bundler trên GitHub.
Nhà phát triển bắt đầu với ERC-4337
Các công cụ phổ biến để xây dựng smart account:
| Tool | Mô tả |
|---|---|
| Safe (Safe Core Platform) | Smart account đa chữ ký, đã audit, có trên mainnet |
| Turnkey | MPC-based smart account, no private key |
| Privy | SDK embedding, social recovery, gasless |
| Stackup | Open-source Bundler và Paymaster |
| Alchemy | Developer platform với Bundler API và Paymaster |
Example tạo smart account đơn giản với Safe:
// Install Safe SDK
npm install @safe/core-sdk @safe/ethers-adapters
// Tạo smart account
const safeAccount = await Safe.create({
ethAdapter: new EthersAdapter({ signer }),
safeAddress: '0x...', // Existing Safe
})
// Giao dịch qua Bundler
const transaction = {
to: '0x...',
value: '0x0',
data: '0x...',
operation: 0,
}
const safeTransaction = await safeAccount.createTransaction({ transactions: [transaction] })
const signature = await safeAccount.signTransaction(safeTransaction)
// Send via Bundler
Kết luận
ERC-4337 là nâng cấp lớn nhất cho UX Ethereum từ trước đến nay. Smart account cho phép phục hồi tài khoản, trả gas bằng token, session keys, và batch transactions. Developers nên bắt đầu xây dựng với Safe SDK hoặc Turnkey, triển khai trên testnet (Sepolia) trước khi lên mainnet. User experience của Ethereum sẽ vượt qua CEX khi Account Abstraction được chấp nhận rộng rãi.
Tham khảo thêm: ERC-4337 Specification | Safe Documentation | Bundler GitHub
