
ERC-777 là một tiêu chuẩn token trên Ethereum, xác định cách thức chuyển token, cách hợp đồng thông minh nhận token an toàn và cách người dùng ủy quyền cho người khác chuyển token thay mình. Tiêu chuẩn này duy trì khả năng tương thích với hệ sinh thái ERC-20, đồng thời bổ sung các tính năng như tiếp nhận token lập trình và hành động ủy quyền dựa trên operator.
ERC-777 được đề xuất qua Đề xuất Cải tiến Ethereum (EIP-777) và hoàn thiện vào năm 2019 nhằm khắc phục các hạn chế của các tiêu chuẩn token trước đó, đặc biệt là trải nghiệm tiếp nhận token qua hợp đồng và khả năng mở rộng. Nhiều triển khai cung cấp cả giao diện ERC-777 và ERC-20 để ví và sàn giao dịch nhận diện, tương thích dễ dàng.
Mục tiêu chính của ERC-777 là chuẩn hóa tính năng tiếp nhận lập trình và ủy quyền chuyển giao, giảm thao tác phê duyệt/chuyển thủ công, đồng thời hạn chế rủi ro gửi token vào hợp đồng không thể nhận.
Giai đoạn đầu của ERC-20, hợp đồng không thể tự động phát hiện token gửi đến và phải dựa vào hàm phụ trợ hoặc lắng nghe sự kiện. ERC-777 khắc phục bằng callback khi nhận token, giúp bên nhận xử lý ngay—như ghi nhận, cấp quyền, hoặc từ chối nguồn bất thường.
Lõi của ERC-777 là “receive hooks” (hàm nhận) và “interface discovery” (phát hiện giao diện). Receive hook là cảnh báo cho bên nhận (người dùng hoặc hợp đồng) khi token đến, cho phép thực thi logic định sẵn như cập nhật dữ liệu hoặc từ chối chuyển khoản.
Để bên gửi biết bên nhận có hỗ trợ hook không, ERC-777 dựa vào registry EIP-1820—“sổ địa chỉ” trên blockchain ghi nhận các giao diện mỗi địa chỉ hỗ trợ. Khi chuyển token, hợp đồng sẽ truy vấn registry này; nếu địa chỉ nhận đã đăng ký giao diện receive hook, hợp đồng sẽ gọi hook đó trước hoặc sau khi chuyển token.
ERC-777 còn giới thiệu “operator”—tài khoản được ủy quyền có thể thay bạn thực hiện chuyển token. Điều này phù hợp với dịch vụ lưu ký, thanh toán tự động hoặc các hoạt động tài chính hàng loạt trong doanh nghiệp.
Điểm khác biệt chính là tiếp nhận lập trình và hỗ trợ chuyển giao ủy quyền. ERC-777 tích hợp sẵn receive hook và operator, còn ERC-20 chỉ dựa vào các luồng transfer/approve/transferFrom cơ bản.
Để tương thích, nhiều token ERC-777 cũng triển khai giao diện ERC-20 để ví và sàn cũ nhận diện. Tuy nhiên, ERC-777 phụ thuộc vào EIP-1820 để phát hiện giao diện nên một số hợp đồng hoặc công cụ cũ có thể hoạt động khác nếu không hỗ trợ cơ chế này.
Về thiết kế, ERC-777 cho phép bên nhận tự động xử lý chuyển khoản đến, nâng cao trải nghiệm người dùng. Tuy nhiên, hook cũng làm tăng rủi ro bảo mật và độ phức tạp—lập trình viên phải đặc biệt chú ý các nguy cơ như tấn công reentrancy.
Với người dùng phổ thông, sử dụng token ERC-777 gần như giống chuyển ERC-20: đa số ví chỉ cần địa chỉ và số lượng. Nếu bên nhận là hợp đồng hỗ trợ hook, nhận token sẽ tự động kích hoạt logic như cập nhật dữ liệu hoặc cấp quyền truy cập.
Bước 1: Xác nhận ví hoặc ứng dụng của bạn nhận diện token ERC-777. Kiểm tra tài liệu token và hướng dẫn ví để đảm bảo hỗ trợ tiếp nhận và hiển thị qua hook.
Bước 2: Thử chuyển một lượng nhỏ. Gửi số lượng tối thiểu đến địa chỉ đích để xác minh hợp đồng nhận xử lý đúng việc tiếp nhận, ghi nhận và phản hồi.
Bước 3: Quản lý ủy quyền operator. Nếu ứng dụng có giao diện quản lý operator, chỉ cấp quyền cho địa chỉ tin cậy và thường xuyên kiểm tra, hủy các ủy quyền không cần thiết.
Với sàn giao dịch, luôn xác nhận hỗ trợ tiêu chuẩn trước khi nạp/rút. Ví dụ, khi dùng Gate để nạp/rút, hãy kiểm tra tài liệu chính thức hoặc liên hệ hỗ trợ để xác nhận có kênh ERC-777 không. Nếu chỉ hỗ trợ ERC-20, hãy làm theo hướng dẫn chọn đúng mạng và địa chỉ hợp đồng để tránh mất tài sản.
ERC-777 lý tưởng cho các tình huống “nhận là thực thi”:
Đến năm 2025, các giao thức DeFi lớn vẫn dùng ERC-20 là chủ yếu. Tuy nhiên, với ứng dụng chuyên biệt cần xử lý tức thời khi nhận, ERC-777 mang lại trải nghiệm mượt mà hơn.
Rủi ro lớn nhất là tấn công reentrancy do receive hook. Nếu hợp đồng nhận gọi ra ngoài từ trong hook, kẻ xấu có thể lợi dụng rút tiền nhiều lần. Thực tế, các sự cố reentrancy và tương thích liên quan hook ERC-777 đã gây thiệt hại cho một số giao thức (đặc biệt trong thảo luận cộng đồng về callback/reentrancy khoảng năm 2020).
Đối với người dùng:
Đối với lập trình viên:
Nếu bạn chỉ cần “chuyển kèm callback” đơn giản, hãy cân nhắc ERC-1363 (cho phép các mẫu như transferAndCall). Tiêu chuẩn này tiết kiệm chi phí, thay đổi ít nhưng hệ sinh thái chưa rộng. Nếu ưu tiên giảm bước approve/chuyển, ERC-2612 (ủy quyền bằng chữ ký permit) được dùng rộng rãi trên ERC-20.
Nếu cần đầy đủ tính năng—receive hook, operator và phát hiện giao diện—và sẵn sàng quản lý độ phức tạp, kiểm toán bổ sung, chọn ERC-777. Ngược lại, kết hợp ERC-20 + ERC-2612 hoặc dùng ERC-1363 có thể phù hợp hơn với hạ tầng hiện tại.
Đến năm 2025, mức độ áp dụng ERC-777 vẫn thấp hơn ERC-20. Nguyên nhân là ERC-20 đã thành tiêu chuẩn mặc định với hệ sinh thái công cụ và kiểm toán mạnh. Dù ERC-777 có nhiều tính năng nâng cao, hook của nó đòi hỏi kiểm soát bảo mật nghiêm ngặt; nhiều dự án chọn tích hợp permit hoặc callback trên ERC-20 để cân bằng.
Thực tế, ERC-777 là tiêu chuẩn “theo nhu cầu”—phù hợp với nhóm cần tiếp nhận lập trình và có năng lực bảo mật tốt.
ERC-777 nâng cao trải nghiệm tiếp nhận và khả năng lập trình token: receive hook cho phép xử lý tức thì, operator tối ưu hóa thanh toán ủy quyền, registry EIP-1820 hỗ trợ phát hiện giao diện. Tuy nhiên, các tính năng này kéo theo chi phí bảo mật và tương thích bổ sung, đòi hỏi thiết kế kỹ lưỡng và thử nghiệm nghiêm ngặt. Với người dùng thông thường, trải nghiệm chuyển và lưu trữ tương tự ERC-20; khi giao dịch trên sàn (như Gate), hãy xác nhận hỗ trợ mạng trước khi nạp để tránh mất tài sản. Nhìn chung, ERC-777 phù hợp với ứng dụng tự động hóa hoặc kiểm soát chuyên sâu, còn các trường hợp sử dụng phổ biến vẫn dựa vào ERC-20.
Trong tiền mã hóa, 777 thường chỉ tiêu chuẩn token ERC-777—một giao thức Ethereum tiên tiến mở rộng ERC-20 với tính năng nâng cao như kích hoạt hợp đồng thông minh khi chuyển token. Nói đơn giản, ERC-777 cho phép giao dịch token linh hoạt và thông minh hơn.
Ưu điểm lớn nhất của ERC-777 là hỗ trợ hàm “hook” tự động thực thi logic bổ sung khi chuyển khoản—loại bỏ nhu cầu phê duyệt và chuyển riêng biệt. Điều này giúp lập trình viên xây dựng ứng dụng phức tạp như staking tự động hoặc chuyển điều kiện. Trải nghiệm người dùng mượt mà hơn nhưng cần lưu ý rủi ro bảo mật từ hook.
Gate hỗ trợ nạp và rút phần lớn token lớn, bao gồm một số token ERC-777. Trên trang nạp/rút của Gate, hãy tìm token của bạn và làm theo hướng dẫn. Nên thử với số nhỏ trước để kiểm tra địa chỉ/mạng trước khi giao dịch lớn nhằm tránh mất tài sản.
Dù có nhiều tính năng mạnh mẽ, độ phức tạp và vấn đề tương thích đã hạn chế ERC-777 lan rộng. Nhiều ví và sàn cũ chưa hỗ trợ đầy đủ, còn cơ chế hook đòi hỏi kiểm soát bảo mật cao. Vì vậy, đa số dự án vẫn chọn ERC-20 ổn định và được hỗ trợ rộng rãi.
Bạn nên nắm vững tiêu chuẩn ERC-20, sau đó học phát triển hợp đồng thông minh (như Solidity). Hiểu nguyên lý chuyển khoản trên blockchain, phí gas, cơ chế ủy quyền... cũng rất hữu ích. Người dùng phổ thông chỉ cần biết đây là loại token nâng cấp; lập trình viên nên nghiên cứu chi tiết triển khai thực tế.


