
EOA và smart account: những khác biệt thực sự quan trọng
Nếu bạn từng dùng ví tiền mã hóa, bạn đã dùng một tài khoản. Nhưng không phải mọi tài khoản trên Ethereum đều giống nhau. Có hai loại khác nhau về bản chất, và sự khác biệt đó định hình gần như mọi thứ về cách ví của bạn hoạt động: bạn ký ra sao, ai có thể ủy quyền một khoản thanh toán, bạn khôi phục quyền truy cập thế nào, ai trả phí và bằng token nào.
Bài viết này lần lượt trình bày hai loại tài khoản — externally owned account (EOA) và smart account — rồi so sánh chúng theo những trục mà một người dùng tự lưu ký thực sự cảm nhận hằng ngày. Đây là bài thứ hai trong loạt bài về account abstraction của chúng tôi; nếu bạn chưa đọc Account abstraction từ các nguyên lý đầu tiên, đó là một điểm khởi đầu tốt. Ở đây chúng ta tập trung cụ thể vào sự phân biệt giữa EOA và smart account.
EOA là gì?
Externally owned account là tài khoản nguyên thủy của Ethereum. Nó được định nghĩa bởi đúng một cặp khóa secp256k1: một khóa riêng tư và khóa công khai dẫn xuất từ đó. Địa chỉ bạn thấy — chuỗi 0x... — được dẫn xuất từ khóa công khai ấy. Ai nắm giữ khóa riêng tư thì kiểm soát tài khoản, chấm hết.
Một khóa duy nhất ấy làm tất cả mọi việc. Nó ký mọi giao dịch bằng một chữ ký ECDSA. Không có mã nào gắn vào tài khoản, không quy tắc, không điều kiện. Khi một giao dịch đến, câu hỏi duy nhất của mạng lưới là: «Chữ ký này có hợp lệ cho địa chỉ này không?». Nếu có, giao dịch được thực thi.
Phần lớn các ví dạng tiện ích mở rộng trình duyệt mà bạn từng gặp — mô hình khóa đơn kiểu MetaMask — đều tạo ra EOA. Một cụm từ seed dẫn xuất khóa, khóa kiểm soát tài khoản, và bảo vệ cụm từ seed ấy chính là toàn bộ mô hình bảo mật. Nó đơn giản, được hiểu rõ và đã hoạt động suốt một thập kỷ. Nó cũng cứng nhắc: một khóa, một người ký, một sơ đồ chữ ký, và nếu khóa đó rò rỉ, tài khoản sẽ mất.
Smart account là gì?
Smart account là một tài khoản hợp đồng: một tài khoản mà hành vi của nó được định nghĩa bởi mã đã triển khai chứ không phải bởi một khóa đơn. Thay vì «chữ ký ECDSA duy nhất này có hợp lệ không», tài khoản chạy logic xác thực của riêng mình để quyết định có chấp nhận một thao tác hay không. Logic đó có thể lập trình được.
Vì các quy tắc nằm trong mã, một smart account có thể yêu cầu hai chữ ký thay vì một, chấp nhận các sơ đồ chữ ký khác ngoài ECDSA thuần, áp đặt hạn mức chi tiêu hoặc định nghĩa một lối khôi phục — bất cứ điều gì hợp đồng của nó quy định. Các ví hợp đồng thông minh kiểu Safe là một ví dụ nổi tiếng cho mô hình này. Trên Ethereum và các chuỗi EVM khác, tiêu chuẩn cho phép những tài khoản như vậy hành xử như tài khoản hạng nhất mà không cần thay đổi giao thức là ERC-4337.
Kiểm soát: một khóa so với quy tắc tùy biến
Đây là khác biệt chủ chốt. Một EOA có đúng một quy tắc khắc sẵn trong giao thức: một chữ ký ECDSA hợp lệ từ một khóa ủy quyền cho mọi thứ. Không có cách nào thêm một người phê duyệt bắt buộc thứ hai hoặc nói rằng «số tiền vượt ngưỡng này cần xác nhận thêm». Khóa chính là tài khoản.
Một smart account tự quyết định. Nó có thể yêu cầu một đa số multisig, hạn chế một số hành động hoặc bổ sung các khóa phiên. SSP dùng điều này để mang lại một 2-of-2 multisig: một khóa nằm trong tiện ích mở rộng trình duyệt SSP Wallet, khóa thứ hai nằm trong ứng dụng di động SSP Key, và logic xác thực của tài khoản yêu cầu cả hai phê duyệt trước khi chấp nhận bất kỳ giao dịch nào. Một tiện ích mở rộng trình duyệt bị rò rỉ đơn lẻ không thể di chuyển tiền, bởi vì hợp đồng đơn giản là sẽ không chấp nhận một ủy quyền bằng khóa đơn.
Khôi phục: điều gì xảy ra khi mất một khóa
Với một EOA, khóa chính là tài khoản. Mất cụm từ seed thì tài khoản không thể khôi phục; để lộ nó thì kẻ tấn công có toàn quyền kiểm soát. Không có biện pháp khắc phục tích hợp nào vì không có logic nào để viện đến — chỉ mỗi khóa duy nhất đó là quan trọng.
Một smart account có thể định nghĩa việc khôi phục như một phần trong các quy tắc của nó. Vì việc xác thực có thể lập trình được, một hợp đồng có thể quy định các lối ủy quyền thay thế, các bên khôi phục được chỉ định, hoặc việc luân chuyển khóa có độ trễ thời gian. Mô hình cụ thể của SSP là một 2-of-2: mất quyền truy cập vào một trong hai thiết bị không trao tiền của bạn cho kẻ tấn công, bởi vì cả hai chữ ký luôn được yêu cầu. Hiệu ứng thực tế là không thiết bị đơn lẻ nào là một điểm hỏng duy nhất.
Ai trả gas, và bằng token nào
Một EOA trả phí cho chính các giao dịch của mình, và trả bằng đồng coin gốc của chuỗi. Để di chuyển một token ERC-20 trên Ethereum, EOA vẫn cần ETH để trang trải gas. Nếu tài khoản của bạn có token nhưng không có ETH, bạn sẽ mắc kẹt — một trải nghiệm phổ biến và bực bội của người mới.
Một smart account có thể phá vỡ mối liên kết đó. Theo ERC-4337, một thành phần gọi là paymaster có thể tài trợ gas cho một thao tác, hoặc chấp nhận thanh toán bằng một token khác với đồng coin gốc. Phí có thể được một bên thứ ba chi trả hoặc được trả bằng chính token mà bạn đang di chuyển. Chúng tôi trình bày chi tiết điều này trong Tài trợ gas và paymaster được giải thích; điểm mấu chốt ở đây là «ai trả, và bằng gì» không còn cố định nữa.
Gộp nhiều hành động
Với một EOA, mỗi giao dịch là một thao tác riêng biệt, được ký riêng lẻ. Khuôn mẫu kinh điển của ERC-20 — phê duyệt cho một hợp đồng chi tiêu token của bạn, rồi gọi hợp đồng — là hai giao dịch, hai chữ ký, hai lần trả gas, theo tuần tự.
Một smart account có thể gộp nhiều hành động vào một thao tác duy nhất, hoặc thành công trọn vẹn hoặc bị hoàn lại trọn vẹn. Phê duyệt và hoán đổi trở thành một bước. Điều này một phần là tiện lợi và một phần là an toàn: không tồn tại trạng thái dở dang trong đó bạn đã cấp một phê duyệt nhưng hành động tiếp theo lại chẳng bao giờ xảy ra.
Các sơ đồ chữ ký
Một EOA xác minh một thứ: một chữ ký ECDSA trên secp256k1. Đó là sơ đồ duy nhất mà giao thức kiểm tra đối với externally owned account, và nó không thể thay đổi.
Một smart account xác minh bất cứ thứ gì mà mã của nó được viết để xác minh. Nó có thể kiểm tra nhiều chữ ký, các đường cong khác lạ, hoặc các chữ ký tổng hợp. Các tài khoản EVM của SSP xác minh một chữ ký tổng hợp Schnorr: hai chữ ký một phần từ tiện ích mở rộng trình duyệt và ứng dụng di động kết hợp lại — theo kiểu MuSig2 trên secp256k1 — thành một chữ ký on-chain duy nhất mà hợp đồng xác thực. Chuỗi nhìn thấy một chữ ký; mô hình bảo mật đằng sau nó là hai người phê duyệt độc lập. Đây là điều mà một EOA, về mặt cấu trúc, không thể làm.
Triển khai và địa chỉ
Một EOA tồn tại ngay khoảnh khắc một khóa tồn tại. Tạo một cặp khóa ngoại tuyến và địa chỉ tương ứng đã hợp lệ; nó chẳng tốn gì và không chạm tới hợp đồng nào. Tài khoản đơn giản là tồn tại.
Một smart account là một hợp đồng, nên nó phải được triển khai on-chain trước khi có thể mang hành vi do mã định nghĩa. Trên thực tế, các ví ERC-4337 dùng một địa chỉ tất định, phản thực tế: địa chỉ được tính trước từ các tham số của tài khoản, nên nó có thể nhận tiền trước khi hợp đồng thực sự được triển khai, và việc triển khai diễn ra ở lần dùng đầu tiên. Bạn có thể chia sẻ địa chỉ của mình và được thanh toán trước khi bất kỳ giao dịch triển khai nào hoàn tất.
Chi phí: sự đánh đổi trung thực
Khả năng lập trình không miễn phí. Vì một smart account chạy logic xác thực trong một hợp đồng, các thao tác của nó tốn gas nhiều hơn đôi chút so với một lần chuyển EOA thuần, vốn gần như rẻ nhất mà giao dịch Ethereum có thể đạt tới. Việc triển khai tài khoản lần đầu cũng có một chi phí một lần.
Với hầu hết người dùng tự lưu ký, đây là cái giá hợp lý để đổi lấy bảo mật hai khóa, các tùy chọn khôi phục, việc gộp và gas linh hoạt. Nhưng đó là một khác biệt có thật, và đáng để gọi tên rõ ràng thay vì nói lướt qua.
SSP dùng gì, và khi nào mỗi mô hình hợp lý
Nói thẳng: SSP dùng một smart account thông qua ERC-4337 để mang lại 2-of-2 multisig của mình trên các chuỗi EVM — Ethereum, Polygon, Base, BNB Smart Chain và Avalanche. Hợp đồng yêu cầu một chữ ký tổng hợp Schnorr được dựng từ cả hai thiết bị của bạn, và bản triển khai EVM của SSP đã được Halborn kiểm toán vào năm 2025. Để xem các mảnh ghép khớp với nhau ra sao, hãy đọc kiến trúc account abstraction của SSP, và để biết chi tiết riêng theo chuỗi, xem Ethereum trong SSP.
Vậy khi nào mỗi mô hình hợp lý? Một EOA là tài khoản đơn giản nhất có thể: gas rẻ nhất, tồn tại tức thời, không triển khai. Với một thiết lập một người dùng, một khóa nơi sự đơn giản là ưu tiên, nó hoàn toàn dùng tốt. Một smart account hợp lý khi bạn muốn những thuộc tính mà một khóa đơn không thể trao cho bạn — nhiều người phê duyệt bắt buộc, logic khôi phục, việc gộp, gas được tài trợ hoặc tính bằng token. Sự đánh đổi là gas cao hơn đôi chút và khái niệm triển khai.
Với một ví tự lưu ký mà toàn bộ tiền đề là không một khóa đơn nào nên là một điểm hỏng duy nhất, smart account là lựa chọn tự nhiên. Đó là lý do SSP được xây trên một smart account. Để tìm hiểu sâu hơn về chính mô hình tài khoản của Ethereum, tài liệu về tài khoản Ethereum là tham chiếu có thẩm quyền, và đặc tả ERC-4337 là tiêu chuẩn khiến smart account trở nên thiết thực ngày nay.


