Channel logo
MarginATM
Save
Copy link

Account Abstraction là gì? Giải pháp toàn diện mới cho tài khoản blockchain

Xuất hiện lần đầu tiên từ năm 2016 và trở nên bùng nổ vào năm 2022, khái niệm về account abstraction đã mở ra một kỷ nguyên mới cho các ví tiền điện tử trên blockchain, giúp nó trở nên linh hoạt và bảo mật hơn. Vậy account abstraction là gì?
Avatar
Vy Bùi
Published Aug 20 2024
Updated Aug 27 2024
11 min read
account abstraction là gì

Account Abstraction là gì?

Account abstraction là ý tưởng nhằm giúp tài khoản trên blockchain hoạt động như một hợp đồng thông minh, biến ví tiền điện tử thông thường thành một ví tiền điện tử có thể lập trình để thực hiện các chức năng phức tạp hơn như thực thi hợp đồng thông minh, xác định giao dịch hợp lệ, tự động trả phí giao dịch và khởi tạo giao dịch…

Account abstraction hiện nay được triển khai theo bản đề xuất EIP-4337, hướng đến việc tách rời logic xử lý của tài khoản (account) với giao thức cốt lõi của blockchain. Điều này cho phép người dùng tự ý tùy chỉnh tính năng và cách thức hoạt động của tài khoản, mà không bị giới hạn bởi các quy tắc cố định của mạng lưới.

Với account abstraction, mỗi người đều có thể có một loại tài khoản phù hợp với nhu cầu cá nhân của mình.

account abstraction
Khái niệm Account Abstraction

Khái niệm account abstraction lần đầu tiên xuất hiện vào khoảng năm 2016, trong bối cảnh cộng đồng Ethereum bắt đầu thảo luận về việc cải thiện sự linh hoạt và khả năng tùy chỉnh của các tài khoản trên blockchain.

Tuy nhiên, account abstraction chỉ trở nên rõ ràng và nhận được nhiều sự quan tâm hơn khi đề xuất EIP-86 được đưa ra vào năm 2017, mở đường cho EIP-4337 vào năm 2021 và sự bùng nổ của account abstraction trong 2022.

Mỗi EIP đưa ra một cách triển khai account abstraction khác nhau. Tại thời điểm viết bài, cách triển khai trong EIP-4337 là khả thi và tối ưu nhất, phần lớn các dự án trên thị trường đều sử dụng cách tiếp cận của EIP-4337. Vì vậy, account abstraction được trình bày trong bài viết này cũng dựa trên bản đề xuất EIP-4337.

advertising

Hạn chế của các loại tài khoản trên Ethereum

Tài khoản Ethereum là một thực thể có khả năng quản lý tài sản (như token và NFT) và tương tác với hợp đồng thông minh trên mạng Ethereum. Mỗi tài khoản có một địa chỉ tương ứng duy nhất.

Trước kia, tài khoản Ethereum có hai loại chính: Externally Owned Accounts (EOA) và Contract Accounts (CA). Mỗi loại tài khoản đều có cách hoạt động riêng và những hạn chế nhất định.

tài khoản ethereum
Ban đầu, Ethereum có hai loại tài khoản là EOA và CA

Externally Owned Account (EOA): Tài khoản do người dùng sở hữu

Externally Owned Account (EOA) là loại tài khoản do người dùng kiểm soát thông qua cặp khóa (key) gồm private key và public key. EOA có thể được sử dụng như một ví tiền điện tử thông thường, thực hiện được các chức năng cơ bản như gửi nhận token, thực hiện giao dịch và tương tác với hợp đồng thông minh trên Ethereum.

Tuy nhiên, EOA không có khả năng chứa các logic hay code phức tạp như hợp đồng thông minh. Do đó, nó giới hạn khả năng tương tác với Ethereum cho người dùng, ví dụ như gây khó khăn trong việc thực hiện hàng loạt giao dịch, hoặc yêu cầu người dùng phải luôn có số dư ETH để trả phí gas.

Bên cạnh đó, EOA được kiểm soát bằng private key. Trong trường hợp bị mất private key, người dùng sẽ không thể truy cập tài khoản, điều này cũng đồng nghĩa với việc đánh mất toàn bộ tài sản lưu trữ trong tài khoản đó.

externally owned account eoa
Tài khoản EOA được quản lý bằng private key

Contract Accounts (CA): Tài khoản hợp đồng

Contract Accounts (CA) là loại tài khoản được kiểm soát bằng mã lập trình (code), còn được gọi là hợp đồng thông minh. Một khi hợp đồng đã được triển khai, các quy tắc này không thể bị thay đổi hay tùy chỉnh.

Khác với EOA, CA không có private key mà sẽ hoạt động theo các quy tắc và logic đã được thiết lập sẵn. Do đó, CA không thể tự khởi tạo giao dịch mà chỉ có thể gửi giao dịch để phản hồi lại giao dịch đã nhận.

Ví dụ: Bạn swap USDT lấy ETH. Điều này đồng nghĩa với việc:

  • Bạn sẽ thực hiện một lệnh gọi giao dịch gửi token USDT từ EOA (ví) đến tài khoản CA (giao thức swap) để lấy token ETH.
  • Lúc này, CA sẽ nhận giao dịch và gửi số lượng ETH tương ứng đến địa chỉ EOA theo logic được lập trình sẵn.

Điều này cho phép CA thực hiện các nhiệm vụ phức tạp, nhưng lại thiếu tính linh hoạt vì chỉ có thể thực hiện các hành động đã được lập trình và không thể tùy chỉnh theo nhu cầu tức thời của người dùng.

Nhìn chung, cả hai loại tài khoản trên Ethereum đều có những ưu điểm và hạn chế riêng, và account abstraction là giải pháp nhằm khắc phục những hạn chế này.

Cách hoạt động của Account Abstraction

Account abstraction giúp loại bỏ những hạn chế của EOA và CA bằng cách hợp nhất chúng, cho phép người dùng lập trình các biện pháp bảo mật linh hoạt hơn và cải thiện trải nghiệm sử dụng vào tài khoản.

Để triển khai account abstraction, EIP-4337 đã giới thiệu một hệ thống mới để quản lý các giao dịch và tương tác của tài khoản mà không cần phải thay đổi giao thức cốt lõi của Ethereum. Các thành phần chính trong hệ thống này bao gồm:

  • User Operation (UserOp): Các dữ liệu về hành động hoặc giao dịch mà người dùng muốn thực hiện, ví dụ như gửi ETH, gọi một chức năng hợp đồng thông minh... UserOp được gửi đến một hệ thống mempool riêng biệt thay vì gửi trực tiếp lên mạng Ethereum.
  • Bundler: Thực thể chịu trách nhiệm thu thập các UserOp từ mempool chuyên biệt, tổng hợp chúng thành một giao dịch duy nhất, sau đó gửi giao dịch này lên blockchain Ethereum để xử lý. Bundler có vai trò tương tự như các thợ đào hoặc validator trong mạng Ethereum, nhưng thay vì xử lý các giao dịch thông thường, họ xử lý các UserOp.
  • Mempool của UserOp: Nơi các UserOp được lưu trữ tạm thời sau khi được gửi từ người dùng. Đây là một mempool riêng biệt, không chung với mempool của các giao dịch Ethereum thông thường trên mạng lưới. Từ mempool này, các bundler sẽ lựa chọn các UserOp để xử lý.
cách hoạt động account abstraction
Các thành phần và cách hoạt động của Account Abstraction

Quy trình hoạt động của account abstraction sẽ diễn ra như sau:

Người dùng khởi tạo giao dịch và tạo ra một UserOp, sau đó ký bằng private key để gửi vào mempool của UserOp.

Bundler sẽ theo dõi mempool, lựa chọn các UserOp hợp lệ để gói chúng thành một giao dịch duy nhất và gửi lên mạng Ethereum. Ở bước này, bundler sẽ ưu tiên chọn những UserOp trả phí cao hơn, tương tự như cách hoạt động của validator trên mạng lưới.

Khi giao dịch từ bundler được chấp nhận và xử lý bởi mạng lưới Ethereum, các hành động tương ứng trong từng UserOp sẽ được thực hiện. Các tài khoản CA liên quan sẽ thực thi các logic đã được lập trình trước, như chuyển tiền, gọi hợp đồng thông minh khác, thực hiện các tác vụ phức tạp khác…

Lưu ý: Trong đề xuất EIP-4337, người dùng có thể trả phí giao dịch bằng các loại token khác ngoài ETH tùy theo nhu cầu và lập trình của họ. Bundler sẽ nhận các token này và sau đó thanh toán phí gas trên mạng Ethereum bằng ETH. Điều này tạo ra sự linh hoạt trong việc quản lý phí giao dịch.

Ứng dụng của Account Abstraction

Account abstraction được triển khai đầu tiên trên mạng Ethereum, sau đó các mạng blockchain khác như Polygon Chain, Solana, Avalanche, Arbitrum, Starknet… cũng dần tích hợp công nghệ này để mang lại sự linh hoạt và khả năng tùy chỉnh cao hơn cho các tài khoản trên mạng lưới.

Nhờ đó mở ra nhiều ứng dụng giúp nâng cao trải nghiệm người dùng một cách đáng kể.

hệ sinh thái account abstraction
Hệ sinh thái Account Abstraction. Nguồn: CryptoRank.io

Ví thông minh (Smart Wallet)

Ví thông minh (smart wallet hay smart contract wallet) là loại ví được triển khai và quản lý on-chain qua hợp đồng thông minh, thay vì thủ công qua private key. Đây cũng là ứng dụng phổ biến nhất của account abstraction.

Với smart wallet, người dùng có thể tùy chỉnh mọi tính năng của ví dựa trên nhu cầu, có thể kể đến như:

  • Cơ chế đa chữ ký (multi-sig), phục hồi tài khoản qua mạng xã hội (social recovery) nhằm nâng cao bảo mật, ngăn chặn việc bị đánh cắp tài sản.
  • Tài trợ phí hoặc thanh toán phí gas bằng token khác ngoài ETH.
  • Tự động hóa các giao dịch phức tạp ví dụ như chặn giao dịch, thực hiện giao dịch theo thời gian hoặc giá trị cụ thể, tham gia DeFi (staking, lending…).
  • Tích hợp với hệ thống bảo vệ quyền riêng tư như Tornado Cash.

Một số smart contract wallet phổ biến trên thị trường hiện nay bao gồm Argent, Gnosis Safe, Holdstation, Rhinestone, Braavos…

Cơ sở hạ tầng (Infrastructure)

Ứng dụng cơ sở hạ tầng của account abstraction có thể được chia thành ba mảng:

  • Bundler: Các dự án chuyên cung cấp dịch vụ là bên thu thập giao dịch UserOp để gửi lên blockchain, đồng thời đảm bảo các UserOp được xử lý một cách an toàn và hiệu quả. Một số dự án nổi bật trong mảng này bao gồm Alchemy, Biconomy, Gnosis Safe…
  • Paymaster: Các dự án chịu trách nhiệm thanh toán phí giao dịch (gas) thay cho người dùng, cho phép người dùng trả phí gas bằng các loại token khác ngoài ETH. Các dự án Paymaster thường sẽ tích hợp cả Bundler để đảm bảo giao dịch được xử lý kịp thời. Nổi bật trong mảng này có Alchemy, Biconomy, Gnosis Safe, Stackup…
  • Wallet SDK: Các dự án cung cấp bộ công cụ phần mềm giúp các nhà phát triển tích hợp các tính năng của account abstraction vào ví điện tử, đảm bảo về tính bảo mật, khả năng tương thích với nhiều blockchain và dApp, khả năng mở rộng và tùy chỉnh cao. Nổi bật trong mảng này có Alchemy, Biconomy, Thirdweb…

Gaming, Social Media dApp

Các dự án game blockchain có thể tích hợp công nghệ account abstraction, cho phép người chơi tùy chỉnh các tính năng như duy trì phiên hoạt động, tự động quản lý, mua bán và chuyển đổi vật phẩm, thanh toán phí bằng token trong game, tham gia vào các sự kiện kiếm thưởng, quản lý bang hội…

Một số game blockchain tích hợp account abstraction nổi bật bao gồm Parallel, Bibliotheca DAO…

Ngoài ra, các dự án social media cũng tích hợp account abstraction, cho phép người dùng đăng nhập ví bằng tài khoản mạng xã hội như gmail, facebook…, kiểm soát quyền truy cập (bình luận, thích, đăng lại…) vào nội dung do họ tạo ra như hình ảnh, video, bài viết…

Dự án điển hình trong mảng này có thể kể đến như Lens, Farcaster, Paragraph…

Đọc thêm: Công cụ on-chain là gì? 5 công cụ on-chain phổ biến trong Crypto

RELEVANT SERIES