Account Abstraction (AA) là gì? Liệu đây có phải là chìa khóa giúp công nghệ blockchain hiện thực hóa giấc mộng mass adoption. Hãy cùng TradeCoinVN tìm hiểu rõ hơn trong bài viết dưới đây.

 

Thời gian qua, chắc hẳn không ít anh em trong giới, đặc biệt là những vị fan trung thành của Ethereum và Vitalik Buterin, đã nghe qua cụm “Account Abstraction”. Đây không chỉ đơn thuần là một topic bàn luận vô thưởng vô phạt, vì với người đồng sáng lập ETH và nhiều nhà lập trình viên tâm huyết với nghề, Account Abstraction (AA) là một bước tiến mới của Ethereum và là “giấc mơ đã ấp ủ từ lâu”.

 

Không chỉ riêng Vitalik “đánh tiếng” sẽ triển khai AA, hai dự án triển vọng trong mảng Layer 2 là StarkNetzkSync cũng khẳng định sẽ chạy mô hình native account abstraction của riêng họ.

Account Abstraction là gì? Liệu crypto có thể đổi thay với AA?
Account Abstraction là gì? Liệu crypto có thể đổi thay với AA?

Trước đây, trong giai đoạn Internet hay Web 2.0 mới bắt đầu chập chững những bước đi đầu tiên, người điều hành trang web phải tạo thủ công bản ghi login-password trong database (cơ sở dữ liệu) nếu muốn đăng nhập trên trang mạng đó. Nhưng chỉ sau một khoảng thời gian ngắn, mọi thứ được tự động hóa và người dùng chỉ cần một email để tạo nhiều tài khoản (account) trên nhiều giao thức khác nhau.

 

Web 3.0 cũng đang tiến vào thời kỳ tương tự và AA chính là chìa khóa giúp mở cánh cửa cấp tiến trên. Vậy Account Abstraction là gì và tại sao mọi người lại phát cuồng về nó như thế?

Account Abstraction là gì?

Account Abstraction (AA) là một quá trình nâng cấp đặc thù, giúp chuyển đổi các tài khoản thông thường thành Smart Contract trên Ethereum. Nhờ đó, user có thể lập trình, tinh chỉnh các tài khoản blockchain theo ý bản thân. 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 hóa (abstraction), từ đó dẫn đến cái tên Account abstraction.

Account Abstraction là gì?
Account Abstraction là gì?

Với Abstraction (Tính trừu tượng), mọi tài khoản đều trở thành smart contract (hợp đồng thông minh), có logic của riêng mình và có thể tự triển khai các lệnh, chẳng hạn như:

 

  • Social Recovery (một giải pháp giúp người dùng phục hồi lại địa chỉ ví và tài sản trong trường hợp bị hack hoặc quên mất passphrases hoặc private key).
  • Fraud Monitoring (Giám sát gian lận).
  • Multi-calls (Đa giao dịch)…

 

Nói ngắn gọn, đây là quy trình chuyển xác thực (authentication) từ network sang hợp đồng thông minh và để các nhà phát triển ví giải quyết toàn bộ khâu đăng nhập của người dùng.

 

Trước tiên, để hiểu AA, bạn cần nắm rõ phương thức hoạt động của các account trên Ethereum ngày nay, từ đó tìm ra những điểm độc đáo và mới mẻ của tính năng này.

Những khuyết điểm của Ethereum Account 

Ngày nay, có hai loại tài khoản trên Ethereum là:

 

  • Tài khoản hợp đồng (Contract Accounts - CA). 
  • Tài khoản sở hữu bên ngoài (Externally Owned Accounts - EOA, account thuộc sở hữu bên ngoài blockchain).

 

Trong bài đăng này, chúng ta sẽ tập trung vào EOA vì đây là tài khoản được đại đa số người dùng phổ thông sử dụng.

 

Nói đơn giản, người dùng chỉ có thể tương tác với Ethereum bằng EOA và đây cũng là cách duy nhất giúp user giao dịch hoặc thực hiện hợp đồng thông minh. Điều đó đồng nghĩa với việc, khi Máy ảo Ethereum (EVM) ghi nhận giao dịch, EOA là tài khoản duy nhất có khả năng trả phí giao dịch và thực hiện việc khởi tạo giao dịch.

Sự khác biệt giữa CA và EOA
Sự khác biệt giữa CA và EOA

Như anh em đã biết, người dùng có thể kiểm soát EOA thông qua private key và tạo chữ ký, chứng minh với blockchain, đây là tài khoản của mình. Nhưng cơ chế đó cũng chính là yếu điểm lớn của các tài khoản hiện tại.

 

Private key là chìa khóa bảo an duy nhất giúp user mở tài khoản của mình và dù có triển khai ví hợp đồng thông minh đa chữ ký như Gnosis Safe, nhưng tựu trung lại, nếu mất khóa, người dùng sẽ mất account và tất cả số tiền của mình.

 

Các tài khoản lưu ký như Coinbase cũng không phải là giải pháp an toàn một khi máy chủ bị hack. Thậm chí, chúng ta còn có thể bị mất nhiều hơn nếu số thẻ tín dụng liên kết bị lộ. 

 

Vì người dùng không thể lập lệnh hạn chế số tiền giao dịch tối đa trên tài khoản EOA, tin tặc hoàn toàn có thể rút hết tiền chỉ trong một lần nhấn. Đó chính là “điểm chết” khiến chính phủ dễ dàng “động tay động chân”, tịch thu hoặc đóng băng tất cả tiền của user.

 

Điển hình như năm ngoái, Thủ tướng Canada - Justin Trudeau, đã có những biện pháp nặng tay nhằm chấm dứt phong trào biểu tình khi yêu cầu các ngân hàng có thể ngay lập tức đóng băng các tài khoản ngân hàng được cho là ủng hộ người biểu tình mà không cần lệnh từ tòa án. 

 

Giới chức Canada cũng sẽ mở rộng phạm vi áp dụng luật chống rửa tiền và tài trợ khủng bố lên các nền tảng gọi vốn cộng đồng và dịch vụ thanh toán, những thay đổi mới sẽ áp dụng lên mọi loại giao dịch, bao gồm cả tiền mã hóa.

Ưu điểm của Account Abstraction 

Như đã chia sẻ phía trên, Account Abstraction sẽ giúp mọi người lập trình dễ dàng tài khoản của mình, hợp nhất CA và EOA. Thông qua AA, anh em có thể phá logic ủy quyền đã được mã hóa cứng trong Máy ảo Ethereum (EVM) và tinh chỉnh các giao dịch bằng cách biến mọi tài khoản thành smart contract.

 

Đồng nghĩa với việc, user sẽ không còn gặp trường hợp một tài khoản được sử dụng cho tất cả các mục đích. Nhờ đó, người dùng có thể có một loại tài khoản phù hợp với nhu cầu cá nhân.

 

Như vậy, user có thể tùy ý: 

 

  • Tự mình mã hóa quy tắc bảo mật.
  • Khôi phục tài khoản nếu làm mất chìa khóa.
  • Chia sẻ bảo mật tài khoản trên các thiết bị hoặc cá nhân đáng tin.
  • Trả phí gas của người khác, hoặc nhờ người khác trả phí gas.
  • Thực hiện nhiều giao dịch cùng một lúc (ví dụ: user có thể phê duyệt và swap token trong cùng một lần), từ đó nâng tầm trải nghiệm người dùng và giúp các nhà phát triển Dapp và ví phát triển sản phẩm.

 

Trong một bài viết trên Newton - trang web Q&A chuyên dành cho nhà phát triển blockchain, một vị lập trình viên đã khẳng định, về lý, người dùng không thể khôi phục key của mình nhưng với hợp đồng thông minh, user có thể lập trình tạo một khóa khác tiếp quản account nếu key ban đầu “lạc trôi”.

Ưu điểm của Account Abstraction
Ưu điểm của Account Abstraction

Bên cạnh đó, mọi người có thể dễ dàng tạo ví mới, tương tự như trong tính năng "Thêm tài khoản" của Metamask, chỉ với một seed phrase.

 

Trích lời Gershon Ballas - người sáng lập Ginger Security, “Đây đơn giản là tương lai của blockchain và là giải pháp giúp crypto đạt đến mục tiêu tối thượng là mass adoption. Sau smart contract, AA là điều tuyệt vời nhất từng xuất hiện trong ngành crypto và tôi thực sự tin vào điều đó”.

 

Trên Ethereum.org, trang web chính chủ của Ethereum, phía lập trình viên đã đề xuất nhiều tính năng khả khi nếu AA được hiện thực hóa:

 

  • Ủy quyền nhiều chữ ký (multisig): User có thể chia sẻ thông tin ủy quyền cho nhiều người hoặc thiết bị đáng tin cậy. Sau đó, người dùng có thể “tái cấu trúc” hợp đồng nhằm phát hiện những giao dịch bất thường, ngăn chặn chúng và ra lệnh yêu cầu phải có sự đồng thuận từ các bên đáng tin cậy. 
  • Đóng băng tài khoản: Nếu một thiết bị bị mất hoặc bị tấn công, user hoàn toàn có thể dùng thiết bị khác đã được cấp quyền khóa account nhằm bảo vệ tài sản của người dùng.
  • Khôi phục tài khoản: Mất thiết bị hoặc quên mật khẩu? Tiếc thay, hiện tại, điều đó đồng nghĩa với việc tài sản có thể bị đóng băng vĩnh viễn. Nhưng với ví hợp đồng thông minh, người dùng có thể ủy quyền cho nhiều thiết bị, từ đó reset quyền truy cập.
  • Đặt giới hạn giao dịch: Chỉ định ngưỡng giao dịch trong một ngày/tuần/tháng. Như vậy, nếu hacker giành được quyền truy cập vào tài khoản thì chúng cũng không thể rút hết mọi thứ cùng một lúc và user có cơ hội đóng băng account và đặt lại quyền truy cập.
  • Tạo whitelist: Tính năng này hỗ trợ người dùng lập danh sách và giao dịch với những địa chỉ nhất định. Vì vậy, ngay cả khi private key bị đánh cắp, kẻ tấn công cũng không thể gửi tiền đến các tài khoản khác vì chúng không nằm trong whitelist ta đã tạo trước đó. 

Triển khai Account Abstraction trên Ethereum 

Trên thực tế, ví hợp đồng thông minh (smart contract wallet) thực sự tồn tại nhưng rất khó triển khai vì EVM không hỗ trợ chúng. Thay vào đó, giải pháp trên được xây dựng dựa vào các mã code tương đối phức tạp xung quanh các giao dịch Ethereum tiêu chuẩn.

 

Ethereum có thể thay đổi điều này bằng cách cho phép các smart contract tự mình giao dịch, xử lý logic cần thiết trong hợp đồng thông minh Ethereum. Việc đưa logic vào các hợp đồng thông minh cũng làm tăng tính phi tập trung của Ethereum, khi đó, mạng lưới sẽ không cần tới những ứng dụng trung gian được điều hành bởi các nhà phát triển ví để “dịch” các tin nhắn được ký bởi người dùng sang các giao dịch Ethereum thông thường.

 

Đọc thêm: Ethereum Shanghai là gì? Bản nâng cấp quan trọng trên mạng lưới Ethereum năm 2023

 

Như đã nói, hầu hết các ví trên Ethereum là EOA. MetaMask là một ví dụ điển hình, chúng dựa vào seed phrase và người dùng thông thường không thể lập trình bất kỳ cải tiến hoặc chế độ bảo mật nào vào chúng.

 

Mặt khác, user có thể tùy ý lập trình Smart contract wallet, giúp người dùng giao dịch và kinh qua nhiều điều thú vị hơn - những thứ anh em không thể thực hiện được với các ví EOA. 

Triển khai Account Abstraction trên Ethereum
Triển khai Account Abstraction trên Ethereum 

Ví dụ: Ví Argent đã đi tiên phong phát triển các tính năng liên quan đến AA, chẳng hạn như social recovery, multicall hoặc giám sát gian lận on-chain. Thông qua những cải tiến này, dù cho là người mới hay dân chơi chuyên nghiệp vẫn có thể trải nghiệm được nhiều kỳ thú và nâng cấp đáng kể khả năng bảo mật.

 

Vấn đề là Smart contract wallet vẫn tồn tại on-chain - nơi mà native account là EOA. Điều này dẫn đến 2 hệ quả chính:

 

  • Ví hợp đồng thông minh phải sử dụng nhiều thủ thuật khác nhau và xây dựng cơ sở hạ tầng tùy chỉnh theo để mô phỏng AA đúng cách.
  • Toàn bộ hệ sinh thái Ethereum được xây dựng xung quanh EOA, làm cho Smart contract wallet trở thành "công dân hạng hai". Hiện nay, có rất ít công cụ hỗ trợ ví hợp đồng thông minh, và vì đây là một phương pháp non trẻ nên nhiều Dapp không tương thích với nó.

Những cải tiến của Ethereum 

EIP2938

EIP2938 được đề xuất vào năm 2020 dưới dạng Account Abstraction phiên bản hạn chế, theo đó, Smart Contract có thể hoạt động như tài khoản cấp cao nhất và có thể tự mình giao dịch cũng như thanh toán phí gas.

 

EIP2938 giới thiệu loại AA mới và 2 opcodes mới (cộng với một số thay đổi nhỏ khác). Các lập trình viên đã thiết kế đơn giản bản AA trên để từ đó, mạng lưới có thể phát triển các tính năng mới trong tương lai.

 

Loại AA mới này chỉ chứa 3 trường (nonce, target, data), trong đó, mục tiêu chính là AA smart contract phải chứa logic nhằm xác thực giao dịch và dữ liệu (bao gồm tất cả các tham số của giao dịch phải được xác thực và thực hiện bởi AA smart contract, chẳng hạn như hợp đồng để gọi (call), payload, phí giao dịch tối đa và chữ ký).

 

Do giải pháp AA trên tương đối đơn giản, EIP2938 không thể phát huy tối đa một số tính năng mong đợi của AA, chẳng hạn như nonce abstraction, khả năng sử dụng proxy contract hay meta transaction.

 

Quan trọng hơn, EIP2938 không thể thay thế hoặc loại bỏ EOA.

EIP3074

EIP3074 được giới thiệu ngay sau EIP2938. Về cơ bản, EIP3074 có cách tiếp cận AA hoàn toàn trái ngược với phiên bản đề xuất trước đó. Thay vì cho phép smart contract hoạt động như tài khoản cấp cao nhất, phiên bản trên sẽ cố gắng biến các tài khoản EOA hiện tại thành smart contract bằng cách cho phép người dùng ủy quyền (delegate) việc kiểm soát EOA của họ cho một hợp đồng.

 

Để ủy quyền, user cần ký một tin nhắn (sign message) với EOA. Sau đó, sử dụng tin nhắn đã ký đó và 2 opcodes mới (AUTH và AUTHCAL), smart contract có thể tự mình tiến hành các giao dịch.

 

Ưu điểm hàng đầu của EIP3074 là cho phép người dùng hiện tại của ví EOA trải nghiệm một số tính năng của AA mà không cần phải tạo smart contract mới hoặc dịch chuyển tài sản của họ. Đặc biệt, phiên bản phát triển trên có khả năng hỗ trợ các giao dịch cho người dùng hoặc triển khai multicall.

 

Mặc dù đây là phương án linh hoạt, đáp ứng tiêu chí người dùng, nhưng đây cũng là “con dao hai lưỡi” vì phải chịu vấn đề về bảo mật, đó là lý do tại sao một số thành viên của hệ sinh thái tỏ ra quan ngại về EIP trên. VD: trong EIP3074, người dùng vẫn phải sao lưu seed phrase, quy trình mà giới blockchain luôn “vắt não” cố gắng loại bỏ.

EIP4337

Vitalik đã đưa ra đề xuất ERC-4337 nhằm đạt được Account Abstraction và đây có thể được coi là sự tiến hóa của smart contract wallet. Theo đó, anh em có thể đơn giản hóa quy trình viết và vận hành smart contract wallet trên Ethereum thông qua việc đáp ứng yêu cầu về cơ sở hạ tầng on-chain và off-chain.

 

Với EIP4337, người dùng không tự mình thực hiện giao dịch mà gửi User Operation đến một mempool cấp cao hơn. Miner hoặc bundler (người đóng gói các giao dịch) có thể “gói” một tập hợp User Operation thành một giao dịch, gửi đến EntryPoint contract để chúng tự sắp xếp, thực hiện giao dịch. Sau đó, Miner hay bundler sẽ được nhận tiền bonus tương tự như phí giao dịch trong cơ chế hiện tại.

 

Với phương án trên, bất kỳ nhà phát triển nào cũng có thể tùy chỉnh Smart contract wallet với vài dòng code mà không cần phải lưu tâm đến phí giao dịch.

 

Giống như ví hợp đồng thông minh, EIP4337 được thiết kế để mô phỏng AA mà không cần phải thay đổi giao thức. Nhưng đồng thời, chúng cũng không loại bỏ EOA và các ví được xây dựng trên EIP4337 vẫn là “công dân hạng hai” trên Ethereum.

Những cải tiến của Ethereum nhằm phát triển AA
Những cải tiến của Ethereum nhằm phát triển AA

Tương lai của Account Abstraction 

Mặc dù các vị lập trình viên hàng đầu của Ethereum luôn có ý định triển khai Account Abstraction để nâng cao trải nghiệm người dùng cũng như vấn đề bảo mật, tuy nhiên, ý tưởng này đã nhiều lần bị đẩy lùi vì những vấn đề cấp thiết hơn.

 

Nhiều anh em có thể sẽ đặt câu hỏi, liệu AA có được triển khai sau khi The Merge thành công hay không? Cho đến nay, không ai biết được câu trả lời, nhưng chắc chắn, trong tương lai, AA sẽ có triển khai hoàn toàn vì đây là cách duy nhất để nâng tầm trải nghiệm người dùng trên Ethereum.

 

Blockchain là một loại công nghệ đặc biệt vẫn đang trên đà phát triển và không ngừng phát triển. Hiện nay, để đạt mục tiêu mass adoption, giới blockchain đang tập trung vào công nghệ cốt lõi và mở rộng quy mô. Trong hai năm qua, Ethereum luôn cố gắng tiến tới ước mơ trên, họ đã khởi chạy Proof-of-Stake và phát triển hơn nữa.

 

Nhờ đó, ngày càng nhiều người biết đến và sử dụng blockchain. Nhưng câu hỏi đặt ra tiếp theo là “Những người dùng sẽ tương tác với blockchain đó như thế nào?"

 

Hiện tại, không ít thì nhiều, user luôn phải dựa dẫm vào EOA, đồng nghĩa với việc người dùng sẽ luôn canh cánh nỗi lo bảo vệ mật khẩu. Đây chính là rào cản ngăn cản blockchain phát triển.

 

Hơn nữa, hệ sinh thái đã đạt đến điểm cực đại và cần bước tiến hóa mới. Vì vậy, với Account Abstraction, người dùng sẽ có quyền tự giám sát tài sản. Vitalik từng chia sẻ, Account Abstraction là “thứ mà chúng tôi luôn ao ước” và “từ lâu, nó đã là giấc mơ của cả cộng đồng dev trên Ethereum”.

 

Nếu không có AA, crypto có thể sẽ không thể bức phá và cứ mãi mắc kẹt trong thì hiện tại. Các Dapps sẽ không bao giờ sở hữu một hệ sinh thái trải nghiệm người dùng hoàn hảo như Web2. Wallet thì quá khó để sử dụng và thiếu sự an toàn - điều này khiến mọi người phải dựa dẫm vào những giải pháp tập trung (centralized), nơi người dùng không thể toàn quyền kiểm soát mọi thứ. 

Kết luận

Account Abstraction luôn là giấc mơ đã ấp ủ từ lâu trong giới lập trình viên blockchain. Trong đó, các nhà phát triển đã đưa ra nhiều phương án EIP (EIP2938, EIP3074, EIP4337) để triển khai AA. Tuy nhiên, con đường đạt được AA cũng đòi hỏi sự đầu tư lớn về công nghệ và hạ tầng, đồng thời cần các công cụ hỗ trợ phát triển và triển khai AA.

 

Nếu thành công, AA sẽ giúp Ethereum trở nên phi tập trung hơn, nâng cao tính bảo mật và trải nghiệm người dùng. Tương lai của AA là giúp người dùng mở rộng quyền tự giám sát tài sản và mang tiền mã hóa tiến đến mass adoption.

 

Hãy tham gia ngay các cộng đồng của TradecoinVN để cùng nhau khám phá, giao lưu với những chuyên gia hàng đầu trong ngành và chia sẻ ý kiến của bạn!