Przejdź do treści
Słownikbezpieczenstwodefiethereum

Permit

Wzorzec zatwierdzania tokenów ERC-20 (ERC-2612) pozwalający nadać uprawnienie do wydatkowania przez podpisanie wiadomości EIP-712 offline — bez wysyłania osobnej transakcji approve onchain. Protokół korzysta z podpisu, aby zarejestrować allowance.

Jak działa permit

Klasyczne zatwierdzanie ERC-20 wymaga dwóch transakcji: najpierw approve (wyślesz transakcję przyznającą limit protokołowi), potem interakcja z protokołem. Permit łączy to w jedną: użytkownik podpisuje wiadomość EIP-712 zawierającą spender, limit wartości i termin ważności — protokół weryfikuje podpis i rejestruje allowance w tej samej transakcji.

Oszczędza gaz i poprawia UX. Ale przenosi ryzyko: teraz wystarczy podpisać złośliwą wiadomość, żeby przyznać pełen dostęp do tokenów bez wysyłania widocznej transakcji onchain. Portfel pokazuje prośbę o podpis, nie transakcję — wielu użytkowników traktuje je mniej ostrożnie.

Podpisanie permit to równoważne nadaniu allowance. Phishing przez pozornie niewinny 'podpis' jest realnym wektorem ataku. Zawsze czytaj co dokładnie podpisujesz — spender, limit, deadline.

Najczęstsze błędne założenia

  • Permit nie oznacza braku zatwierdzenia. Zatwierdzenie nastąpiło przez podpis zamiast transakcji approve.
  • Podpis wiadomości to nie bezpieczna operacja automatycznie. Złośliwy podpis permit może opróżnić portfel.
  • Permit2 to rozszerzenie pomysłu permit — bardziej elastyczne zarządzanie allowance z wygaśnięciem.

Najczęstsze pytania

Revoke.cash i podobne narzędzia pokazują aktywne allowances, w tym te nadane przez permit. Regularnie je sprawdzaj i odwołuj niepotrzebne.

eth_sign to stary, niebezpieczny mechanizm podpisywania dowolnych danych — może autoryzować transakcje bez widocznego ostrzeżenia. Permit to ustrukturyzowany podpis EIP-712 z czytelnym opisem — przeglądarki i portfele mogą wyświetlić co dokładnie podpisujesz.