Account abstraction (AA) là gì? Tính năng mới hướng tới mass adoption

Trong ngữ cảnh của công nghệ blockchain, “Account Abstraction” (AA) đề cập đến một khái niệm quan trọng nhằm cải thiện trải nghiệm người dùng cùng với việc tăng cường tính linh hoạt và logic cho các loại ví cá nhân. Đây là một ý tưởng đột phá đã được đưa ra bởi người sáng lập Ethereum, và có tiềm năng đóng góp vào việc tạo điều kiện thuận lợi cho việc áp dụng tiền điện tử trong thực tế.

Account Abstraction là một bước tiến đáng chú ý về cách chúng ta quản lý và tương tác với các tài khoản trên blockchain. Nó mang đến tính năng thông minh hơn và tạo điều kiện cho việc tận dụng các ứng dụng và dịch vụ thông qua các ví cá nhân. Điều này có tiềm năng thúc đẩy sự tiếp cận và sử dụng tiền điện tử, tạo điều kiện thuận lợi cho việc tiếp cận của hàng triệu người dùng trong tương lai.

Cùng daututienao tìm hiểu Account abstraction (AA) là gì? Tính năng mới hướng tới mass adoption qua bài viết dưới đây

Account abstraction là gì?

Account abstraction (AA) là một khái niệm quan trọng trong môi trường Ethereum, đề xuất để chuyển đổi các loại tài khoản thành các hợp đồng thông minh có logic riêng để tự xác định giao dịch hợp lệ, thu phí và thực hiện việc khởi tạo giao dịch.

Trong lĩnh vực khoa học máy tính, các tài khoản được trừu tượng hóa, từ đó tạo nên thuật ngữ “Account Abstraction”. Điều này mang ý nghĩa rằng mỗi tài khoản không chỉ đơn thuần là một người dùng, mà có thể thể hiện nhiều chức năng khác nhau. Tương tự như việc tách rời vai trò giữ token (tài khoản) và vai trò xác minh/chấp nhận giao dịch (người ký).

Khái niệm này mục tiêu là để mỗi người dùng có thể tùy chỉnh tài khoản phù hợp với nhu cầu riêng của họ. Những người muốn sử dụng thuật toán xác thực chữ ký khác ngoài ECDSA, sử dụng nhiều khóa để xác thực giao dịch, thay đổi người ký của tài khoản định kỳ, có thể tạo tài khoản riêng để thực hiện những việc đó.

Mặc dù ý tưởng Account Abstraction không mới, Vitalik Buterin đã đề cập đến nó từ năm 2017 thông qua EIP-86 của Ethereum. Tuy nhiên, việc thực hiện yêu cầu nhiều thay đổi đối với giao thức. Để tiếp cận dễ dàng hơn, ông đã đưa ra các cải tiến như EIP-2938 và phiên bản gần đây là EIP-4337.

Hai dự án đã chính thức áp dụng Account Abstraction là StarkNet và phiên bản 2.0 của zkSync, đều là các dự án Layer 2 trong hệ sinh thái Ethereum. Điều này cho thấy sự phát triển của khái niệm này và tầm quan trọng của nó trong việc nâng cao khả năng sử dụng và tích hợp trong ngành công nghiệp blockchain.


Xem thêm: Zksync là gì? Đánh giá tiềm năng dự án Zksync


Ethereum Account là gì?

Ethereum Account là một khái niệm quan trọng trong hệ thống Ethereum, đại diện cho các thực thể có số dư ETH và khả năng thực hiện giao dịch trên mạng lưới. Các tài khoản này có thể được kiểm soát bởi người dùng hoặc triển khai dưới dạng các hợp đồng thông minh.

Trong Ethereum, có hai loại tài khoản chính:

  1. Externally-owned Accounts (EOA): Loại tài khoản này được kiểm soát bởi người dùng thông qua việc nắm giữ private key. Người dùng có khả năng tạo và ký giao dịch từ các tài khoản EOA. Giao dịch giữa các tài khoản EOA thường liên quan đến việc chuyển ETH hoặc token.
  2. Contract Accounts (CA): Đây là các tài khoản của các hợp đồng thông minh được triển khai trên mạng Ethereum. Chúng được kiểm soát bằng các đoạn mã logic và có thể thực hiện nhiều hoạt động khác nhau, bao gồm giao dịch token, tạo hợp đồng mới và thực hiện hành động theo logic được định sẵn.

Cả hai loại tài khoản đều có các khả năng cơ bản:

  • Nhận, lưu giữ và gửi ETH và token trên mạng Ethereum.
  • Tương tác với các hợp đồng thông minh khác.

Có một số điểm khác biệt cơ bản giữa hai loại tài khoản:

  • EOA có thể được tạo dễ dàng và miễn phí, trong khi việc tạo một Contract Account đòi hỏi một khoản phí do sử dụng bộ nhớ mạng.
  • EOA có thể khởi tạo các giao dịch trực tiếp, trong khi Contract Account chỉ có thể thực hiện giao dịch khi nhận được giao dịch từ bên ngoài.
  • Giao dịch từ EOA tới Contract Account có thể kích hoạt mã code thực thi nhiều hành động khác nhau, bao gồm tạo hợp đồng mới và thực hiện các hoạt động tùy chỉnh.

Nhìn chung, cả hai loại tài khoản đều có bốn đặc tính chung:

  1. Nonce: Số lượng giao dịch đã được gửi từ tài khoản, đảm bảo tính duy nhất của giao dịch.
  2. Balance: Số dư ETH tài khoản sở hữu.
  3. codeHash: Mã băm tham chiếu đến mã của tài khoản Contract trên Ethereum Virtual Machine (EVM).
  4. storageRoot: Mã băm tham chiếu đến dữ liệu được lưu trữ trên tài khoản.

Trong thời điểm hiện tại, EOA là loại tài khoản phổ biến và tương tác nhiều nhất với người dùng. Mỗi ví EOA được tạo ra từ một cặp khóa mật mã: khóa công khai và khóa bí mật. Cặp khóa này cho phép người dùng kiểm soát tài sản nằm trong tài khoản của họ và ký giao dịch.

Tuy nhiên, vấn đề về việc mất khóa bí mật hoặc quyền sở hữu bị chiếm đoạt đã từng xuất hiện trong quá khứ. Vì vậy, Ethereum đang phát triển giải pháp Account Abstraction để giải quyết vấn đề này và nâng cao tính bảo mật và tiện lợi trong việc quản lý tài khoản trên mạng Ethereum.

Mục đích của Account abstraction

Mục tiêu chính của việc triển khai Account Abstraction (AA) là cải thiện trải nghiệm người dùng khi tương tác với blockchain Ethereum thông qua ví, DApps, và DeFi. Đây cũng là một lớp cơ sở (base layer) trong hệ thống Ethereum để quyết định khi nào một tài khoản có thể tự trả phí gas và quy trình trả phí gas diễn ra như thế nào.

Việc triển khai AA giúp giải quyết những hạn chế đang ngăn cả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 đa dạng xác minh chữ ký: Account Abstraction cho phép tạo ví hợp đồng thông minh sử dụng các phương pháp xác minh chữ ký khác ngoài ECDSA, như Schnorr hay BLS. Điều này giúp mở ra khả năng tạo ra các ví hợp đồng thông minh với tính năng bảo mật cao hơn và khả năng xác minh đa dạng.
  • Tạo ví hợp đồng thông minh với tính năng bảo vệ quyền riêng tư: AA cho phép tạo ra các ví hợp đồng thông minh có tính năng như xác minh đa chữ ký (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. Điều này nâng cao tính bảo mật và tiện lợi trong việc quản lý tài khoản.
  • Bảo vệ quyền riêng tư: Account Abstraction hỗ trợ các hệ thống bảo vệ quyền riêng tư như tornado.cash, giúp tăng tính ẩn danh và bảo mật trong giao dịch.
  • Cải thiện hiệu suất sử dụng phí gas trong DeFi: AA có khả năng 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, làm tăng hiệu quả sử dụng phí gas của các giao thức DeFi. Điều này giúp giảm thiểu sự lãng phí trong việc trả phí gas.
  • Sử dụng token khác để trả phí gas: AA cho phép người dùng sử dụng các token khác thay vì bắt buộc phải sử dụng ETH để trả phí gas. Điều này mang lại sự linh hoạt và tạo điều kiện thuận lợi hơn cho người dùng.

Một ví dụ minh họa về AA có thể là như sau:

Khi người dùng muốn chuyển token sang một ví mới vì lí do bảo mật, việc gửi toàn bộ số ETH tới ví mới có thể xảy ra. Trong trường hợp này, ví cũ sẽ không thể chuyển các token còn lại vì thiếu ETH. Account Abstraction có thể giải quyết vấn đề này bằng cách biến ví trở thành một ví hợp đồng thông minh và cho phép sử dụng các token trong ví để trả phí gas.

Ví hợp đồng thông minh, hay còn được gọi là smart contract wallet, là một loại tài khoản blockchain được triển khai và quản lý thông qua các hợp đồng thông minh. Loại ví này mang lại tính bảo mật cao hơn và có nhiều tính năng như bảo vệ đa chữ ký, khôi phục xã hội, quản lý địa chỉ ví khác, giao dịch hàng loạt, và nhiều tính năng khác.

Ví dụ: Argent, Authereum, Gnosis Multisig, Gnosis Safe, ConsenSys Multisig… là các ví smart contract nổi bật đã xuất hiện trên thị trường và đang tạo nên một xu hướng mới trong việc quản lý tài sản và giao dịch trên blockchain.

Cách Account abstraction hoạt động

Theo giới thiệu từ EIP-2938 trên trang chủ của Ethereum, việc triển khai EIP-2938 có thể được thực hiện thông qua việc thay đổi giao thức với một loại giao dịch Account Abstraction (AA) mới, yêu cầu thêm hai mã opcode mới là NONCE và PAYGAS; cùng với việc điều chỉnh các quy tắc của mempool và mở rộng chức năng để hỗ trợ các ứng dụng nâng cao.

Tuy nhiên, phương pháp này tương đối phức tạp, và do đó Vitalik đã giới thiệu phiên bản phát triển ERC-4337 để đạt được Account Abstraction mà không cần thay đổi giao thức.

Trong phiên bản này, người dùng sẽ gửi các thông điệp (messages) ngoại tuyến (off-chain), được gọi là UserOperation. Sau đó, những UserOperation này sẽ được thu thập và đóng gói thành một giao dịch lớn bởi người đề xuất khối thông qua module bundler.

Người đề xuất khối có trách nhiệm lọc và chọn lọc các hoạt động để đảm bảo chỉ những hoạt động có phí được chấp nhận. Một mempool riêng sẽ được tạo ra để quản lý các UserOperation này, và các nút mạng kết nối với mempool này sẽ thực hiện xác thực chuyên dụng cho ERC-4337, đảm bảo rằng mọi UserOperation luôn đi kèm với phí trước khi được thực hiện.

Chuyển EOA thành smart contract wallet

Chuyển đổi tài khoản Externally-owned Account (EOA) thành ví hợp đồng thông minh (smart contract wallet) là một quá trình có thể thực hiện để nâng cấp tính năng của tài khoản. Để làm điều này, có thể tạo một EIP cho phép các tài khoản EOA thực hiện hành động thiết lập mã hợp đồng (contract code). Khi tài khoản EOA thực hiện hành động này, quá trình chuyển đổi sẽ trở nên không thể đảo ngược và tài khoản sẽ chỉ hoạt động như một ví hợp đồng thông minh.

Có một số đề xuất về cách thực hiện quá trình chuyển đổi này, bao gồm giao dịch thay thế mã code hoặc sử dụng giao dịch AUTH_USURP (EIP-5003).

Hạn chế của ERC-4337

Tổng quan về ERC-4337, dù có khả năng tương tác với nhiều chuẩn ERC khác, nhưng cũng xuất hiện một số yếu điểm cần xem xét:

  • Nâng cấp yêu cầu việc chuyển tài sản đến tài khoản mới: Hiện tại, người dùng không thể nâng cấp tài khoản Externally-owned Account (EOA) sang một ví hợp đồng thông minh nếu không thực hiện việc chuyển toàn bộ tài sản sang tài khoản mới. Điều này tạo ra sự bất tiện cho người dùng và yêu cầu các bước phức tạp để thực hiện quá trình nâng cấp.
  • Tăng chi phí gas: Quá trình nâng cấp tài khoản EOA thành ví hợp đồng thông minh (ERC-4337) đòi hỏi mức chi phí gas bổ sung so với các giao dịch thông thường. Với mức khoảng ~42,000 gwei cho một UserOperation cơ bản, so với ~21,000 gwei cho một giao dịch bình thường, điều này có thể gây áp lực tài chính đối với người dùng.
  • Hạn chế về lợi ích từ kỹ thuật chống kiểm duyệt: ERC-4337 nhận ít lợi ích từ các kỹ thuật chống kiểm duyệt trong giao thức như crLists. Điều này bởi vì các kỹ thuật này thường hướng tới mục tiêu là các giao dịch thông thường và có thể bỏ qua các UserOperation, làm hạn chế sự kiểm soát và kiểm duyệt trong quá trình nâng cấp.

Roadmap Account abstraction

Việc hoàn thiện phiên bản ERC-4337 Account Abstraction sẽ là trọng tâm, tập trung vào các mục tiêu sau:

  • Phiên bản hoàn thiện và tích hợp khả năng tổng hợp chữ ký: Đưa phiên bản ERC-4337 vào giai đoạn sản phẩm hoàn thiện, đồng thời mở rộng tính năng tổng hợp chữ ký, tạo điều kiện thuận lợi cho việc xác minh giao dịch và đảm bảo tính bảo mật.
  • Phát triển ví trình duyệt tiện lợi: Xây dựng một loại ví trình duyệt thân thiện, giúp người dùng dễ dàng tiếp cận và sử dụng tài khoản ERC-4337. Việc này tạo ra sự thuận tiện và trải nghiệm tốt cho người dùng trong quá trình tương tác với blockchain.
  • Mở rộng hệ sinh thái trên Layer 2: Khởi động hệ sinh thái ERC-4337 trên các giao thức Layer 2, nơi phí gas thấp hơn đáng kể so với giao thức chính. Điều này sẽ tạo điều kiện thuận lợi để người dùng tham gia mạng lưới mà không phải lo lắng về chi phí gas cao.

Trong tương lai trung hạn

  • Triển khai Verkle trees và giảm phí gas: Hướng tới triển khai Verkle trees (tương tự Merkle Tree) và thực hiện các EIP mới để giảm thiểu phí gas trong quá trình thực hiện giao dịch. Điều này sẽ cải thiện hiệu suất và tính bền vững của mạng Ethereum.
  • Cung cấp lựa chọn nâng cấp từ EOA lên ERC-4337: Phát triển các giải pháp tuỳ chọn cho người dùng để nâng cấp từ tài khoản Externally-owned Account (EOA) lên tài khoản ERC-4337, tạo sự linh hoạt và lựa chọn cho người dùng.
  • Xem xét tích hợp crList logic: Nghiên cứu khả năng tích hợp crList logic vào phiên bản ERC-4337, tạo sự kiểm soát và kiểm duyệt trong quá trình tương tác với mạng lưới.

Trong tương lai xa

  • Áp dụng chuyển đổi bắt buộc từ EOA: Trong dài hạn, có thể xem xét việc áp dụng chuyển đổi bắt buộc tất cả tài khoản Externally-owned Account (EOA) sang tài khoản ERC-4337. Điều này có thể mang lại tính thống nhất và khả năng tối ưu hóa cho mạng lưới Ethereum.

Tổng kết

Tổng kết lại, Account Abstraction (AA) là một đề xuất quan trọng trong việc cải thiện trải nghiệm người dùng và tối ưu hóa hiệu suất trên mạng lưới Ethereum. Bằng cách biến tài khoản Externally-owned Account (EOA) thành các smart contract wallet thông minh, AA tạo ra tính linh hoạt và bảo mật cao hơn cho người dùng, đồng thời giúp giải quyết nhiều hạn chế và vấn đề hiện tại trên mạng lưới.

ERC-4337, phiên bản AA hoàn thiện nhất đến thời điểm này, đang được phát triển để đem lại một loạt các cải tiến. Từ việc chuyển đổi EOA thành smart contract wallet, phát triển ví trình duyệt tiện lợi, mở rộng hệ sinh thái trên Layer 2, đến triển khai Verkle trees và giảm phí gas, cùng với khả năng tuỳ chọn nâng cấp và tích hợp các logic như crList, ERC-4337 hứa hẹn mang đến một môi trường tốt hơn cho người dùng Ethereum.

Như Ethereum tiếp tục phát triển và cải tiến, Account Abstraction chắc chắn sẽ đóng vai trò quan trọng trong việc thúc đẩy sự nhận thức và sự tiếp cận đối với các dự án blockchain, mang lại lợi ích rõ ràng cho người dùng thông qua trải nghiệm tối ưu hơn và khả năng sáng tạo không giới hạn trên mạng lưới này.

Leave a Comment

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *