COIN-TOKENAccount Abstraction là gì? Giải thích đơn giản về từ khoá đầy...

Account Abstraction là gì? Giải thích đơn giản về từ khoá đầy “trừu tượng” của hệ sinh thái Ethereum

Có lẽ khi nhắc về các từ khoá kỹ thuật trong thị trường tiền mã hoá, nhiều người sẽ có phản ứng đầu tiên là sự ngán ngẩm. Điều này một phần là vì sự phức tạp trong khâu tìm hiểu thông tin ban đầu, một phần là vì các từ khoá này được lợi dụng để “phù phép” cho các dự án. Tuy nhiên, bài viết hôm nay sẽ cố gắng đơn giản hoá nhất một khái niệm kỹ thuật, để sau đó mỗi người đọc sẽ có những góc nhìn của riêng mình về tiềm năng của nó nhé!

Account Abstraction là gì? Giải thích đơn giản về từ khoá đầy “trừu tượng” của hệ sinh thái Ethereum
Account Abstraction là gì? Giải thích đơn giản về từ khoá đầy “trừu tượng” của hệ sinh thái Ethereum
Nếu là người hay theo dõi Twitter thì dạo gần đây chắc anh em sẽ hay thấy từ khoá “Account Abstraction (AA)”. Từ khoá này thậm chí còn được chính nhà sáng lập Ethereum là Vitalik Buterin đề cập trong một bài viết hết sức chi tiết.

Vì sao?
Trước khi đi vào một khái niệm hết sức “trừu tượng”, chúng ta cần đặt ra một câu hỏi “Vì sao hay cụ thể là do vấn đề gì mà chúng ta cần đến Account Abstraction. Mình mất 5 ngày để đi tìm câu trả lời cho câu hỏi này, và mình tìm được nó trong một clip chia sẻ của Vitalik với cộng đồng vào tháng 10/2020. Mình sẽ để đường dẫn ở đây!

Cụ thể, vấn đề Vitalik chia sẻ được tóm gọn trong một câu: “Mọi thao tác thực hiện giao dịch thì có thể được lập trình linh hoạt. TUY NHIÊN, khâu xác thực để giao dịch đó được triển khai thì lại không hề linh hoạt”. Từ khoá được nhấn mạnh ở đây là “khâu xác thực”.

Chỗ này, mình sẽ tạm dịch là các thao tác với contract (swap, thêm thanh khoản, rút tiền khỏi pool,…) thì luôn được “lập trình” linh hoạt theo nhu cầu sử dụng, thông số hay các hàm (function). TUY NHIÊN, khâu xác thực rằng mình là chủ nhân của ví đó lại bị cố định, và chứa đựng những rào cản không đáng có. Những rào cản này bao gồm một vài thứ như sau:

Nonce Verification: Anh em có thể hiểu nonce là số thứ tự mà ví đã thực hiện, do đó giá trị này sẽ không thể bị lặp lại. Nếu có sự trùng lắp, sẽ xảy ra xung đột và giao dịch không thể được thực hiện một cách như mong muốn.
Chữ ký ECDSA: Mình không đi sâu giải thích khái niệm này, tạm thời anh em cứ nhớ cái thuật ngữ viết tắt và hiểu rằng nó là chữ ký ví cá nhân của bạn. Ký xong thì giao dịch được thực hiện.
Về khía cạnh ví đa chữ ký (multisig) và có thể dễ dàng khôi phục thì bọn mình có làm một bài viết về Social Recovery Wallet. Anh em quan tâm sâu hơn thì có thể bấm vào đường dẫn dưới đây.

Rồi, để tránh sao nhãng thì chúng ta quay trở lại với từ khoá chính của bài viết hôm nay. Vậy vì sao Account Abstraction được đề xuất từ rất lâu, nhưng hiện tại mới trở nên “nóng trở lại”?. Lí giải cho vấn đề này có thể là (a) mạng lưới phải tập trung xử lý các cập nhật liên quan đến The Merge và (b) phần lớn các đề xuất trong quá khứ (như EIP-86, EIP-2986,…anh em không cần nhớ mấy con số này đâu) phát sinh vài vấn đề.

Sau khi trả lời một vài câu hỏi vì sao, chúng ta sẽ đến với chi tiết về khái niệm AA.

Vậy Account Abstraction (AA) là gì?
Giải thích một cách đơn giản, AA sẽ là quá trình “smart contract hoá” các địa chỉ ví, khâu trả phí (gas fee) và cả khâu xác thực (validity). Như vậy, các ví cá nhân hoạt động riêng lẻ này sẽ được triển khai thành contract, để có thể linh hoạt thay đổi tuỳ theo mục đích sử dụng.

Để hiểu được sự khác nhau giữa một “địa chỉ contract” và một “địa chỉ ví cá nhân EOA” là gì thì anh em tìm đọc trước một bài mình giới thiệu về 2 khái niệm này, đồng thời có tặng kèm anh em một vài khái niệm để theo dõi dữ liệu trên Etherscan.

Cho những anh em lười đọc thì mình có thể tóm gọn là địa chỉ ví anh em dùng để nhận tiền, gửi tiền hằng ngày là EOA. Còn địa chỉ contract là các pool thanh khoản, các hợp đồng quy định lúc tham gia IDO,…

Thay đổi về mặt kỹ thuật
Như đề cập ở phần khái niệm, bây giờ các ví sẽ được chuyển sang một định dạng mới, phù hợp cho những nhu cầu cụ thể. Vì vậy, sẽ có một chuẩn token mới cho dạng tài sản này là ERC-4337.

Để anh em đỡ bị rối thì mình sẽ tóm gọn lại một vài dạng token như sau:

ERC-20: Token thường (fungible), đây là định dạng token phổ biến mà chúng ta hay lưu trữ.
ERC-721: Token độc nhất (non-fungible), thường dùng cho các dạng tài sản mang tính đặc trưng như NFT.
ERC-4626: Token Vault, thường được dùng để đại diện cho một bể tài sản, có khả năng hỗ trợ tích gộp lãi vào với vốn gốc. Nếu thấy dạng này lạ thì anh em đọc thêm ở bài viết này.
ERC-4337: Cuối cùng là 4337, có thể tạm hiểu là một “smart contract Wallet” – với khả năng thay đổi thao tác giao dịch, phí gas và xác thực một cách đa dạng tuỳ theo nhu cầu.
Một vài vấn đề phát sinh
Đầu tiên là khâu xác thực. Hiện tại, nếu một ví EOA thiết lập ví contract ERC-4337, rồi sau đó thay đổi key (mật khẩu) của ví mới tạo này, thì vấn đề phát sinh đó là mật khẩu cũ của ví ERC-4337 vẫn còn hữu hiệu trong quá trình xác thực song song với mặt khẩu mới.

Thứ hai đó là phí gas cho dạng ví này chưa được tối ưu. Trong bài viết của mình, Vitalik chia sẻ ERC-4337 tốn khoảng 31000 gas cho một thao tác, trong khi ví bình thường chỉ tốn 21000 gas. Như vậy, xét về mặt hiệu quả, thì ví contract tốn hơn ví thường 1,47 lần.

Lộ trình – Chúng ta đang ở đâu?
Hiện tại có thể thấy hạn chế của ERC-4337 là khá nhiều, do đó đội ngũ đang phải khắc phục những hạn chế này trong ngắn hạn.

Trong trung hạn, kế hoạch của đội ngũ là thêm Verkle Tree để quản lý khâu xác thực. Song song đó là tiếp tục giảm thiểu phí gas tiêu tốn, đồng thời hỗ trợ cổng chuyển từ EOA sang định dạng ERC-4337. Ngoài ra, nếu thiết lập thành công trên mainnet L1, giải pháp này sẽ được lên kế hoạch để phổ cập trên các hệ sinh thái L2.

Lộ trình cuối cùng đó là “mặc định hoá” cho dạng ví ERC-4337 này. Điều này đồng nghĩa, mục tiêu sẽ là thiết lập các dạng ví có thể dễ dàng thay đổi key, phí gas tuỳ theo nhu cầu sử dụng của người dùng.

Ứng dụng
Social recovery wallet: Đoạn này anh em có thể đọc về “Social Recovery Wallet” mà mình đã chia sẻ ở phần “Vì sao?”. Cách triển khai kiểu này sẽ phù hợp với các tổ chức DAO – những người muốn phi tập trung quyền kiểm soát ví ra nhiều chữ ký. Ngoài ra, việc phi tập trung chữ ký cũng giúp giảm thiểu rủi ro bảo mật, mất hoặc lộ key.

Mixer – (ví dụ như Tornado Cash): Đây là một từ khoá khá nhạy cảm trong thời gian gần đây khi Tornado cũng bị ảnh hưởng bởi giới chức quản lý tại Mỹ. Tuy nhiên nếu gạt khía cạnh này sang một bên, về mặt kỹ thuật, ERC-4337 cũng là một công cụ hỗ trợ đắc lực cho dạng sản phẩm mixer này, giúp bảo mật thông tin cho người dùng.

Anh em quan tâm hơn về mặt ứng dụng của Account Abstraction thì có thể tìm đọc sâu hơn trong bài viết này nhé!

Câu chuyện bên lề
Account Abstraction có thể sẽ là giải pháp cho sự phức tạp hay những sai lầm không đáng có, điển hình như vụ việc giữa Wintermutes và Optimism. Mình sẽ tạm tóm tắt vụ việc này dưới đây.

Trích bài đăng trong cộng đồng Optimism của wishful_cynic (đại diện phía Wintermutes)
Trích bài đăng trong cộng đồng Optimism của wishful_cynic (đại diện phía Wintermutes)
Theo đó, đội ngũ Wintermutes đã thiết lập một ví multisig trên Mainnet của Ethereum. Tuy nhiên, địa chỉ ví multisig khi được khởi tạo trên Mainnet sẽ hoàn toàn khác địa chỉ ví multisig khi được khởi tạo trên một chain tương thích EVM khác (trong trường hợp này là Optimism). Chính sự khác nhau này dẫn đến khoản thiệt hại 20 triệu OP của Wintermutes sau đó.

Anh em có thể tự mình thử nghiệm tạo một ví multisig bằng Gnosis Safe, sẽ thấy rằng dù dùng 2 địa chỉ EOA gốc y hệt, nhưng khi tạo ví multisig ở 2 chain khác nhau, sẽ thấy địa chỉ ví multisig này có 2 địa chỉ hoàn toàn khác.

Tạm kết
Như vậy là chúng ta đã cùng điểm qua một vài thông tin đáng chú ý xoay quanh từ khoá Account Abstraction. Anh em nào thấy những chủ đề này hấp dẫn thì có thể tham gia thảo luận thêm với bọn mình ở trong group Fomo Sapiens. À, sẵn tiện mình cũng có tạo một ví multisig cho Fomo Sapiens để trải nghiệm, anh em nào thấy nội dung trên đây hấp dẫn và muốn donate cho bọn mình thì có thể gửi vào địa chỉ ETH này nhé!

0x38B63ee16CFA6522d364f3d54BaE738907130920

Hãy nhớ rằng đây là ví multisig và chỉ có hiệu nghiệm trên mainnet Ethereum thôi nhé! Bạn gửi vào chain khác thì tan vào hư không giống Wintermutes đấy! Và lưu ý là chỉ donate khi bạn thực sự muốn donate!

Rồi cuối cùng cảm ơn anh em đã đọc đến hết bài! Hẹn sớm gặp lại anh em trong một bài viết khác!

spot_img

Exclusive content

Latest article

More article

Translate »