Tổng quan 

Trong sự kiện ETH Denver 2023 gần đây của các nhà phát triển Ethereum, một từ khóa đang nổi lên rầm rộ và thậm chí được cân nhắc là một xu thế tất yếu của tương lai, có tiềm năng thay đổi hoàn toàn bộ mặt của ngành công nghiệp blockchain, đó là account abstraction (ERC-4337).

Với ví account abstraction, sự tương tác giữa người dùng và web3 trở nên liền mạch hơn bao giờ hết. Nó có thể nâng cao cả về mặt trải nghiệm lẫn tính năng, đồng thời củng cố giá trị của web3 về sự tự do, bảo mật trong một thế giới phi tập trung, không bị giới hạn bởi các rào cản địa lý, kinh tế.

Vậy ví account abstration là gì? Ưu điểm, nhược điểm của nó là gì? Hãy cùng GFI tìm hiểu trong bài viết này nhé! 

Key takeaways:  

  • Account abstraction là một sự kết hợp giữa 2 loại tài khoản EOA và CA để giúp ví crypto thân thiện và bảo mật hơn đối với người dùng. 
  • Khi sử dụng ví account abstraction (Argent X, Gnosis Safe,…), người dùng cần 1 khoản phí để kích hoạt tài khoản, nhưng bù lại nó sẽ cung cấp khả năng nâng cấp tài khoản, trải nghiệm liền mạch và các tính năng bảo vệ tài sản khác. 
  • Một số tính năng mà chỉ có ở ví account abstraction: social recovery, multisig, thay đổi seed phase, batch transaction,…
  • Account abstraction có thể là một xu hướng trên Ethereum và Layer 2, kéo nhiều hệ sinh thái khác noi theo.
  • ERC-4337 chỉ là một bước tiến lớn để đạt được account abstraction toàn phần, các ví AA hiện tại mới chỉ khai thác một số tính năng của AA.

Account abstraction (AA) ? 

Account Abstractionmột loại tài khoản có khả năng chỉnh sửa theo ý muốn để phù hợp với nhu cầu thay vì chỉ nhận, rút, gửi token hay messa như các loại ví thông thường hiện nay (Metamask, Trust Wallet,…).  

Để hiểu hơn thì trước tiên chúng ta cần biết rằng trên các nền tảng blockchain hiện nay đang có 2 loại tài khoản:  

  • External Owned Accounts (EOA): Với EOA, người dùng được cấp một cặp public và private key, chỉ có người có quyền truy cập vào private key mới có thể bắt đầu giao dịch. Các sản phẩm ví EOA quen thuộc trên thị trường như Metamask, WalletConnect, Phantom, Martian…  
  • Contract Account (CA): Mặt khác, CA là tài khoản được kiểm soát bằng sự logic của code thông qua smart contract, chúng không chứa private key, vì vậy không thể tự khởi tạo giao dịch. Chúng chỉ có thể nhận message từ người dùng (từ EOA) và thực hiện các câu lệnh đã được cài đặt trước đó. Để quen thuộc hơn, thì CA chính là smart contract của các Dapp (vd Uniswap, LIDO,…) mà chúng ta vẫn thường sử dụng và là một phần của blockchain.  

Ưu điểm của EOA chính là có thể thực hiện các giao dịch mà chúng ta mong muốn, tiện lợi, gọn nhẹ và thân thiện. Nhưng bù lại nhược điểm của chúng chính là kém bảo mật, không thể tự động hóa và đòi hỏi sự quản lý thường xuyên của người dùng. Ví dụ dễ bị tấn công private key khi tương tác với các Dapp, phải kí nhiều lần mỗi khi thực hiện 1 giao dịch, và nếu chúng ta quên mất mật khẩu/ seed phase/ private key thì tài sản trong ví cũng ra đi mãi mãi.

Trong khi đó CA lại ngược lại, nó có độ bảo mật cao, có thể tự động hóa nhưng lại phức tạp trong cách thiết lập và vì không thể tự khởi tạo giao dịch, chúng dường như vô dụng nếu ta sử dụng nó để làm ví.  

Vậy có cách nào hợp nhất những ưu điểm của cả 2 loại tài khoản này thành 1 không?  

Account abstraction – sự kết hợp giữa EOA và CA chính là giải pháp. Thông qua AA, EOA trở thành một smart contract và là một phần của blockchain, có thể kế thừa những sức mạnh vượt trội về bảo mật và tự động hóa của CA, trong khi vẫn duy trì tính tiện dụng của mình.  

Hiện tại, lớp blockchain tiềm năng nhất để tích hợp AA chính là các Layer 2 Rollup mới (vd ZkSync 2.0, Starknet), khi cơ sở hạ tầng cốt lõi của chúng đã được xây dựng để phục vụ cho loại ví này (Optimism cũng từng có dự định làm AA nhưng đã bỏ qua để có thể dễ dàng tương thích EVM)  

  • Account Abstraction = EOA + Smart contract 
  • Ví AA = on-chain wallet 
  • EOA = off-chain wallet 

—–> Xem thêm: Account Abstraction là gì? Giấc mơ A+ của các nhà phát triển Ethereum.

Sự khác biệt khi trải nghiệm ví account abstraction 

Như đã đề cập ở trên, bản chất ví AA (hay còn gọi là ví smart contract) là một smart contract trên mạng lưới, chính vì thế chúng cũng có một số điểm khác biệt so với ví EOA: 

Tốn phí để kích hoạt 

Đầu tiên là ví AA cần phải được kích hoạt (1 lần duy nhất) trước khi có thể sử dụng (giống như deploy 1 smart contract lên mạng lưới) và người dùng bắt buộc phải trả một khoản phí gas. Tùy vào mạng lưới mà ta kích hoạt, phí gas có thể rẻ hoặc đắt. Ví dụ: ZkSync V2 có phí khoảng $1, Starknet khoảng $0.063, và Ethereum là $11 (12/3).  

Phí kích hoạt ví AA (smart contract) trên Ethereum - ví Argent
Phí kích hoạt ví AA (smart contract) trên Ethereum – ví Argent

Để khoản phí gas làm phí đầu tiên này, ta thể chuyển chúng từ EOA thông thường bằng cách sử dụng cầu Starkgate hoặc Orbiter. Biết rằng AA mới triển khai 100% trên Starknet ZkSync V2 ( chỉ duy nhất hỗ trợ Argent X và Bravoos), trong khi Ethereum, ZkSync V1, Arbitrum, Optimism,  các Layer 2 khác vẫn đang sử dụng EOA.  

  • Trước khi được kích hoạt: ví AA chỉ có thể nhận token tương tự như một smart contract 
  • Sau khi được kích hoạt: ví AA có thể thực hiện giao dịch như một người dùng thông thường.  

Fun fact: NEAR đã AA trên nền tảng của mình từ năm 2020. 

Do vậy, khác với Metamask ( các EOA khác), smart contract không thể thêm (add) mạng lưới được hỗ trợ bắt đầu giao dịch ngay lập tức một cách tùy ý cần phải kích hoạt trước khi sử dụng như hình dưới đây.

Ta phải tạo mới một tài khoản trên mạng khác khi sử dụng ví Safe
Ta phải tạo mới một tài khoản trên mạng khác khi sử dụng – ví Safe

Có thể nâng cấp tài khoản

Trái ngược với EOA, Account Abstraction cho phép khả năng lập trình, cá nhân hóa ở mức độ rất cao. Qua đó mở ra một cánh cửa rộng lớn trong thiết kế ví và giao thức người dùng, xử lý được nhiều vấn đề cụ thể có thể xảy ra.  

Ví dụ khi quét địa chỉ ví Argent X trên Starkscan, ta sẽ thấy thêm phần Read/Write Contract, điều mà không thể có trên các địa chỉ ví EOA thông thường.  

Mục ReadWrite Contract có thể dùng để sửa đổi ví AA
Mục Read/Write Contract có thể dùng để sửa đổi ví AA

Trong mục này, ta sẽ thấy các module lập trình, cho phép người dùng am hiểu về code thể sửa đổi smart contract của mình.

Ta có thể nâng cấp ví account abstraction thông qua các module
Ta có thể nâng cấp ví account abstraction thông qua các module

Thông qua sửa đổi các module ta thể thay đổi nhiều tính năng như thay đổi signer, số tiền gas được phép sử dụng hằng ngày, số lệnh thể thực hiện một ngày, số tiền sẽ tự động thanh toán định ( dụ như trả tiền thuê nhà thông qua , hoặc gửi một khoản tiền tiết kiệm hằng tháng),… qua đó giúp Web3 tiến sâu hơn vào thế giới thực. 

Giải thích về module - ví Safe
Giải thích về module – ví Safe

Trải nghiệm liền mạch  

Vì là smart contract nên Account Abstraction cho phép người dùng theo dõi các giao dịch của mình một cách trọn vẹn trong thời gian thực (ví dụ giao dịch đã được chấp phép và xác thực chưa, nó đang ở công đoạn nào?,…), thay vì chỉ hiện thị “pending” như trên các ví EOA.  

Theo dõi giao dịch của ví account abstraction trên Starkscan
Theo dõi giao dịch của ví account abstraction trên Starkscan

Ngoài ra, cập nhật ERC-4337 còn mở ra vai trò mới như Bundler, hiểu đơn giản là 1 dạng validator thu thập giao dịch của người dùng AA, tổng hợp chúng vào một mempool và giúp người dùng swap một token bất kì sang native token của mạng lưới (vd ETH) trong quá trình giao dịch để trả phí gas, khiến họ không còn phải lo lắng thiếu gas mỗi khi thực hiện giao dịch. 

Không chỉ vậy, với cơ chế này, một bên thứ ba (vd 1 sàn DEX) nếu muốn thu hút người dùng, có thể đứng ra thay mặt họ trả phí gas mạng lưới, một điều bất khả thi đối với EOA. 

Cơ chế hoạt động của ERC-4337
Cơ chế hoạt động của ERC-4337

Một chế khác của ERC-4337 tổng hợp chữ (chỉ cần một lần cho tất cả giao dịch), không chỉ tạo sự thuận tiện cho người dùng, còn giúp cho lượng thông tin on chain chi phí lưu trữ được giảm thiểu đáng kể.  

Kết hợp nhiều giao dịch với một lần kí
Kết hợp nhiều giao dịch với một lần kí
ERC-4337 có thể giảm hơn 30% dung lượng data của Ethereum
ERC-4337 có thể giảm hơn 30% dung lượng data của Ethereum

Nâng cao bảo mật

Thông qua smart contract, cơ chế bảo mật của AA cũng được nâng cao hơn EOA bằng nhiều cải tiến đáng kể:  

  • Khả năng lưu trữ và khôi phục private key (ví dụ: khôi phục xã hội – social recovery, multisig). Thậm chí để hạn chế tiếp xúc với ví chính, hạn chế rủi ro bị tấn công, ta có thể ủy quyền cho một ví khác để thay mặt kí các giao dịch.  
Tính năng Guardian giúp khôi phục và bảo vệ ví khỏi các giao dịch lạ - ví Argent
Tính năng Guardian giúp khôi phục và bảo vệ ví khỏi các giao dịch lạ – ví Argent
  • Khả năng sửa đổi public key, private key, seed phase của các tài khoản. 
  • Bổ sung, sửa đổi các điều kiện không liên quan đến mật mã học trong giao dịch. Ví dụ có thể cài đặt thời gian hết hạn của giao dịch, thứ tự của giao dịch,… 
  • Sự đa dạng trong các hệ thống xác minh chữ ký (ví dụ: ECDSA, Schnorr, BLS), bao gồm cả các thuật toán chữ ký an toàn post-quantum (ví dụ: Lamport, Winternitz). 
  • Khóa phiên (session keys): cài đặt key tự động hết hạn trong một khoảng thời gian xác định (ví dụ Dapp được tự động chạy các lệnh trong vòng 1 tiếng với key đó mà không cần sự chấp thuận của các “ví bảo hộ”, sau 1 tiếng thì sẽ không tự chạy được nữa). 

Các lợi ích người dùng nhận được  

Với các điểm khác biệt về khả năng bảo mật, nâng cấp và trải nghiệm người dùng, các trường hợp sử dụng AA thực tế là vô tận. Tuy vậy trong bài viết này, mình sẽ tổng hợp vài tính năng mà mình đã trải nghiệm trên những ví AA đang có mặt trên thị trường hiện nay.  

So sánh ví AA và EOA
So sánh ví AA và EOA

Khôi phục tài khoản với social recovery 

Đây là một tính năng nổi bật nhất của các ví AA hiện tại. Bằng cách lựa chọn các “Guardian” (người bảo vệ) cho ví (từ 3-5 guardian), bạn sẽ không còn phải lo lắng khi quên private key/ seed phase nữa, bởi lẽ chỉ cần nhận được sự đồng thuận từ các ví guardian, ví bạn sẽ được phục hồi. 

Một guardian có thể là: 

  • Một ví cứng;
  • Một ví EOA;
  • Một số điện thoại/ email (2-factor authenticator).
Lựa chọn Guardian bảo vệ cho ví của bạn - ví Argent
Lựa chọn Guardian bảo vệ cho ví của bạn – ví Argent

Ngoài ra, nếu bị hacker tấn công/ mất điện thoại/ mất laptop, bạn vẫn thể lấy lại quyền truy cập thông qua các guardian (đổi seed phase/ khóa ví từ xa), bởi lẽ kẻ tấn công không thể gỡ bỏ/ thay đổi quyền của guardian ngay lập tức, sẽ thời gian chờ từ 1 đến 3 ngày. Trong khoảng thời gian này, bạn cần nhanh chóng khôi phục .

Thông thường sẽ mất từ 1-3 ngày để thay đổi guardians
Thông thường sẽ mất từ 1-3 ngày để thay đổi guardians.

Bảo vệ tuyệt đối với Multisig

Tương tự như social recovery, multisig (đa chữ kí) cũng sẽ trao quyền cho các ví bảo hộ khác, nhưng ở một mức độ cao hơn. Tất cả các giao dịch chuyển tiền đi từ ví multisig sẽ phải nhận được sự đồng thuận từ các owner. Chính vì thế ví AA với tính năng multisig rất an toàn vì hacker không thể tấn công nhiều ví bảo hộ của bạn cùng lúc, thậm chí nếu các ví bảo hộ ở trên máy tính hoặc nền tảng khác nhau thì điều đó dường như là một nhiệm vụ bất khả thi.

Hiện nay ví multisig có mặt trên các mạng lưới khác nhau như một contract và không thân thiện với người dùng thông thường. Nhưng với tính bảo mật cao, chúng vẫn được các tổ chức (vd các sàn CEX) sử dụng như một kho lưu ký tài sản. Trong vụ hack sàn FTX (sau khi FTX phá sản), số tiền còn lại đã được chuyển vào các ví multisig.  

Thiết lập owner cho tính năng multisig
Thiết lập owner cho tính năng multisig

Dễ dàng thay đổi seed phase  

Với tính năng này, chúng ta có thể thường xuyên thay đổi seed phase, nâng cao bảo mật, tránh những trường hợp bị rò rỉ seed phase do nền tảng trình duyệt/ lưu trữ bị xâm phạm. 

Khả năng thay đổi seed phase là một tính năng nâng cao của AA, hiện nay chỉ có ví Near wallet làm được điều này (vì mạng lưới NEAR đã tích hợp AA vào vào sâu trong hạ tầng từ lâu). Để thay đổi/ tạo mới seed phase, chúng ta có thể sử dụng ví Meteor (UI của ví Near) và nhấp vào mục “Manage Access Key” –> tạo key mới –> sau đó ta có thể lựa chọn giữ nguyên hoặc revoke key cũ không cần thiết.

Thay đổi/tạo mới nhiều seed phase/ private key/ public key - ví Meteor
Thay đổi/tạo mới nhiều seed phase/ private key/ public key – ví Meteor

Linh động thanh toán phí gas 

Bạn là người dùng mới và không biết native token của mạng lưới là token gì? Bạn khó chịu vì nếu muốn swap token thì phải có sẵn ETH/ BNB/ Matic để làm phí Đó là một trong những nhược điểm lớn nhất khiến EOA chưa thực sự có thể chuyển đổi người dùng từ web2 sang web3.  

Với các ví AA, người dùng không nhất thiết phải trả phí gas bằng native token của mạng lưới đó. Họ có thể sử dụng các token thay thế có sẵn trong ví như USDC, USDT, BTC,… 

Điều thực sự giá trị cần thiết ERC-4337 cung cấp cho account abstraction thị trường phí phi tập trung cho các hoạt động của người dùng thông qua hợp đồng thông minh (smart contract wallet).

– Vitalik, nhà sáng lập Ethereum 

Điều đó đủ cho thấy tính năng này của AA quan trọng đến dưới nào đối với các ứng dụng ví trên con đường tiếp cận hàng tỷ người dùng truyền thống.  

Không dừng lại ở đó, bên cạnh tùy chọn loại token thanh toán phí gas, AA còn cho phép một bên thứ ba thanh toán phí cho người dùng của họ. Một ví dụ điển hình cho trường hợp này là ví Sweet wallet (Sweetcoin) được xây dựng trên NEAR.  

Sweet là một ứng dụng move-to-earn đã có hàng triệu người dùng truyền thống trước đây, tuy vậy để tiếp cận Web3, Sweet đã cho ra đời token Sweetcoin (có thể nhận được khi bạn có đủ số km đi bộ hằng ngày). Và để có thể mua bán trao đổi Sweetcoin, bạn cần tạo Sweet wallet.  

Thông thường, khi bạn tạo ví Sweet (thực tế là ví Near), bạn sẽ phải kích hoạt ví (vì nó là một smart contract như đã đề cập ở trên) và tốn một khoản phí. Tuy nhiên, Sweet wallet sẽ thay mặt bạn trả khoản phí này. Điều này giúp cho người dùng mới có một trải nghiệm liền mạch mà không cần biết gì về web3, không cần phải lo nghĩ mua Near như thế nào? mua Near ở đâu? làm sao để nạp Near vào ví?,… 

Tạo ví Sweet vô cùng đơn giản và không tốn phí
Tạo ví Sweet vô cùng đơn giản và không tốn phí

Các tính năng khác  

  • Batch transaction: cho phép người dùng có thể gom nhiều giao dịch thành một và sẽ không cần phải ký quá nhiều lần trên từng giao dịch nữa (ví dụ chuyển tiền cho 10 người một lúc). Nó giúp ta thao tác nhanh hơn, dễ dàng hơn và an toàn hơn khi tương tác với các dApps. 
Batch transaction thích hợp cho các tổ chức muốn thực hiện nhiều lệnh 1 lúc, từ đơn giản cho đến phức tạp - ví Safe
Batch transaction thích hợp cho các tổ chức muốn thực hiện nhiều lệnh 1 lúc, từ đơn giản cho đến phức tạp – ví Safe
  • Spending limit: giới hạn khoản phí gas tối đa trong mỗi giao dịch và khoản phí gas được chi tiêu mỗi ngày 
  • Apps permission: các ứng dụng quen thuộc và đáng tin cậy (ví dụ OpenSea, Uniswap,…), không cần phải kí cấp quyền truy cập mỗi khi đăng nhập. Điều này tương tự khi ta trao quyền truy cập Facebook/Google để tạo một tài khoản trên một ứng dụng khác. 
Các tính năng khác trên ví Safe
Các tính năng khác trên ví Safe

Những lưu ý khác về account abstraction  

Để giúp cho bạn có thêm cái nhìn trực quan hơn về account abstraction cũng như tình hình triển khai của nó, thì mình tổng hợp lại một số lưu ý sau:  

  • AA là một giải pháp giúp cho các ứng dụng ví được “lột xác” tuy vậy AA không phải là ví, AA là một cập nhật trong cơ sở hạ tầng của mạng lưới, tạo nền tảng cho các dự án ví phát triển 
  • Để kích hoạt ví có sử dụng AA, phải tốn phí ban đầu để làm gas cho smart contract. 
  • Hiện nay AA mới được tích hợp sâu trên Near, Starknet và ZkSync 2.0 (xu hướng AA trên Layer 2), trong khi L1 Ethereum, Polygon mới chỉ đang phát triển với đề xuất ERC-4337. 
  • ERC-4337 chỉ là một bước tiến lớn tới AA, các ví AA hiện nay chưa hoàn thiện. Thực tế Metamask cũng có một phần nhỏ là AA, giúp cho người dùng có thể sử dụng 1 địa chỉ ví trên nhiều mạng lưới. Tùy vào loại ví AA bạn đang sử dụng (ví Argent, ví Safe,…) có thể sẽ có những tính năng khác nhau, tuy vậy chúng vẫn bị ràng buộc bởi những giới hạn của ERC-4337. 

Tổng kết

Như vậy qua bài viết này và bài viết về account abstraction trước đó, bạn đã có một cái nhìn tổng quan hơn về AA cũng như các tính năng vượt trội của nó tính đến thời điểm hiện tại. Mặc dù phải mất phí kích hoạt ban đầu (tương đương phí của 1 giao dịch), nhưng điều đó vẫn rất xứng đáng để đổi lấy sự tiện dụng, trực quan và an toàn tuyệt đối cho tài sản của bạn sau này.

Vậy ví nào đang dẫn đầu? Dự án account abstraction nào có nhiều tiềm năng nhất? Hãy đón đọc phần tiếp theo: Top 10 dự án AA tiềm năng của GFI nhé!