Account abstraction (AA) là gì? Công cụ hướng tới mass adoption

Account abstraction (AA) là gì? Liệu đây có phải công cụ dẫn tới crypto adoption? Cùng tìm hiểu trong bài viết hôm nay.

Với những người theo dõi lâu năm của Vitalik Buterin hay những người ủng hộ Ethereum sẽ không mấy xa lạ với cụm từ account abstraction trong thời gian gần đây. Đây là khái niệm được Vitalik nhắc tới rất nhiều, không chỉ vậy, Vitalik đã đề xuất một vài proposal dành riêng cho việc triển khai Account Abstraction và coi đây là long-term dream của các developers trên Ethereum.

Mới đây nhất, 2 dự án đang phát triển của mảng Layer 2 là StarkNet và zkSync đã đưa ra thông báo sẽ chạy mô hình native account abstraction của riêng họ.

Account abstraction là gì?

Account abstraction (AA) là một loại Ethereum Account, đề xuất AA này cho phép chuyển đổi các loại tài khoản thành các hợp đồng thông minh với logic riêng của chúng để có thể tự xác định thế nào là một giao dịch hợp lệ, trả phí giao dịch và thực hiện việc khởi tạo giao dịch.

Trong thuật ngữ ngành khoa học máy tính, các tài khoản đó được coi là đã được trừu tượng hoá (abstracted), từ đó dẫn đến cái tên Account abstraction.

Điều này có nghĩa là sẽ không còn trường hợp một tài khoản được sử dụng cho tất cả các mục đích. Giống như việc tách các “vật thể” đang nắm giữ token (account) ra khỏi “vật thể” được sử dụng để trao quyền/cho phép giao dịch các token (signer).

Việc này hướng tới việc giúp cho mỗi user có thể có một loại tài khoản phù hợp với nhu cầu cá nhân của họ.

Với những user muốn sử dụng thuật toán xác minh chữ ký khác ngoài ECDSA, sử dụng nhiều key để cấp quyền các giao dịch, thay đổi signer của tài khoản mỗi tuần, họ có thể viết một tài khoản riêng để thực hiện những điều đó.

Trên thực tế, khái niệm Account abstraction không phải quá mới, Vitalik đã đề cập đến AA từ đề xuất EIP-86 của Ethereum từ năm 2017, tuy nhiên do yêu cầu quá nhiều thay đổi từ protocol để thực hiện. Sau đó, Vitalik đã cập nhật thêm các bản cải tiến là EIP-2938 và phiên bản gần nhất là EIP-4337 để có thể dễ dàng triển khai hơn.

Hai dự án đã công bố chính thức áp dụng Account abstraction là các dự án Layer 2 StarkNet và zkSync phiên bản 2.0.

Ethereum Account là gì?

Ethereum Account được định nghĩa là một thực thể (entity) có số dư ETH và có thể thực hiện các giao dịch trên mạng lưới Ethereum. Các account có thể do người dùng điều khiển hoặc cũng có thể được triển khai dưới dạng hợp đồng thông minh.

Ethereum có 2 loại account chính:

  • Externally-owned Accounts (EOA): Kiểm soát bởi bất kì ai chỉ cần người đó nắm giữ private key.
  • Contract Accounts (CA): Là các hợp đồng thông minh được triển khai trên mạng lưới, kiểm soát bởi các dòng code.

Cả 2 loại tài khoản trên đều có những khả năng:

  • Nhận, giữ, gửi ETH và các loại token trên mạng Ethereum.
  • Tương tác với các smart contracts khác.