Page cover

🦄Permit2 là gì?

Permit2 - là hệ thống được phát triển bởi đội ngũ Uniswap

Permit2 hoạt động như thế nào?

Permit2 là một hợp đồng thông minh mà người dùng phải cấp quyền không giới hạn (unlimited approval). Sau khi cấp quyền cho hợp đồng Permit2, nó có thể được dùng để cấp các quyền phụ (sub-approvals) cho các hợp đồng thông minh khác. Điều này có thể được thực hiện bằng hàm Permit2.approve(), hoạt động giống như hàm approve() cho token ERC20. Nhưng điều này cũng có thể được thực hiện bằng hàm Permit2.permit(), hoạt động tương tự như hàm permit() trong EIP2612.

Ngoài việc hỗ trợ chữ ký Permit cho các token không hỗ trợ chúng, Permit2 còn thêm nhiều tính năng bổ sung khác. Quan trọng nhất là nó thêm thời hạn cho tất cả các quyền được cấp thông qua Permit2. Do đó, bạn không cần cấp quyền vô hạn cho hợp đồng; thay vào đó có thể thiết lập để quyền đó tự động hết hạn.

Lợi ích của Permit2

Permit2 mang những lợi ích giống như chữ ký EIP2612 Permit gốc: giảm rắc rối cho người dùng vì họ không cần gửi một giao dịch approve riêng biệt, rủi ro có thể thấp hơn, vì các ứng dụng không cần yêu cầu quyền không giới hạn (unlimited approvals) khi sử dụng chữ ký Permit hoặc Permit2.

Hơn nữa, Permit2 giải quyết một trong những nhược điểm chính của chữ ký EIP2612 Permit — đó là chúng không được đa số token hỗ trợ. Permit2 khắc phục vấn đề này bằng cách cho phép sử dụng chữ ký Permit không tốn gas cho mọi token.

Một lợi thế bổ sung của Permit2 là nó cũng thêm thời hạn cho các quyền. Điều này giảm bớt rắc rối cho người dùng vì họ không phải thủ công thu hồi mọi quyền. Ngoài ra, giảm thiểu rủi ro bảo mật vì số lượng quyền không còn sử dụng mà hacker có thể lợi dụng sẽ giảm đi.

Nhược điểm và rủi ro của Permit2

Mặc dù Permit2 có những lợi ích quan trọng, cần lưu ý rằng nó cũng tạo ra một số rủi ro bảo mật mới so với các quyền approve thông thường hoặc chữ ký EIP2612 Permit.

Popup Permit2 Batch trên MetaMask

Hệ thống Permit2 rất linh hoạt và cho phép cấp quyền cho nhiều token cùng lúc. Do tính linh hoạt này, người dùng khó hiểu rõ họ đang cấp quyền gì. Các trang lừa đảo có thể lợi dụng điều này để đánh lừa người dùng và khiến họ cấp một quyền mà họ không muốn.

Bên cạnh các rủi ro bổ sung đối với người dùng, điều này cũng tạo khó khăn thêm cho các nhà phát triển ứng dụng. Tích hợp với Permit2 đòi hỏi nhiều công sức hơn so với sử dụng quyền approve thông thường hoặc thậm chí là chữ ký EIP2612 Permit. Nhược điểm này được giảm bớt bởi việc Permit2 hỗ trợ tất cả token, vì vậy nỗ lực có thể đáng hơn so với EIP2612 Permit.

Thu hồi các quyền Permit2

Khi nói về các quyền Permit2, có hai điều cần cân nhắc. Thứ nhất, đó là quyền approve thông thường mà bạn cấp cho chính hợp đồng Permit2. Quyền này cần thiết để hợp đồng Permit2 có thể cấp các quyền Permit2 thay mặt bạn. Nên thu hồi quyền này khi bạn không còn sử dụng nữa. Đặc biệt là khi cân nhắc tới rủi ro lừa đảo bổ sung mà chúng ta đã đề cập ở trên.

Thứ hai cần cân nhắc là các các quyền Permit2thực tế mà hợp đồng Permit2 cấp thay mặt bạn. Thường các quyền này có thời hạn và không nên quá dài, vì vậy bạn có thể cân nhắc để chúng hết hạn tự động. Nếu thời hạn quá lâu, bạn vẫn có thể thu hồi hoặc cập nhật quyền thủ công bằng Revoke.cash.

Các quyền Permit2 trên Revoke.cash

Last updated