ERC-777 là gì? Bản nâng cấp vá lỗi cho ERC-20 giờ ra sao?
ERC-777 là gì?
ERC-777 là một tiêu chuẩn token trên blockchain Ethereum được đề xuất để nâng cấp cho tiêu chuẩn token phổ biến nhất là ERC-20. Đây là tiêu chuẩn được tạo ra vào năm 2017 bởi Jacques Dafflon, Jordi Baylina (hiện đang là lãnh đạo tại Polygon zkEVM) và Thomas Shabibi.
Tìm hiểu thêm về Ethereum và tiêu chuẩn token ERC tại đây.
Nó được giới thiệu để cải thiện một số chức năng của token ERC-20. Đồng thời, tiêu chuẩn mới sẽ tiết kiệm phí gas và có tính tương tác tốt hơn, nhưng cũng có tính phức tạp hơn và không được tương thích hoàn toàn với một số ứng dụng và ví.
Bối cảnh ra đời của ERC-777
Mặc dù Ethereum được sử dụng rất rộng rãi và được hỗ trở bởi nhiều dự án lớn. Tuy nhiên, chúng vẫn tồn tại một lỗi không hề nhỏ khiến hàng triệu USD token bị đốt và không lấy lại được. Cụ thể hơn, ERC-20 có 6 tính năng cơ bản là:
- TotalSupply: Xác định tổng cung của oken.
- Balanceof: Truy xuất số dư của tài khoản.
- Allowance: Bên phía sử dụng token có thể trả lại cho chủ sở hữu nếu như chưa sử dụng hết số lượng token.
- Transfer: Gửi token đến tài khoản chủ sở hữu khác.
- Transferfrom: Gửi token từ tài khoản thông thường đến smart contract.
- Approve: Cho phép một tài khoản khác có thể sử dụng token trong tài khoản mình.
Tìm hiểu thêm về ERC-20 là gì?
Tuy nhiên, việc chuyển token cho smart contract yêu cầu người dùng phải sử dụng kết hợp cả hai lệnh là “approve” và “transferFrom”. Nếu như không thực hiện đúng, token của bạn vẫn sẽ được chuyển đi nhưng hợp đồng thông minh sẽ không bao giờ nhận được token. Vì vậy, Ethereum Foundation và cộng đồng đã ra mắt ERC777 nhằm sửa đổi lỗi này.
Tiêu chuẩn và quy tắc của ERC777
Tiêu chuẩn token ERC-777 được xây dựng trên blockchain Ethereum và có một tập hợp quy tắc và cấu trúc được xác định mà nhà phát hành token phải tuân theo. Một số quy tắc và cấu trúc chính của ERC-777 bao gồm:
- Kế thừa từ ERC-20: Các token ERC-777 kế thừa tất cả các tính năng của token ERC-20, bao gồm khả năng chuyển token, kiểm tra số dư token và phê duyệt các địa chỉ khác để chuyển token.
- Giao diện hợp đồng token: Giao diện này bao gồm các chức năng để gửi token, phê duyệt chuyển token và nhiều hơn nữa.
- Giao diện TokenReceiver: Xác định các chức năng mà một hợp đồng phải thực hiện để chấp nhận token.
- Tăng cường bảo mật: Các token ERC-777 được thiết kế để an toàn hơn so với token ERC-20 bằng cách ngăn chặn token được gửi đến các hợp đồng không hỗ trợ chúng, giảm thiểu nguy cơ mất token.
- Khôi phục token: ERC-777 bao gồm một tính năng cho phép nhà phát hành token khôi phục lại token đã được gửi đến một địa chỉ không hợp lệ.
- Tiết kiệm gas: Các token ERC-777 được thiết kế để tiết kiệm gas hơn so với các token ERC-20, giảm chi phí của các giao dịch token trên blockchain Ethereum.
- Sửa lỗi Decimals giúp các developer có trải nghiệm lập trình tốt hơn.
Tổng thể, các quy tắc và cấu trúc của ERC-777 được thiết kế để cung cấp một tiêu chuẩn token an toàn, hiệu quả và linh hoạt hơn cho blockchain Ethereum. Bằng cách tuân thủ các quy tắc này và sử dụng tiêu chuẩn, nhà phát hành token có thể tạo ra các token tương thích với các hợp đồng thông minh và tiêu chuẩn token khác trên blockchain.
Ưu và nhược điểm của ERC-777
Ưu điểm của ERC-777
Ngoài việc thừa kế các tiêu chuẩn cơ bản của ERC, ERC-777 còn cải thiện tính năng và bảo mật của các token trên blockchain Ethereum. Một số tính năng chính của nó bao gồm:
- Tăng cường bảo mật: Các token ERC-777 ít bị lỡ tay gửi đến các smart contract không được thiết kế để xử lý chúng, từ đó giảm thiểu nguy cơ mất token.
- Khôi phục token: Tiêu chuẩn cung cấp cơ chế để khôi phục token trong trường hợp người dùng gửi token đến một địa chỉ không hợp lệ.
- Tương thích: ERC 777 tương thích với các smart contract và tiêu chuẩn token khác, từ đó dễ dàng tích hợp với các ứng dụng dựa trên blockchain khác.
- Tính năng nâng cao: Cho phép một giao dịch có thể gửi token kèm dữ liệu đính kèm trên các hợp đồng thông minh. Đây là bước cải tiến giúp người dùng không phải xác nhận 2 lần cũng như giảm được phí gas.
- Tránh gửi nhầm token: Các hợp đồng sẽ hủy bỏ giao dịch token chưa được đăng ký được chuyển đến. Điều này ngăn việc vô tình chuyển sang các hợp đồng thông minh không phải ERC 777.
Nhược điểm của ERC-777
Tuy nhiên ERC-777 vẫn có một số nhược điểm sau:
- Thiếu tính tương thích: Mặc dù tiêu chuẩn token ERC-777 được thiết kế để tương tác với các tiêu chuẩn token khác, nhưng đa số các ví, sàn giao dịch và Dapp có thể chưa hỗ trợ, điều này có thể giới hạn việc sử dụng tiêu chuẩn này.
- Tính phức tạp: Tiêu chuẩn token ERC 777 phức tạp hơn so với các tiêu chuẩn token trước đây như ERC 20, điều này làm cho việc triển khai của các nhà phát triển khó khăn hơn và người dùng khó hiểu hơn.
- Di chuyển: Nếu dự án muốn chuyển từ tiêu chuẩn token hiện có như ERC 20 sang ERC 777, họ sẽ cần phải di chuyển token, điều này có thể là một quá trình phức tạp và tốn thời gian.
- Không chắc chắn: Tiêu chuẩn token ERC 777 là mới, điều này có nghĩa rằng nó chưa được sử dụng rộng rãi và chưa được kiểm chứng đầy đủ bởi cộng đồng người dùng và nhà phát triển, do đó nó có thể có các lỗi hoặc vấn đề không được biết đến.
Tiêu chuẩn ERC-777 giờ ra sao?
ERC-777 là một bản cải tiến mang lại nhiều giá trị cho ERC-20. Tuy nhiên, vì tính phức tạp cũng để triển khai cũng như tính nhạy cảm của nó đối với các hình thức tấn công khác nhau, Ethereum Foundation đã quyết định không hỗ trợ ERC-777 vào tháng 3/2021.
Hiện tại cộng đồng đang hướng người dùng tiếp tục sử dụng tiêu chuẩn token ERC-20. Một số tính năng nổi bật của ERC-777 sẽ được chuyển sang tiêu chuẩn mới như ERC 1820.
Bởi vì vòng đời của ERC777 quá ngắn, chúng không được sử dụng tiên phong bởi bất kỳ dự án lớn nào như Uniswap, Aave, Compound,... Vì vậy, chúng gần như không để lại nhiều ấn tượng trong thị trường.