Blockchain nói chung đã có rất nhiều cải tiến kể từ lúc Bitcoin lần đầu ra mắt vào năm 2009, tuy nhiên có một điều không thể thay đổi đó chính là việc mỗi blockchain cần sử dụng 1 native token để làm phí cho các giao dịch và Account Abstraction đã ra đời để giải quyết vấn đề đó. Vậy Account Abstraction là gì? Liệu Account Abstraction có đưa blockchain tới mass adoption trong tương lai?
Account Abstraction Là Gì?
Người dùng khi tương tác với các blockchain ở thời điểm hiện tại đều bắt buộc phải sỡ hữu một lượng native token nhất định để làm phí giao dịch. Lấy ví dụ là Ethereum, khi chúng ta muốn gửi một giao dịch hay khởi tạo một smartcontract thì trong ví phải có số dư ETH nhất định để trả phí.
Điều này đã giới hạn lượng người tiếp cận cũng như sử dụng các blockchain khi phải mất thêm một vài bước cũng như nắm giữ một số tiền vô nghĩa. Account Abstraction (AA) cũng ra đời từ đó để có thể giúp người dùng dễ dàng thanh toán phí giao dịch trên các mạng lưới bằng bất kỳ token nào.
Định nghĩa Account Abstraction
Account Abstraction là một đề xuất trên Ethereum nhằm tăng tính linh hoạt trong quản lý và hành vi của các tài khoản. Nó bao gồm các smartcontract đặc biệt được gọi là smart account, được sử dụng cho việc định nghĩa và quản lý ví của người dùng.
Các thành phần cấu tạo nên một Account Abstraction bao gồm:
- Externally Owned Accounts (EOA): Đây là một tài khoản hay còn được gọi là ví được quản lý bởi một một cặp public key (địa chỉ ví) và private key.
- Contract Accounts (CA): Đây là một tài khoản được triển khai dưới dạng smartcontract được quản lý bằng code thay vì private key.
Cơ Chế Hoạt Động Account Abstraction
Có 2 thành phần chính tham gia vào vận hành các Account Abstraction đó chính là:
- UserOperation mempool: Tương tự như mempool thông thường nhưng nó chứa các giao dịch được tạo bởi Contract Account..
- Bundler: Người chịu trách nhiệm trả phí ETH, sắp xếp giao dịch từ UserOperation mempool và đưa vào giao dịch vào block tương tự như 1 validator.
Cơ chế hoạt động của các Account Abstraction về cơ bản sẽ đi theo các bước như sau:
- Người dùng gửi giao dịch từ các Contract Account.
- Giao dịch được đưa vào vào UserOperation mempool.
- Bundler chọn các giao dịch từ UserOperation mempool và sắp xếp nó vào một Bundle transaction (giao dịch của Bundler).
- Bundler sẽ trả phí cho tất cả các giao dịch (dựa theo ERC-4337) đó bằng ETH và xếp Bundle transaction vào block.
Lịch Sử Phát Triển Của Account Abstraction
EIP-86
EIP-86 là đề xuất cải tiến Ethereum đầu tiên nhằm mục tiêu vào các Account Abstraction, được đề xuất vào năm 2016. Những thay đổi này sẽ cho phép người dùng xây dựng 'Contract Account' có thể được thiết kế để xử lý giao dịch bằng bất kỳ chữ ký hoặc phương thức nonce nào, thay vì được viết phần cứng để nâng cao các phương thức thông tin thường.
EIP-2938
Theo EIP-2938 là một nỗ lực nhằm tăng tính hiệu quả về gas cho các giao thức DeFi và đề xuất chia Account Abstraction thành 2 loại bao gồm:
- Single-tenant AA: Hỗ trợ ví hoặc các trường hợp sử dụng với số lượng người tham gia nhỏ.
- Multi-tenant AA: Hỗ trợ các dApp có số lượng người dùng lớn.
EIP-3074
EIP-3074 có một hướng tiếp cận hơi khác bằng cách thích nghi với các Externally Owned Accounts, thay vì cố gắng chuyển đổi các hợp đồng thông minh thành EOAs. "Sponsored transactions" là động lực chính đằng sau EIP này.
Hiện tài thì đề xuất EIP-3074 vẫn chỉ đang ở trong giai đoạn xem xét và chưa được thông qua bởi cộng đồng Ethereum.
EIP-4337
EIP-4337 đề xuất để loại bỏ toàn bộ EOA và thay thế chúng bằng smartcontract mà không ảnh hưởng đến bất kỳ thay đổi nào về thuận toán đồng thuận tuy nhiên nó cũng chưa được kích hoạt và chỉ đang ở trong giai đoạn phát triển.
Về cơ bản thì đề xuất EIP-4337 sẽ đưa Ethereum tiến thêm một bước tới mass adoption khi cho phép tất cả mọi người tiếp cận đến blockchain này mà không cần phải nắm giữ bất kỳ một lượng ETH nào.
Mục Đích Sử Dụng Của Account Abstraction
Social Recovery
Khi sử dụng các Externally Owned Accounts thông thường, người dùng bắt buộc phải lưu trữ private key của mình để có thể khôi phục ví. Còn đối với các Contract Account, người dùng chỉ đơn giản là đưa một số địa chỉ ví của những người đáng tin cậy vào whitelist, sau đó họ có thể truy cập vào ví của mình bằng sự trợ giúp của các địa chỉ ví đó.
Session Keys
Tính năng này cho phép các Contract Account cấp quyền truy cập một smartcontract bất kỳ truy cập vào ví của mình và sử dụng trong một khoảng thời gian nhất định hay sử dụng một lượng gas hoặc khối lượng giao dịch cố định.
Các tính năng khác
- Thanh toán gas bằng bất kỳ token nào.
- Tăng cường khả năng nấp cấp.
- Cho phép điện thoại trở thành ví phần cứng.
Các Ứng Dụng Nổi Bật Có Account Abstraction
OKX Wallet
OKX Web3 là một nhánh xây dựng các sản phẩm của sàn giao dịch OKX với nổi bật nhất đó chính là OKX Wallet. Mới đây thì OKX Wallet cũng đã nhá hàng về việc sẽ ra mắt sản phẩm với tên gọi Account Abstraction cho phép người dùng sử dụng tạo các Account Abstraction.
zkSync Lite
zkSync Lite hay còn gọi là zkSync 1.0 là phiên bản blockchain Layer 2 đầu tiên do đội ngũ sáng lập Matter Labs phát triển. Mạng lưới zkSync Lite phục vụ cho mục đích chính là thanh toán, vì vậy việc áp dụng Account Abstraction sẽ mang lại rất nhiều tiện ích cho người dùng.
Argent
Argent là dự án làm về mảng ví đầu tiên trên hệ sinh thái Starknet sử dụng một ngôn ngữ lập trình hoàn toàn mới. Argent cũng đã phát triển các tính năng liên quan tới Account Abstraction khi cho phép người dùng sử dụng Social Recovery để khôi phục ví của mình.
Tổng Kết
Trên đây là những thông tin cần thiết để hiểu về Account Abstraction là gì cũng như tiềm năng phát triển trong tương lai. Hak Research hy vọng thông qua bài viết này sẽ mang tới nhiều nội dung hữu ích phục vụ cho quá trình research của mọi người trong thị trường crypto.
💁 Disclaimer: Tất cả bài viết của Hak Research được cung cấp với mục tiêu là chia sẻ kiến thức và không được xem là lời khuyên đầu tư.
- Hướng Dẫn Chạy Node Spheron - October 8, 2024
- Hướng Dẫn Chạy Node 0G Labs (ZeroGravity) - September 2, 2024
- Hướng Dẫn Chạy Node Nillion - August 30, 2024