Tại sự kiện ETH Denver 2023 của các nhà phát triển Ethereum và Vitalik Butterin đã đề cập rất nhiều về một xu hướng mới và được xem là một yếu tố quan trọng cho sự phát triển trong tương lai của Ethereum và toàn ngành công nghiệp blockchain. Đó là Account Abstraction (EIP-4337).
Vậy Account Abstraction là gì? Hãy cùng Imota tìm hiểu trong bài viết dưới đây nhé!

Account Abstraction là gì?
Account abstraction (AA) là đề xuất nâng cấp nhằm mang lại trải nghiệm tốt cho người dùng khi sử dụng đồng thời tăng tính linh hoạt, logic cho các loại ví cá nhân. Đây là đề xuất mang tính đột phá của Ethereum founder có thể giúp thị trường thu hút được hàng triệu người dùng trong tương lai.
AA cụ thể là một tính năng của Ethereum giúp tách riêng phần xác thực và phần tính toán của một tài khoản. Thay vì lưu trữ private key của một tài khoản trên blockchain, Account Abstraction cho phép đăng ký một địa chỉ văn bản đơn giản để đại diện cho tài khoản đó.
Ethereum Account là một khái niệm trong blockchain Ethereum để định nghĩa các đối tượng lưu trữ dữ liệu và tài sản trên mạng Ethereum. Mỗi Ethereum Account có một địa chỉ định danh duy nhất (được biểu diễn bằng một chuỗi ký tự hexa dài 40 ký tự) và được lưu trữ trên blockchain Ethereum.
Có hai loại Ethereum Account trên Ethereum blockchain: External Owned Account (EOA) và Contract Account.

Externally Owned Account (EOA)
EOA có ba thuộc tính: số dư ETH, nonce và địa chỉ ví.
Một địa chỉ của EOA bao gồm một cặp private key và public key. Chủ sở hữu EOA sử dụng private key để xác nhận các tin nhắn và giao dịch. Khi EVM nhận được một giao dịch, nó xác nhận chữ ký hợp lệ. Các quy tắc xác thực giao dịch được mã hóa vào EVM. Điều này dẫn đến:
- Rủi ro bảo mật khi signer và EOA tồn tại trên cùng một thiết bị sẽ khiến việc giữ private key mang tính sống còn. Mất private key có nghĩa là tất cả tiền sẽ bị kẹt vĩnh viễn. Nếu private key bị đánh cắp, thì hacker có thể rút tiền từ tài khoản.
- Ví đã ký giao dịch cũng phải là ví thanh toán phí gas cho giao dịch, rất bất tiện khi dùng nhiều ví.
- Logic xác thực giao dịch được mã hóa cứng vào EVM – mọi chữ ký phải sử dụng cùng một sơ đồ chữ ký (ECDSA).
Contract Account (CA)
Trái với EOA, CA là tài khoản được kiểm soát sự logic của code thông qua smart contract, chúng không chứa private key, vì vậy không thể tự khởi tạo giao dịch. Chúng chỉ có thể nhận message từ người dùng (từ EOA) và thực hiện các câu lệnh đã được cài đặt trước đó.
Các dự án như Gnosis, Argent và Imota Wallet đã phát triển ví smart contract. Cấu tạo ví smart contract xác định được ai được phép ký giao dịch. Ví đa chữ ký như Gnosis Safe là một ví dụ dễ thấy về ví smart contract. Một trong những lợi ích của ví đa chữ ký là khả năng có nhiều chữ ký trên một tài khoản, thay vì một private key như trường hợp của EOA
Tuy ví smart contract được nâng cấp rất nhiều so với EOA, nhưng việc sở hữu cả hai loại tài khoản ở hiện tại sẽ mang đến nhiều rắc rối. Do hầu hết các ứng dụng Web3 được thiết kế cho EOA, ví smart contract cũng sẽ tốn nhiều phí gas hơn. Vì vậy, L2 với phí gas rẻ là nơi phù hợp để devs để thử nghiệm AA. Các devs đã đề ra nhiều phương án để giải quyết các khó khăn trong việc triển khai ví smart contract, nhưng chúng chưa thực sự tối ưu.
Mục đích của Account abstraction
Mục đích của việc triển khai AA là để cải thiện đáng kể trải nghiệm người dùng trong việc tương tác với blockchain Ethereum qua các ví, Dapps, DeFi. Account abstraction cũng đóng vai trò là một base layer trên Ethereum để quyết định khi nào một tài khoản có thể tự trả phí gas và hình thức trả phí gas diễn ra như nào.

Cụ thể, AA giúp giải quyết các hạn chế ngăn chặn sự phát triển trong một số lĩnh vực quan trọng:
- Tạo ví hợp đồng thông minh sử dụng các loại xác minh chữ ký khác ngoài ECDSA (Schnorr, BLS…).
- Tạo ví hợp đồng thông minh bao gồm các tính năng như xác minh multisig, khôi phục xã hội (social recovery), giảm nguy cơ mất hoặc bị đánh cắp tài sản.
- Các hệ thống bảo vệ quyền riêng tư như tornado.cash.
- Cải thiện hiệu quả sử dụng phí gas của các DeFi protocols bằng cách ngăn chặn các giao dịch không đáp ứng điều kiện cao cấp được đưa vào chuỗi.
- Giúp người dùng có thể sử dụng một loại token khác để trả phí thay vì bắt buộc phải sử dụng ETH (ví dụ: chuyển đổi token đó thành ETH cần để trả phí gas ngay trong giao dịch theo thời gian thực).
Một trong những ví dụ dễ hiểu nhất của Account abstraction có thể được hiểu như sau.
Giả sử người dùng muốn chuyển token sang muốn chiếc ví mới vì lí do bảo mật. Sau đó, người dùng vô tình gửi toàn bộ số ETH tới ví mới trước. Điều này có nghĩa không có ETH, ví cũ sẽ không thể chuyển các token còn lại.
Tất nhiên, cách đơn giản nhất vẫn có thể chỉ đơn giản gửi 1 phần ETH lại địa chỉ ví cũ, lãng phí chút thời gian và phí gas. Trường hợp này nghe đơn giản nhưng đã có nhiều người dùng gặp phải, AA có thể đem đến cho người dùng giải pháp “biến” chiếc vi thành smart contract wallet và cho phép sử dụng các token có sẵn trong ví làm phí gas.
Smart contract wallet, hay còn gọi là ví hợp đồng thông minh, là một loại tài khoản blockchain được triển khai, quản lý on-chain qua các hợp đồng thông minh thay vì private key. Loại ví này cung cấp các giải pháp giảm thiểu rủi ro lập trình và thân thiện với người dùng với các tính năng như bảo mật nhiều chữ ký (multi-signature security), khôi phục xã hội (social recovery), cho phép/chặn các địa chỉ ví khác, giao dịch theo “lô” (batched transactions), đóng băng ví...
Các loại ví smart contract đã xuất hiện khá nhiều cho tới thời điểm hiện tại và đã có lúc được coi như một “trend” mới. Các loại ví smart contract nổi bật nhất phải kể đến ví Argent, Gnosis Safe, ConsenSys Multisig. Nổi bật gần đây nhất là ví Imota Wallet, cho phép người dùng tạo tài khoản AA với bảo mật đa chữ ký BLS, hỗ trợ on/off-ramp nhanh chóng.

Cơ chế hoạt động của Account Abstraction
Khi người dùng muốn thực hiện một giao dịch, họ sẽ cung cấp địa chỉ này để xác định tài khoản đích của giao dịch.
Người dùng sẽ gửi các messages một cách off-chain được gọi là UserOperation, sau đó sẽ được thu thập và đóng gói hàng loạt thành một giao dịch bởi người đề xuất khối qua module bundler.
Người đề xuất khối có trách nghiệm lọc các hoạt động để đảm bảo rằng chỉ chấp nhận các hoạt động có trả phí. Sẽ có một mempool riêng cho các UserOperation và các node được kết nối với mempool này để thực hiện xác thực chuyên dụng cho ERC-4337 để đảm bảo một UserOperation bất kì luôn được trả phí trước khi chuyển đi.
Tính năng này giúp cải thiện tính bảo mật của tài khoản, vì không còn cần lưu trữ private key trên blockchain. Nó cũng giúp giảm tải cho nút mạng bằng cách giảm số lượng dữ liệu cần được lưu trữ. Tuy nhiên, Account Abstraction còn đang trong giai đoạn phát triển và chưa được triển khai hoàn toàn trên Ethereum.

Tổng kết
Account abstraction từ lâu đã là giấc mơ chung của cộng đồng các nhà phát triển Ethereum. Thay vì các dòng EVM code chỉ được sử dụng để triển khai logic của các ứng dụng/dapps, nó cũng có thể được sử dụng để triển khai logic của các ví người dùng cá nhân.
Điều này có thể mở ra cánh cửa cho sự sáng tạo trong cách thiết kế ví, mang đến cho người dùng nhiều tính năng quan trọng mới mà không cần quá phụ thuộc vào private key nữa. Cùng chờ đón những sự phát triển của AA nói chung và ERC-4337 nói riêng trong tương lai!
Theo dõi Imota Blog để cập nhật tin tức và kiến thức crypto.
Imota - Ứng dụng đầu tư Blockchain cho mọi người. Với ứng dụng Imota, bạn có thể đầu tư cho các dự án lớn với số vốn nhỏ chỉ qua vài nút chạm màn hình. Bạn có thể học hỏi kiến thức về Blockchain một cách đơn giản, trực quan. Bạn có thể vừa dạo chơi, vừa nhận những phần thưởng khủng trong hệ sinh thái cùng rất nhiều điều thú vị khác.
Tham gia cộng động Imota ngay để cập nhật những thông tin, dự án mới nhất.
Facebook: https://www.facebook.com/imota.fanpage
