Co właściwie dzieje się, kiedy gdzieś "podpisujesz"?
Wyobraź sobie, że na twój adres trafia token, o który nie prosiłeś. W portfelu zobaczysz na przykład "1 000 $REWARD", a do tego stronę, która obiecuje, że odbierzesz go za pomocą kilku kliknięć. Otwierasz stronę, podłączasz portfel i klikasz przycisk "Claim". Wyskakuje okno z prośbą o podpis. I tu się wszystko rozstrzyga.
W kryptowalutach istnieją dwa różne typy "podpisu", które wyglądają niemal identycznie, ale oznaczają coś innego:
- Transakcja to jednorazowa czynność. Coś wysyłasz, coś wymieniasz, i gotowe.
- Approval (zatwierdzenie) to trwałe uprawnienie. Mówisz inteligentnemu kontraktowi: "od teraz możesz dysponować tym tokenem z mojego portfela."
Approval sam w sobie niczego nie kradnie. To tylko uprawnienie. Pieniądze znikają dopiero później, kiedy atakujący z tego uprawnienia skorzysta, choćby długo po tym, jak dawno zapomniałeś o oszukańczej stronie. Dlatego nazywamy to "podpisem, który opróżni portfel później".
Jak konkretnie wygląda approval scam krok po kroku?
Weźmy modelowy przebieg. Liczby są ilustracyjne, mają pokazać mechanikę, a nie realny przypadek.
- Do portfela trafia ci nieznany token, na przykład "AirdropX". Pojawił się sam, ty nic nie robiłeś.
- Token w nazwie lub w "opisie" odsyła do strony. Strona wygląda jak oficjalna witryna projektu.
- Klikasz "Claim reward". Portfel wyświetla prośbę o podpis.
- Podpisujesz. Tyle że to, co podpisałeś, nie było odbiorem nagrody. To był
approvelubsetApprovalForAll, czyli nieograniczone uprawnienie dla obcego kontraktu do dysponowania twoim stablecoinem albo całą kolekcją NFT. - Nic się od razu nie dzieje. Portfel wygląda normalnie.
- Trzy dni później atakujący wywołuje funkcję
transferFromi wysyła twoje saldo w siną dal. Ty widzisz tylko, że tokeny zniknęły.
Drugi wariant to tak zwane phishingowe podpisy typu Permit. Tam nie podpisujesz transakcji, ale wiadomość (podpis jest darmowy, nie płacisz za niego opłaty). Właśnie to jest zdradliwe: skoro za podpis nie płacisz, brakuje ci tego momentu, w którym w portfelu pojawia się cena. O opłacie i o tym, dlaczego zwykła transakcja kosztuje pieniądze, piszemy w naszym słowniczku pod hasłem gas-fee.
Dlaczego "approval" jest groźniejszy niż zwykły przelew?
Ponieważ zwykły przelew jest zamknięty. Wysyłasz dziesięć tokenów, odchodzi dziesięć tokenów, koniec. Przy approvalu podpisujesz zakres na przyszłość.
Wiele uprawnień udziela się w dodatku jako nieograniczone (w praktyce chodzi o technicznie najwyższą możliwą liczbę). To oznacza, że kontrakt może sięgnąć nie tylko po to, co masz teraz, ale i po to, co przyjdzie ci następnym razem. Kiedy za miesiąc wyślesz na ten sam adres wypłatę w stablecoinie, stare uprawnienie wciąż obowiązuje i atakujący może ją także odessać.
Istotne jest to: obecność approvalu jeszcze nie oznacza kradzieży. Mnóstwo legalnych aplikacji (giełdy, kantory, protokoły pożyczkowe) potrzebuje approvalu do normalnego działania. Problemem nie jest approval jako taki, problemem jest approval udzielony komuś, komu nie masz powodu ufać, albo approval, którego dawno przestałeś potrzebować i zostawiłeś go wiszącego.
Jak przejrzeć swoje uprawnienia i jak je cofnąć?
Rewokować (cofnąć) approval oznacza wysłać nową transakcję, która obniża to stare uprawnienie do zera. Od tej chwili dany kontrakt nie ma już prawa dysponować twoim tokenem.
Ogólny schemat wygląda tak:
| Krok | Co robisz | Na co uważać |
|---|---|---|
| 1 | Sprawdzasz, jakie uprawnienia ma twój adres | Użyj narzędzia, które czyta dane bezpośrednio z blockchaina według twojego publicznego adresu. Nigdy i nigdzie nie wpisuj frazy seed ani klucza prywatnego. |
| 2 | Przeglądasz listę | Szukasz głównie nieograniczonych uprawnień oraz uprawnień dla kontraktów, których nie rozpoznajesz. |
| 3 | Podejrzane uprawnienie rewokujesz | Rewokacja to osobna transakcja, więc zapłacisz za nią opłatę sieciową. |
| 4 | Weryfikujesz wynik | Po potwierdzeniu uprawnienie powinno być na zerze. |
Dwie rzeczy, które warto powiedzieć wprost:
- Rewokacja kosztuje opłatę. Nie jest darmowa, bo to realna transakcja w sieci. Ile dokładnie, zależy od aktualnego stanu sieci, i tego tutaj nie przewidujemy.
- Rewokacja nie zwraca tego, co już zostało skradzione. Cofnięcie uprawnienia to prewencja i zatrzymanie dalszego odsysania. Jeśli atakujący saldo już wysłał, rewokacja go nie przywróci.
Jak rozpoznać podejrzany podpis, zanim go potwierdzisz?
Nie istnieje stuprocentowy znak wizualny, ale kilka sygnałów się powtarza:
- Przycisk obiecuje "claim" lub "reward", ale portfel pokazuje prośbę o
approve,increaseAllowancelubsetApprovalForAll. To sprzeczność. - Podpis jest "darmowy" i chodzi o wiadomość typu
Permit, przy czym strona popędza cię do pośpiechu. - Token, który skierował cię do akcji, przyszedł niezamówiony.
- Adres, któremu uprawnienie nadaje prawa, nie jest adresem aplikacji, której faktycznie używasz.
Nowoczesne portfele starają się dziś przy ryzykownych podpisach wyświetlić ostrzeżenie i przełożyć techniczną treść na ludzki język. Traktuj to jako pomoc, a nie jako gwarancję. Decyzja o podpisie wciąż należy do ciebie.
Co powinieneś teraz umieć, a co pozostaje niepewne
Po tej lekcji powinieneś rozróżniać jednorazową transakcję od trwałego approvalu, rozumieć, dlaczego portfel może zostać opróżniony z opóźnieniem, oraz wiedzieć, że approval można przejrzeć i cofnąć osobną transakcją.
Co pozostaje niepewne i czego nikt uczciwie ci nie obieca:
- Ile będzie kosztować rewokacja. Opłata zależy od stanu sieci w danym momencie, żadnej stałej kwoty tu nie podajemy.
- Czy konkretny kontrakt jest, czy nie jest oszukańczy. Narzędzie pokaże ci, komu co pozwoliłeś, ale etykiety "złodziej" automatycznie do tego nie dołączy. Ocena wiarygodności zawsze należy do ciebie.
- Czy rewokacja pomoże na czas. Jeśli atakujący wykorzystał uprawnienie wcześniej, niż zdążyłeś je cofnąć, prewencja już nie działa.
To jest lekcja edukacyjna z charliedesk Classroom. Nie mówimy ci, co kupować lub sprzedawać. Pokazujemy, jak działa mechanika, abyś podejmował decyzje z otwartymi oczami.

