Lưu ý
AA: Account Abstraction
UX: User Experience: Trải nghiệm người dùng
EOA – Externally Owned Account: Có thể hiểu là đây là các ví cơ bản mà chúng ta quen biết như Metamask, Trust, C98, v.v.
Tài khoản có thể hiểu là Ví như cách quen thuộc chúng ta gọi. Tuy nhiên tài khoản là khi dùng cùng một seed phrase ví và ấn Create account sẽ cho ra Account 1, account 2, v.v.
Mở đầu
Một ý tưởng, một công nghệ mới có được phát triển rực rỡ hay chết yểu và mãi mãi chỉ là “ý tưởng” phụ thuộc rất nhiều vào sự kiên trì và tâm huyết của những người khởi đầu. Họ tiếp tục sử dụng, bất chấp UX của chúng có tệ đến cỡ nào, chỉ cần “có tiềm năng”, họ sẽ tiếp tục ủng hộ và phát triển.
Crypto vẫn đang trong giai đoạn đầu chấp nhận. Chu kỳ tăng tiếp theo sẽ đưa ngành công nghiệp tiến rất xa trên đường cong chấp nhận (ảnh trên), thu hút thêm nhiều người dùng. Các mảng tiện ích lớp bề mặt như các ứng dụng xã hội phi tập trung và game sẽ là đầu tàu để thúc đẩy sự mở rộng này. Tuy nhiên, việc tối ưu trải nghiệm người dùng của ngành vẫn còn rất kém.
Người dùng phổ thông sẽ chỉ muốn tương tác trực tiếp với dự án mà không cần hiểu sự phức tạp của blockchain, tải ví, xác nhận giao dịch, trả phí gas, v.v. Như việc thanh toán hóa đơn, game hoặc lướt mạng xã hội.
Ngoài ra, tầm quan trọng của việc tự lưu ký thậm chí còn trở nên rõ ràng hơn do các vấn đề về thanh khoản mà các sàn giao dịch phải đối mặt. Người dùng cần các phương pháp rõ ràng và an toàn để lưu giữ tài sản của họ.
AA nhằm mục đích đơn giản hóa UX trong các ứng dụng Web3. Nó giúp người dùng không cần quan tâm đến lưu ký, ví , blockchain, v.v. và thay thế chúng bằng UX quen thuộc.
Với tính năng AA, người dùng không cần tải ví và ký xác nhận mỗi khi họ muốn tương tác với blockchain. Thay vào đó, các giao dịch có thể được gộp lại và phê duyệt cùng một lúc. Đó là một cải tiến lớn về UX cho các ứng dụng Web3.
Bên cạnh những cải tiến về UX, tính năng AA mang đến những cải tiến về bảo mật bằng cách biến tài khoản người dùng thành một smart contract. Các giải pháp quản lý key được kích hoạt trong ví, cho phép người dùng dễ dàng tương tác. Các tính năng bổ sung bao gồm thiết lập giám sát gian lận và tạo các mức giới hạn chi tiêu cho mỗi lần ký để giảm thiểu rủi ro.
Để hiểu cách chúng cải thiện cấu trúc hiện tại, trước tiên chúng ta cần tìm hiểu cấu trúc tài khoản trên blockchain được sử dụng rộng rãi nhất hiện nay là Ethereum
Sơ lược các loại tài khoản trên Ethereum
Có hai loại tài khoản trên Ethereum: EOA và tài khoản smart contract như ví đa chữ ký.
Externally Owned Account
EOA có ba thuộc tính: số dư ETH, nonce và địa chỉ ví.
Một địa chỉ của EOA bao gồm một cặp private key và public key. Chủ sở hữu EOA sử dụng private key để xác nhận các tin nhắn và giao dịch. Khi EVM nhận được một giao dịch, nó xác nhận chữ ký hợp lệ. Các quy tắc xác thực giao dịch được mã hóa vào EVM. Điều này dẫn đến:
- Rủi ro bảo mật khi signer và EOA tồn tại trên cùng một thiết bị sẽ khiến việc giữ private key mang tính sống còn. Mất private key có nghĩa là tất cả tiền sẽ bị kẹt vĩnh viễn. Nếu private key bị đánh cắp, thì hacker có thể rút tiền từ tài khoản.
- Ví đã ký giao dịch cũng phải là ví thanh toán phí gas cho giao dịch, rất bất tiện khi dùng nhiều ví.
- Logic xác thực giao dịch được mã hóa cứng vào EVM – mọi chữ ký phải sử dụng cùng một sơ đồ chữ ký (ECDSA).
Smart Contract Account
Để giải quyết các vấn đề của EOA, các dự án như Gnosis và Argent đã phát triển ví smart contract. Cấu tạo ví smart contract xác định được ai được phép ký giao dịch. Ví đa chữ ký như Gnosis Safe là một ví dụ dễ thấy về ví smart contract. Một trong những lợi ích của ví đa chữ ký là khả năng có nhiều chữ ký trên một tài khoản, thay vì một private key như trường hợp của EOA
Tuy ví smart contract được nâng cấp rất nhiều so với EOA, nhưng việc sở hữu cả hai loại tài khoản ở hiện tại sẽ mang đến nhiều rắc rối. Do hầu hết các ứng dụng Web3 được thiết kế cho EOA, ví smart contract cũng sẽ tốn nhiều phí gas hơn. Vì vậy, L2 với phí gas rẻ là nơi phù hợp để devs để thử nghiệm AA. Các devs đã đề ra nhiều phương án để giải quyết các khó khăn trong việc triển khai ví smart contract, nhưng chúng chưa thực sự tối ưu.
Sự linh hoạt trong việc lập trình
Trong tương lai, AA có thể giúp Ethereum loại bỏ các nguyên tắc cứng nhắc để ký giao dịch, các logic được mã hóa cứng vào hệ thống. Với AA có thể thay thế nó bằng một giao diện thiết kế linh hoạt. “Abstraction” có nghĩa là các tài khoản trở thành smart contract với logic xác thực linh hoạt và có thể sửa đổi, thay vì logic được mã hóa cứng vào hệ thống.
Ví dụ Lens Protocol
Lens đã cung cấp được phần nào một số các tính năng của AA. Người dùng Lens và các ứng dụng được xây dựng trên Lens có thể tận dụng triển khai AA đặc biệt thông qua Dispatcher – Công cụ cho phép người dùng ủy quyền sign, thanh toán phí gas cho một tài khoản khác. Hiện các giao dịch thông qua Dispatcher chiếm hơn 4,3 triệu giao dịch trên Polygon.
Tổng phí gas cho Dispatcher ~138.000 MATIC (~$127k). Trong trường hợp mọi người dùng đều dùng Dispatcher, thì việc khởi động một mạng xã hội tốn $127k cho 7 tháng trợ cấp gas fee cho người dùng là tương đối rẻ. So sánh với Aave trên Ethereum, thời điểm incentive để tăng thanh khoản, dự án đã tốn hơn 2200 stkAAVE mỗi ngày (~$140k ở giá hiện tại) – gấp 1,1 lần số tiền được trợ cấp trong suốt 7 tháng của Lens.
Đơn giản hóa thao tác người dùng
Lens đã được áp dụng mạnh mẽ. Điều này một phần nhờ vào trải nghiệm người dùng mượt mà của AA. Tuy nhiên, hầu hết người dùng Lens đều có sẵn gốc crypto và đã sử dụng các Web3 app khác trước Lens. Tức họ đã quen thuộc với các thao tác ví hiện tại và việc ký xác nhận giao dịch.
Tuy nhiên, nếu Lens là một cải tiến mới mà các nhà phát triển sẽ tiếp tục xây dựng. Việc kết hợp các sản phẩm mới, có nguồn gốc từ Web3 với các tính năng của AA vẫn rất cần thời gian để người dùng làm quen với các key, ví, v.v.
Thu hút người dùng
Hiện tại để bắt đầu tham gia vào thế giới crypto, trước tiên là phải biết dùng ví. Tuy nhiên với AA, người dùng sẽ có hàng loạt cách khởi đầu khác nhau. Các ứng dụng có thể tích hợp với các ví có sẵn hoặc người dùng có thể đăng nhập bằng username/password quen thuộc. Mặt khác, các ứng dụng cũng có khả năng “phát” mỗi ID đăng nhập là một chiếc ví. Trong trường hợp này, những thách thức chuyển sang thành ví lưu ký và ví không lưu ký.
Tương tác trong app
AA có thể thay đổi hoàn toàn tương tác của người dùng với các ứng dụng Web3. Thông thường, người dùng phải thanh toán và ký tên vào từng giao dịch. Tuy nhiên, như nghiên cứu điển hình về Lens đã chỉ ra, có nhiều cách để loại bỏ các thành phần này.
Các ứng dụng có thể trả phí giao dịch của người dùng một cách tự nhiên, giúp loại bỏ rào cản ban đầu trong việc đảm bảo ví của người dùng có đủ tiền để tương tác với ứng dụng. Các giao dịch cũng có thể được đóng gói và phê duyệt trong một chữ ký duy nhất. Đối với các ứng dụng hiện có, chẳng hạn như trao đổi phi tập trung (DEX), người dùng phải phê duyệt token (giao dịch đầu tiên) và sau đó phê duyệt hoán đổi (giao dịch thứ hai). Với sự AA, chúng có thể được gộp thành một.
Để đơn giản hóa các thao tác, Lens Dispatcher mắc phải điểm yếu đó là cần lòng tin. Khi đó Session key wallets hoạt động như sau: Người dùng sẽ duyệt giao dịch, lượng gas fee phải trả cho giao dịch đó sẽ được thiết lập bởi nhà phát triển, đồng thời lượng gas đó chỉ được dùng để tương tác với một số contract nhất định trong một khoảng thời gian nhất định.
Ví dụ khi chơi game ta cần mua bán liên tục trong cửa hàng. Khi đó chúng ta sẽ phải xác nhận giao dịch một lần với một số tiền vừa đủ để mua hàng loạt món đồ mà không phải mỗi lần mua là một lần xác nhận giao dịch. Đồng thời lượng tiền đó chỉ được người dùng sử dụng trong cửa hàng, tránh trường hợp tránh gặp sự cố an ninh khi chúng đang nửa không thuộc về ta mà cũng nửa chưa được sử dụng để mua sắm.
Quản lý key
Ví EOA phụ thuộc vào người dùng bảo mật seed phrase. Nếu bị mất hoặc bị đánh cắp, ví sẽ bị tấn công. Ví smart contract đã được sử dụng trong Web3, nhưng sẽ cần thời gian để tương thích tốt với các dapp.
Các khái niệm hiện có như social recovery và key rotation là những ví dụ ý tưởng cụ thể để cải thiện UX bằng AA. Các tính năng quản lý key mới cũng đang được dần hé lộ. Ví dụ, hardware signer Secure Eniances của iPhone để ký giao dịch thay vì ví trình duyệt. Đội ngũ Braavos xây dựng trên StarkNet gần đây đã triển khai hardware signer vào ví di động của họ.
Từ ý tưởng đến hiện thực
Thực tế AA đã được nhắc đến từ những năm 2017 bởi Vitalik trong một EIP. Tuy nhiên khi đó hạ tầng mạng lưới Ethereum hoàn toàn chưa sẵn sàng và còn hàng tá nâng cấp quan trọng khác cần phải ưu tiên.
Giờ đây, The Merge đã hoàn tất và các builder đã chuyển sang cải tiến UX để onboard thêm nhiều người dùng phổ thông. Hiện tại các L2 như zkSync và StarkNet đang đua nhau tích hợp AA vào hạ tầng nền tảng của họ.
Layer 2: Nền tảng phát triển Account Abstraction
StarkNet và zkSync đều đang triển khai mạng lưới của họ với tính năng AA được tích hợp sẵn trong giao diện tài khoản. OpenZeppelin, Argent, Ledger và nhiều bên khác nhau đang cùng nhau thiết kế các giao diện tài khoản này. Các L2 như zkSync và StarkNet là các bên đi đầu trong việc thử nghiệm AA vì chi phí gas rẻ hơn rất nhiều so với Ethereum Mainnet.
Trên các L2 này, chỉ có một loại tài khoản duy nhất, khác với Ethereum có cả EOA và smart contract. Mọi tài khoản đều hoạt động như một tài khoản smart contract. Các devs chỉ cần làm quen với một giao diện tài khoản và có thể tiếp tục khai thác thêm các tiềm năng của ví smart contract.
Hiện Argent (cùng với Ledger và Cartridge) đang phát triển các plug-in để các dev khác có thể dễ dàng khai thác sử dụng. Session key wallets cũng tăng UX lên rất nhiều. Đầu năm nay, Proof of Concept là nền tảng để có thể dùng Session key trong game Web3 đã có mặt trên Starknet. Kể từ đó, các framework đã liên tục được tinh chỉnh và dev game sẽ có thể kết hợp các tính năng này vào game của họ.
Kết bài
Khi có thêm nhiều ông lớn truyền thống tham gia vào thị trường crypto, các game Web3 và hệ thống phi tập trung dần hoàn thiện. Khi đó mọi người sẽ chỉ tập trung tạo ra các quy tắc vận hành, các dapp sáng tạo mới. Việc đơn giản hóa các đặc tính blockchain bằng AA đang là bước đầu tiên phong cần thiết để tiến đến Mass Adoption. Reddit một bên đang sử dụng cách này. Ví dụ họ dùng “Bộ sưu tập kỹ thuật số” thay vì “NFT”, “Vault” thay vì “Ví”. Nhờ vậy các người dùng phổ thông mới sẽ dễ đón nhận và tham gia vào không gian crypto hơn.
Tuy nhiên, AA không phải là cách tiếp cận duy nhất để cải thiện UX. Một số dự án như Web3Auth đang xây dựng bộ công cụ phát triển phần mềm (SDK) để các nhà phát triển có thể tận dụng Multi-Party Computation (MPC) của họ và Coinbase cũng đã ra mắt ví MPC của riêng mình. Công nghệ MPC loại bỏ hoàn toàn trách nhiệm phải giữ kỹ các key. Sự đánh đổi ở đây là phải thực sự tin tưởng bên thứ 3 (ví dụ như Coinbase),
Vì vậy MPC là một giải pháp khá đi ngược với tinh thần Decentralize của crypto. Tuy nhiên Coinbase là một đơn vị uy tín. Coinbase có thể cung cấp cho những người dùng này khả năng truy cập vào DeFi và NFT trong một ứng dụng quen thuộc. Ngoài ra nhờ có MPC này mà Coinbase còn có thể lưu giữ khách hàng sử dụng sản phẩm.
Mặc dù cả công nghệ AA và công nghệ MPC đều có những ưu điểm riêng, các devs gần đây đang ưu tiên hơn với AA. Ví Starknet Burner đã giành chiến thắng trong cuộc thi hackathon Starknet vào đầu năm nay, hai ví ứng dụng AA khác chiến thắng ETH Bogota và Authsome đã giành được thành tích rất tốt trong cuộc thi hackathon ETH Lisbon. Hiện giờ sẽ cần thêm thời gian để các dapp có thể làm quen và tích hợp tốt các ví AA. Khi đó chắc chắn crypto sẽ bùng nổ với nhiều người dùng mới xuất hiện.
Nguồn bài viết: Account Abstraction: Simplifying User Experience and Self-Custody | Messari