logo
  • Tin tức
  • Báo cáo
  • Sự kiện
  • Nổi bật
  • Coin68 TV
  • E-Magazine
  • Góc nhìn
  • Báo cáo
  • Sự kiện
  • Nổi bật
  • Coin68 TV
  • E-Magazine
  • Góc nhìn
ads

Account Abstraction – Khi ví crypto và smart contract hợp làm một

-11/08/2022

Ethereum thì có The Merge để kết hợp Proof-of-Work và Proof-of-Stake, còn chuyện gì sẽ xảy ra nếu ta kết hợp ví crypto với smart contract – ta được “Account Abstraction”. Vậy Account Abstraction là gì?

Account Abstraction – Khi ví crypto và smart contract hợp làm một

Trước khi đọc bài viết này, hãy cùng hồi tưởng lại cuộc sống của hơn trăm năm về trước, khi công nghệ vẫn chưa đạt được đến trình độ phát triển như bây giờ.

Chiếc xe đạp đầu tiên mà Karl von Drais tạo ra vào năm 1817 vẫn là một “khối sắt” chủ yếu dựa vào sức người để chuyển động. Đến năm 1885, chiếc xe chạy máy của Gottlieb Daimler Wilhelm Maybach trở thành phương tiện đầu tiên dùng động cơ đốt trong để vận hành. Năm 1886, Carl Benz đặt nền móng cho ngành sản xuất ô tô với một phương tiện ba bánh sử dụng động cơ turbine khí để hoạt động với sức chứa lớn hơn so với một chiếc xe máy hai bánh. 

Tua nhanh tới thời điểm hiện tại, chúng ta đã biết tới những chiếc xe tự lái. Chúng ta sẽ ít cần phải dùng sức hơn để điều khiển một phương tiện công cộng. Một thế giới tiện lợi và nhanh chóng hơn rất nhiều. 

Hành trình trăm năm trước mà ông cha đã trải qua cũng tương tự như những gì mà thế giới Web3 đang chứng kiến vậy. Cũng bắt đầu từ những phức tạp và rối rắm về mặt trải nghiệm để dần hoàn thiện rồi đi đến một sản phẩm chỉn chu và tiện dụng hơn. Tất cả đều hướng đến mục tiêu đơn giản hóa những tác vụ cần thực hiện giúp tiết kiệm thời gian và nâng cao năng suất làm việc của chính con người. 

Xem thêm: Argent là gì

Một ngàn nỗi đau mang tên… ví crypto

Điều rối rắm đầu tiên mà có lẽ người dùng Web3 hiện đang gặp phải có lẽ bắt đầu từ những chiếc ví crypto. Để thực hiện một tác vụ mua bán hay ủy quyền nào đó, người dùng sẽ phải sử dụng ví của mình để tương tác với hợp đồng thông minh (smart contract), hay nói cách khác, hợp đồng thông minh sẽ chỉ chạy khi nhận được tương tác từ ví. Về mặt kỹ thuật, các ví crypto hiện tại không thể tự thực hiện những thao tác phức tạp, vì vậy chúng phải tương tác nhiều bước với các hợp đồng “thông minh”, chứ bản thân chúng vẫn chưa được… thông minh cho lắm. 

Lấy ví dụ với Tornado Cash – một nền tảng bảo vệ quyền riêng tư của người dùng khi giao dịch trên Ethereum. Các bước di chuyển của dòng tiền trên Tornado Cash diễn ra như sau:

Cơ chế xúc tiến giao dịch ẩn danh của Tornado Cash

1. Người dùng chuyển 100 ETH lên hợp đồng thông minh của Tornado Cash. 

2. Tornado Cash ghi nhận khoản tiền này vào cây Merkle Tree (cấu trúc cho phép lưu trữ dữ liệu trên blockchain một cách an toàn và tiện lợi) gồm rất nhiều “lá” (mỗi lá đại diện cho một điểm dữ liệu ghi nhận khoản tiền được gửi lên Tornado).

3. Khi muốn rút tiền khỏi Tornado, người dùng sẽ gửi bằng chứng xác thực ZK-SNARK để chứng minh rằng họ đã gửi một khoản tiền lên Tornado nhưng không tiết lộ ra khoản tiền của họ là điểm dữ liệu nào trên Merkle Tree.

4. Hợp đồng thông minh của Tornado Cash sẽ xác thực thông tin này và gửi 100 ETH đến một địa chỉ ví khác mà người dùng mong muốn; tuy nhiên, phí gas vẫn phải được trả để hoàn thành giao dịch cuối cùng này, và nếu người dùng sử dụng ví hiện tại để trả phí gas, điều này sẽ vô tình tạo ra một sợi dây kết nối giữa ví gửi và ví nhận, làm mất đi tính riêng tư cần có khi sử dụng giao thức này.

Một lần nữa, relayer lại tiếp tục được sử dụng để trả khoản phí này để tránh tiết lộ thêm thông tin về người gửi, làm dấy lên những lo ngại về tính phi tập trung của một dự án crypto.

Những loại ví như Argent, Gnosis Safe, hay Authereum đã được tích hợp nhiều tính năng hơn so với những ví thông thường nhờ vào sự đa dụng của smart contract. Tuy nhiên, đối với các ví này, vì tiền của người dùng sẽ được lưu trữ trong smart contract, nên chúng lại cần tới một tài khoản khác nữa có chứa ETH để trả phí cho mỗi giao dịch. Để vượt qua trở ngại đó, các dự án trên cần phải sử dụng tới relayer, một bên thứ ba có vai trò trả phí giao dịch bằng token nền tảng để đổi lại phí dịch vụ được trả bằng một loại tiền tệ khác. Điều này phần nào đi ngược lại với triết lý phi trung gian hóa (disintermediation) vốn có của blockchain và crypto.

Giấc mơ Account Abstraction

May mắn thay, Vitalik Buterin, nhà sáng lập của Ethereum, đã đề xuất ra một giải pháp để khắc phục tình trạng này: Account Abstraction.

Hiện tại, trên Ethereum tồn tại hai loại tài khoản (account). Một là EOAExternally Owned Account, là các tài khoản mà người dùng bình thường sở hữu và kiểm soát, có kèm theo một cặp public-private key để gửi và nhận crypto. Những giao dịch gửi/nhận này diễn ra bên ngoài Máy ảo Ethereum (EVM).

Hai là Contract Account, là những đoạn code cho phép thực hiện các tác vụ linh hoạt hơn. Contract account chính là smart contract (hợp đồng thông minh) tồn tại trên máy ảo Ethereum.

Quy trình hoạt động của ví EOA

Mục tiêu mà Account Abstraction hướng đến là hợp nhất cả hai loại account nêu trên lại, và các đoạn code trên EVM sẽ không chỉ thực hiện các logic của một ứng dụng (application), mà sẽ kiêm luôn việc thực hiện logic xác minh giao dịch (verification logic) liên quan tới nonces và chữ ký. Nói cách khác, với Account Abstraction, ví crypto sẽ không chỉ là một giao diện cho phép người dùng tương tác với blockchain mà sẽ chính là các hợp đồng thông minh được khởi chạy theo điều kiện đặt ra bởi người dùng.

Mô tả quy trình của ví Account Abstraction

Nhờ vậy, Account Abstraction có thể mang lại nhiều tính năng hơn các EOA, ví dụ như:

1/ Tính năng social recovery;

2/ Cho phép trả phí giao dịch bằng các token khác không phải ETH;

3/ Giao dịch đa chữ ký (multisig transaction);

Tiền sẽ được để trong một tài khoản chung và được trích ra để trả phí giao dịch, thay vì yêu cầu tất cả các ví tham gia vào multisig phải luôn có sẵn ETH.

4/ Ứng dụng nhiều thuật toán khác nhau để mã hóa chữ ký;

Hiện các ví EOA chỉ có thể sử dụng thuật toán ECDSA để mã hóa chữ ký, nhưng trong tương lai, việc có nhiều dạng thuật toán mã hóa được tích hợp vào sẽ giúp nâng cao tính bảo mật cho ví hơn.

5/ Loại bỏ relayer, giúp bài toán về Tornado Cash ở trên có thể bảo vệ sự riêng tư của người dùng mà không cần dựa vào một bên thứ ba;

6/ Sử dụng làm công cụ arbitrage (kiếm lời từ chênh lệch giá).

Với những arbitrageur chuyên nghiệp, họ có thể để sẵn tiền trên các sàn DEX và thực hiện các lệnh giao dịch mỗi khi cơ hội arbitrage xuất hiện. Với Account Abstraction, họ có thể đặt thêm một lệnh giới hạn giá giao dịch (price limit) và vì vậy, khi cơ hội arbitrage đã bị cướp mất bởi những arbitrageurs khác, giao dịch của họ sẽ không được gửi lên blockchain, từ đó giúp loại bỏ những giao dịch “rác”, tránh đi những cuộc chiến vô nghĩa về phí gas và giúp nền tảng blockchain của Ethereum mở rộng tốt hơn.

Khi giấc mơ vẫn mãi là giấc mơ

Mặc cho những điểm ưu việt mà Account Abstraction mang lại, cũng như những đề xuất về mặt kĩ thuật liên tục được cải tiến, việc thực sự triển khai Account Abstraction vẫn còn khá xa vời bởi nó đòi hỏi nhiều sự thay đổi quan trọng trong giao thức lõi của Ethereum. Tuy nhiên, với sự xuất hiện của các dự án Layer 2 mới vốn vẫn còn nhiều khoảng trống để thay đổi và thích nghi, Account Abstraction được hi vọng sẽ trở thành một chiếc chìa khóa quan trọng được xây dựng trên những nền tảng này. 

Optimism đã từng triển khai Account Abstraction ở dạng cơ bản nhưng sau đó đã phải bỏ đi vì lý do bảo mật và cũng vì để tương thích với EVM hơn. StarkNet đã có cài đặt về Account Abstraction trên nền tảng rollup của họ. Matter Labs, công ty đằng sau dự án ZK-rollup zkSync, đã thêm tính năng này vào bản cập nhật trên testnet v2 của họ hồi tháng 6 năm nay, đem đến nhiều hi vọng hơn cho ước mơ mang tên Account Abstraction đối với cộng đồng Ethereum.

Mai Phan

Xem thêm các bài viết khác của tác giả Mai Phan:

-11/08/2022
logo-footer
Kết nối với chúng tôi
    Coin68 là nơi cung cấp cái nhìn tổng quan nhanh và chính xác nhất về tiến bộ công nghệ blockchain trên toàn cầu.
      Copyright © 2016 by Coin68