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) là gì?
Account Abstraction là mộ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).
Để có khoản phí gas làm phí đầu tiên này, ta có thể chuyển chúng từ ví 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 và ZkSync V2 (và chỉ có 2 ví duy nhất hỗ trợ là Argent X và Bravoos), trong khi Ethereum, ZkSync V1, Arbitrum, Optimism, và các Layer 2 khác vẫn đang sử dụng ví 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 đã có AA trên nền tảng của mình từ năm 2020.
Do vậy, khác với Metamask (và các ví EOA khác), ví smart contract không thể thêm (add) mạng lưới được nó hỗ trợ và bắt đầu giao dịch ngay lập tức một cách tùy ý mà cần phải kích hoạt trước khi sử dụng như hình dưới đây.
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.
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 có thể sửa đổi ví smart contract của mình.
Thông qua sửa đổi các module ta có 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 có thể thực hiện một ngày, số tiền sẽ tự động thanh toán định kì (ví dụ như trả tiền thuê nhà thông qua ví, hoặc gửi một khoản tiền tiết kiệm hằng tháng),… qua đó giúp ví Web3 tiến sâu hơn vào thế giới thực.
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.
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.
Một cơ chế khác của ERC-4337 là tổng hợp chữ kí (chỉ cần kí 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, mà còn giúp cho lượng thông tin on chain và chi phí lưu trữ được giảm thiểu đáng kể.
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.
- 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.
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).
Ngoài ra, nếu bị hacker tấn công/ mất điện thoại/ mất laptop, bạn vẫn có 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, mà sẽ có 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 ví.
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.
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.
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,…
The big really valuable and necessary thing that ERC-4337 provides for account abstraction is a *decentralized fee market* for user operations going into smart contract wallets.https://t.co/JUigSO5OtW
— vitalik.eth (@VitalikButerin) October 1, 2022
“Điều thực sự có giá trị và cần thiết mà ERC-4337 cung cấp cho account abstraction là “thị trường phí phi tập trung” cho các hoạt động của người dùng thông qua ví 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í?,…
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.
- 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.
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.
Now, problems that are NOT solved by ERC-4337!
* Letting existing EOAs send ops that get paid for by third parties
* Upgrading existing EOAs to contracts
* Integration with transaction inclusion lists (an anti-censorship feature in PBS)— vitalik.eth (@VitalikButerin) October 1, 2022
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é!