Ethereum sử dụng hai loại tài khoản: tài khoản do bên ngoài sở hữu (EOA) và tài khoản hợp đồng. EOAs được kiểm soát bởi khóa riêng và được các cá nhân hoặc ứng dụng sử dụng để ký các giao dịch. Những tài khoản này có cấu trúc đơn giản. Chúng bao gồm một nonce, số dư và khóa công khai liên quan nhưng không có mã nội bộ. Khi một người dùng ký một giao dịch từ một EOA, Máy ảo Ethereum (EVM) xác minh chữ ký và trừ phí gas trước khi thực hiện giao dịch. Ngược lại, các tài khoản hợp đồng được kiểm soát bởi mã và không tự khởi xướng hành động. Chúng chỉ phản hồi các giao dịch được kích hoạt bởi EOAs. EVM xử lý logic hợp đồng và lưu trữ trạng thái, nhưng một hợp đồng không thể ký các giao dịch độc lập hoặc khởi xướng chúng mà không có đầu vào từ bên ngoài.
Kiến trúc này hạn chế chức năng của các tài khoản trên Ethereum. Vì tất cả hoạt động phải xuất phát từ EOA và mỗi giao dịch đều yêu cầu một chữ ký mật mã hợp lệ, các tính năng nâng cao như xác thực đa yếu tố, phục hồi xã hội và các hoạt động gộp yêu cầu các giải pháp phức tạp. Những hạn chế này đã thúc đẩy khái niệm trừu tượng hóa tài khoản—để làm cho tất cả các tài khoản có thể lập trình được và thống nhất sự phân biệt giữa hoạt động do người dùng kiểm soát và hoạt động do hợp đồng kiểm soát.
Trừu tượng hóa tài khoản sửa đổi lộ trình xác thực của các giao dịch bằng cách cho phép tài khoản tự định nghĩa cách các hành động được phê duyệt và thực hiện. Thay vì yêu cầu một chữ ký từ một khóa riêng cụ thể, một ví hợp đồng thông minh có thể định nghĩa logic của riêng nó cho việc xác thực. Logic này có thể bao gồm chữ ký ngưỡng, kiểm tra thiết bị phần cứng, hoặc quy tắc cho giới hạn chi tiêu và khóa thời gian.
Một trong những thay đổi có ảnh hưởng nhất được giới thiệu bởi trừu tượng hóa tài khoản là việc tách rời việc thanh toán gas khỏi người gửi. Truyền thống, người khởi tạo giao dịch phải trả phí gas bằng ETH. Dưới trừu tượng hóa tài khoản, logic xác thực có thể cho phép các bên thứ ba - được gọi là paymasters - chi trả phí gas thay cho người dùng. Điều này mở ra những khả năng mới như tài trợ cho giao dịch cho người dùng lần đầu, cho phép tương tác dApp không cần gas, hoặc thanh toán phí bằng stablecoin hoặc token dự án gốc.
Hơn nữa, việc trừu tượng hóa tài khoản giới thiệu khả năng gộp nhiều thao tác thành một giao dịch duy nhất. Ví dụ, một người dùng có thể phê duyệt một token, thực hiện một giao dịch hoán đổi và chuyển tiền trong một hành động, giảm số lượng xác nhận cần thiết và cải thiện trải nghiệm người dùng. Những cải tiến này giảm đáng kể ma sát trong các tương tác dApp trong khi vẫn duy trì tính bảo mật và khả năng kết hợp.
ERC-4337, được hoàn tất vào năm 2023, đại diện cho một cột mốc trong hành trình của Ethereum hướng tới việc trừu tượng hóa tài khoản. Khác với những đề xuất trước đây như EIP-2938, ERC-4337 không yêu cầu thay đổi trong lớp đồng thuận của Ethereum. Thay vào đó, nó hoạt động hoàn toàn trong môi trường hợp đồng thông minh hiện có bằng cách giới thiệu một luồng giao dịch song song sử dụng một mempool thay thế và một kiến trúc hợp đồng cụ thể.
Dưới ERC-4337, các giao dịch được thay thế bằng UserOperations—các đối tượng dữ liệu mô tả các hành động mong muốn nhưng không được gửi đến mempool truyền thống. Các UserOperations này được thu thập bởi các tác nhân chuyên biệt bên ngoài chuỗi được gọi là bundlers. Một bundler tổng hợp nhiều UserOperations thành một giao dịch Ethereum tiêu chuẩn và gửi nó đến blockchain.
Trên chuỗi, một hợp đồng đơn lẻ gọi là EntryPoint xác minh và xử lý các hoạt động gộp này. EntryPoint tương tác với các tài khoản thông minh của người dùng, những tài khoản định nghĩa logic xác thực của riêng họ và ủy quyền việc thực hiện các giao dịch sau khi được xác thực. Để thanh toán phí gas, các tài khoản có thể tùy chọn tương tác với các paymaster, những người tài trợ chi phí thực hiện theo các điều kiện được chỉ định trong mã.
Cấu trúc này cho phép một cách hỗ trợ trừu tượng tài khoản phi tập trung, không cần sự cho phép mà không cần sửa đổi giao thức cơ bản của Ethereum. Kết quả là, các nhà phát triển có thể triển khai ví hợp đồng thông minh mà hoạt động như các EOA từ quan điểm của người dùng nhưng cung cấp chức năng phong phú hơn nhiều.
Solana có cách tiếp cận hoàn toàn khác đối với việc trừu tượng hóa tài khoản bằng cách hỗ trợ nó ở cấp độ giao thức. Tài khoản Solana không được chia thành EOA và tài khoản hợp đồng. Thay vào đó, tất cả các tài khoản trên Solana đều là các thùng chứa lưu trữ đa mục đích có thể chứa dữ liệu, được gán quyền sở hữu và tương tác với các chương trình.
Trong mô hình của Solana, việc xác thực các hành động được nhúng trong chính các chương trình (hợp đồng thông minh). Địa chỉ phát sinh từ chương trình (PDA) là một yếu tố quan trọng của hệ thống này. Đây là các địa chỉ xác định được tạo ra từ các hạt giống và chương trình mà không có khóa riêng liên kết. Thay vào đó, chúng được kiểm soát bởi logic chương trình và có thể thực hiện các hành động khi các điều kiện thích hợp được đáp ứng.
Vì sự linh hoạt tự nhiên này, Solana đã cung cấp các tính năng như ủy quyền nhiều chữ ký, phân quyền tài khoản và thanh toán phí từ bên thứ ba mà không cần yêu cầu các tiêu chuẩn bên ngoài hoặc các quy trình giao dịch mô phỏng. Các ví như Phantom và Solflare đã tích hợp những khả năng này từ sớm, cho thấy trải nghiệm người dùng liền mạch và kiểm soát lập trình các quỹ. Điều này trái ngược với Ethereum, nơi chức năng tương tự phụ thuộc vào các lớp phủ như ERC-4337 và mạng bundler.
Ethereum sử dụng hai loại tài khoản: tài khoản do bên ngoài sở hữu (EOA) và tài khoản hợp đồng. EOAs được kiểm soát bởi khóa riêng và được các cá nhân hoặc ứng dụng sử dụng để ký các giao dịch. Những tài khoản này có cấu trúc đơn giản. Chúng bao gồm một nonce, số dư và khóa công khai liên quan nhưng không có mã nội bộ. Khi một người dùng ký một giao dịch từ một EOA, Máy ảo Ethereum (EVM) xác minh chữ ký và trừ phí gas trước khi thực hiện giao dịch. Ngược lại, các tài khoản hợp đồng được kiểm soát bởi mã và không tự khởi xướng hành động. Chúng chỉ phản hồi các giao dịch được kích hoạt bởi EOAs. EVM xử lý logic hợp đồng và lưu trữ trạng thái, nhưng một hợp đồng không thể ký các giao dịch độc lập hoặc khởi xướng chúng mà không có đầu vào từ bên ngoài.
Kiến trúc này hạn chế chức năng của các tài khoản trên Ethereum. Vì tất cả hoạt động phải xuất phát từ EOA và mỗi giao dịch đều yêu cầu một chữ ký mật mã hợp lệ, các tính năng nâng cao như xác thực đa yếu tố, phục hồi xã hội và các hoạt động gộp yêu cầu các giải pháp phức tạp. Những hạn chế này đã thúc đẩy khái niệm trừu tượng hóa tài khoản—để làm cho tất cả các tài khoản có thể lập trình được và thống nhất sự phân biệt giữa hoạt động do người dùng kiểm soát và hoạt động do hợp đồng kiểm soát.
Trừu tượng hóa tài khoản sửa đổi lộ trình xác thực của các giao dịch bằng cách cho phép tài khoản tự định nghĩa cách các hành động được phê duyệt và thực hiện. Thay vì yêu cầu một chữ ký từ một khóa riêng cụ thể, một ví hợp đồng thông minh có thể định nghĩa logic của riêng nó cho việc xác thực. Logic này có thể bao gồm chữ ký ngưỡng, kiểm tra thiết bị phần cứng, hoặc quy tắc cho giới hạn chi tiêu và khóa thời gian.
Một trong những thay đổi có ảnh hưởng nhất được giới thiệu bởi trừu tượng hóa tài khoản là việc tách rời việc thanh toán gas khỏi người gửi. Truyền thống, người khởi tạo giao dịch phải trả phí gas bằng ETH. Dưới trừu tượng hóa tài khoản, logic xác thực có thể cho phép các bên thứ ba - được gọi là paymasters - chi trả phí gas thay cho người dùng. Điều này mở ra những khả năng mới như tài trợ cho giao dịch cho người dùng lần đầu, cho phép tương tác dApp không cần gas, hoặc thanh toán phí bằng stablecoin hoặc token dự án gốc.
Hơn nữa, việc trừu tượng hóa tài khoản giới thiệu khả năng gộp nhiều thao tác thành một giao dịch duy nhất. Ví dụ, một người dùng có thể phê duyệt một token, thực hiện một giao dịch hoán đổi và chuyển tiền trong một hành động, giảm số lượng xác nhận cần thiết và cải thiện trải nghiệm người dùng. Những cải tiến này giảm đáng kể ma sát trong các tương tác dApp trong khi vẫn duy trì tính bảo mật và khả năng kết hợp.
ERC-4337, được hoàn tất vào năm 2023, đại diện cho một cột mốc trong hành trình của Ethereum hướng tới việc trừu tượng hóa tài khoản. Khác với những đề xuất trước đây như EIP-2938, ERC-4337 không yêu cầu thay đổi trong lớp đồng thuận của Ethereum. Thay vào đó, nó hoạt động hoàn toàn trong môi trường hợp đồng thông minh hiện có bằng cách giới thiệu một luồng giao dịch song song sử dụng một mempool thay thế và một kiến trúc hợp đồng cụ thể.
Dưới ERC-4337, các giao dịch được thay thế bằng UserOperations—các đối tượng dữ liệu mô tả các hành động mong muốn nhưng không được gửi đến mempool truyền thống. Các UserOperations này được thu thập bởi các tác nhân chuyên biệt bên ngoài chuỗi được gọi là bundlers. Một bundler tổng hợp nhiều UserOperations thành một giao dịch Ethereum tiêu chuẩn và gửi nó đến blockchain.
Trên chuỗi, một hợp đồng đơn lẻ gọi là EntryPoint xác minh và xử lý các hoạt động gộp này. EntryPoint tương tác với các tài khoản thông minh của người dùng, những tài khoản định nghĩa logic xác thực của riêng họ và ủy quyền việc thực hiện các giao dịch sau khi được xác thực. Để thanh toán phí gas, các tài khoản có thể tùy chọn tương tác với các paymaster, những người tài trợ chi phí thực hiện theo các điều kiện được chỉ định trong mã.
Cấu trúc này cho phép một cách hỗ trợ trừu tượng tài khoản phi tập trung, không cần sự cho phép mà không cần sửa đổi giao thức cơ bản của Ethereum. Kết quả là, các nhà phát triển có thể triển khai ví hợp đồng thông minh mà hoạt động như các EOA từ quan điểm của người dùng nhưng cung cấp chức năng phong phú hơn nhiều.
Solana có cách tiếp cận hoàn toàn khác đối với việc trừu tượng hóa tài khoản bằng cách hỗ trợ nó ở cấp độ giao thức. Tài khoản Solana không được chia thành EOA và tài khoản hợp đồng. Thay vào đó, tất cả các tài khoản trên Solana đều là các thùng chứa lưu trữ đa mục đích có thể chứa dữ liệu, được gán quyền sở hữu và tương tác với các chương trình.
Trong mô hình của Solana, việc xác thực các hành động được nhúng trong chính các chương trình (hợp đồng thông minh). Địa chỉ phát sinh từ chương trình (PDA) là một yếu tố quan trọng của hệ thống này. Đây là các địa chỉ xác định được tạo ra từ các hạt giống và chương trình mà không có khóa riêng liên kết. Thay vào đó, chúng được kiểm soát bởi logic chương trình và có thể thực hiện các hành động khi các điều kiện thích hợp được đáp ứng.
Vì sự linh hoạt tự nhiên này, Solana đã cung cấp các tính năng như ủy quyền nhiều chữ ký, phân quyền tài khoản và thanh toán phí từ bên thứ ba mà không cần yêu cầu các tiêu chuẩn bên ngoài hoặc các quy trình giao dịch mô phỏng. Các ví như Phantom và Solflare đã tích hợp những khả năng này từ sớm, cho thấy trải nghiệm người dùng liền mạch và kiểm soát lập trình các quỹ. Điều này trái ngược với Ethereum, nơi chức năng tương tự phụ thuộc vào các lớp phủ như ERC-4337 và mạng bundler.