Jak cofnąć uprawnienia do tokenów na Solana
Aktualizacja danych o rencie sprawdzona 3 września 2026 roku: Każda stała kwota renty lub wypłaty na konto w tym starszym artykule jest historycznym przykładem opartym na poprzednim ustawieniu 6,960 lamportów na bajt, a nie aktualną wyceną. Rozmiar konta, aktywny etap renty, wcześniejsze wypłaty, opłaty operacji i koszty sieci mogą zmienić wynik. Przeczytaj Obniżenie renty Solany w 2026 roku i użyj aktualnego podglądu transakcji dla swojego portfela.
Cofanie uprawnień to dobrze znany temat na Ethereum, gdzie nielimitowane zatwierdzenia ERC-20 opróżniły wiele portfeli. Solana ma równoważny mechanizm, działa on inaczej i warto zrozumieć, co może, a czego nie może Ci zrobić.
Jak cofnąć uprawnienia do tokenów na Solana?
Połącz się z narzędziem do cofania uprawnień. Skanuje ono każde posiadane przez Ciebie konto tokena, pokazuje, którym adresom zezwoliłeś na wyprowadzanie z nich tokenów, i czyści te zatwierdzenia w jednej partii. Nie ma żadnych opłat — cofnięcie uprawnień nie odzyskuje rentu, więc płacisz tylko opłatę sieciową. Z poziomu CLI jest to spl-token revoke <TOKEN_ACCOUNT_ADDRESS>.
Czym właściwie jest delegat Solana
Gdy zatwierdzasz coś na Solana, ustawiasz delegata na jednym konkretnym koncie tokena. Instrukcja Approve zapisuje na tym koncie dwie rzeczy: adres delegata i delegowaną kwotę.
Delegat może następnie przenieść lub spalić z tego jednego konta maksymalnie wskazaną kwotę bez ponownego pytania Cię o zgodę. Nie może dotykać Twoich innych kont tokenów, nie może przekroczyć delegowanej kwoty i nie może przenieść Twojego SOL.
Jest to prawdziwe uprawnienie i warto traktować je poważnie — delegat z limitem (allowance) na Twoim koncie tokena może przenieść te tokeny. Ale promień rażenia jest znacznie mniejszy niż w przypadku odpowiednika na Ethereum, z trzech powodów strukturalnych.
Dlaczego zatwierdzenia Solana mają węższy zakres niż na Ethereum
| Zatwierdzenie Ethereum | Delegat Solana | |
|---|---|---|
| Zakres | Każdy token tego kontraktu, który posiadasz | Jedno konto tokena |
| Kwota | Często nieograniczona | Stały limit, który ustalasz |
| Wiele naraz | Tak, kumulują się na każdego wydającego | Nie — jeden delegat na konto |
| Czyszczone przez | Wyraźna transakcja cofnięcia (revoke) | Cofnięcie (revoke), lub zamknięcie konta |
Trzeci wiersz jest najważniejszy. Na Ethereum zatwierdzenia się piętrzą: możesz rozdać limity kilkunastu kontraktom na tym samym tokenie, a każdy z nich trwa po cichu, dopóki nie zostanie cofnięty. Lata korzystania z DeFi pozostawiają długi ogon zapomnianych, nielimitowanych zatwierdzeń, co jest dokładnie powodem, dla którego narzędzia do cofania (revoke) stały się tam niezbędne.
Na Solana, każde konto tokena posiada co najwyżej jednego delegata. Ustawienie nowego nadpisuje poprzedniego. Nie ma kumulującej się listy — konto tokena albo ma w tej chwili jednego delegata, albo nie ma go wcale.
Właśnie dlatego na Solana nigdy nie rozwinęła się taka sama kultura narzędzi do cofania uprawnień jak na Ethereum. Ekspozycja jest realna, ale ograniczona, i czyści się sama w zwykłym toku korzystania z portfela.
Skąd biorą się delegaci
Większość delegatów na Twoich kontach nie jest złośliwa — to sposób działania normalnych funkcji Solana:
- Oferty NFT na platformach handlowych. Wystawienie NFT zwykle deleguje je do programu platformy handlowej (marketplace), aby sprzedaż mogła zostać zrealizowana po pojawieniu się kupującego. Dlatego wystawionego NFT nie można spalić przed wycofaniem oferty: Twój portfel nie posiada już nad nim jednostronnej władzy.
- Programy stakingowe i skarbce. Wpłata do protokołu często wykorzystuje delegata zamiast przenoszenia opieki (custody).
- Programowalne NFT. pNFT są utrzymywane w stanie zamrożonym z delegowanym uprawnieniem w ramach egzekwowania tantiem.
- Złośliwe zatwierdzenia. To jedyne, o co faktycznie należy się martwić: strona phishingowa przedstawia transakcję, która wygląda jak odbiór (claim), a to, co podpisujesz, to
Approveprzekazujące delegatowi władzę nad Twoimi tokenami.
Jedyna rzecz, której cofnięcie (revoke) nie może wyczyścić
Wszystko powyższe dotyczy delegata na poziomie konta — pola na Twoim własnym koncie tokena, które posiadasz i które w związku z tym możesz wyczyścić.
Token-2022 wprowadził oddzielne, silniejsze uprawnienie: stałego delegata (permanent delegate), ustawianego na mincie (mennicy) zamiast na Twoim koncie. Mint z takim delegatem daje temu adresowi uprawnienia do transferu i spalania nad każdym kontem przechowującym ten token, bez limitu, i posiadacz nie może z tym nic zrobić. Jest to właściwość samego tokena, a nie uprawnienie, które przyznałeś, więc instrukcja Revoke go nie rusza, podobnie jak żadne narzędzie.
Niektóre legalne tokeny używają go celowo — na przykład regulowane stablecoiny wymagające ścieżki cofnięcia (clawback). Oznacza to jednak, że uczciwy zakres każdego narzędzia do cofania na Solana, w tym naszego, to zatwierdzenia, które przyznałeś na własnych kontach.
Jeśli mint tokena ma stałego delegata, jedynym sposobem na wyeliminowanie tego zagrożenia jest zaprzestanie posiadania tokena. Sprawdź mint w eksploratorze, zanim założysz, że czyste cofnięcie (revoke) oznacza, że nikt nie może przenieść danego salda.
Jak sprawdzić, co ma delegata
Portfele tego nie ujawniają. Phantom i Solflare pokazują Ci salda, a nie pole delegata znajdujące się na każdym koncie tokena, więc zatwierdzenie, którego udzieliłeś dwa lata temu, jest niewidoczne w interfejsie, z którego korzystasz na co dzień.
Trzy sposoby, by to zobaczyć:
- Narzędzie do cofania uprawnień. Połącz swój portfel, a ono przeskanuje każde konto tokena w programach SPL Token i Token-2022, wymieniając każdego delegata, mint, którego dotyczy, oraz wielkość limitu (allowance). Skan jest tylko do odczytu — żadnego podpisu, niczego do zatwierdzania tylko po to, by spojrzeć.
- Eksplorator bloków. Wyszukaj adres swojego portfela, otwórz poszczególne konta tokenów i sprawdź pole delegata. Jest ono wyświetlane, gdy jest ustawione. Wykonalne dla jednego konta, żmudne dla stu.
- CLI
spl-token.spl-token account-info <TOKEN_ACCOUNT_ADDRESS>zgłasza delegata i delegowaną kwotę.
Jeśli delegatem jest znana Ci platforma handlowa, a NFT jest obecnie wystawione, to oczekiwane zachowanie — wycofaj ofertę (delist), a delegat zostanie wyczyszczony.
Zwróć uwagę na kolumnę limitu (allowance). Zatwierdzenia często ustawiają ją na maksymalną możliwą wartość zamiast na faktycznie potrzebną kwotę, co narzędzie wyświetla jako Unlimited. Legalna oferta zazwyczaj deleguje dokładnie jedno NFT; nielimitowany przydział na tokenie, którego masz dużo, jest wart ponownego przyjrzenia się.
Jak cofnąć uprawnienia
Z poziomu narzędzia, połącz się na sol-incinerator.com/revoke, przejrzyj listę i podpisz. Wszystko, co zaznaczono, jest grupowane w jak najmniejszą liczbę transakcji, więc portfel z trzydziestoma starymi delegatami to nie trzydzieści podpisów.
Nie ma żadnych opłat. Cofnięcie uprawnień nie uwalnia rentu, więc nie ma z czego pobrać opłaty — płacisz opłatę za transakcję sieciową i nic więcej.
Z poziomu CLI, wobec konkretnego konta tokena:
spl-token revoke <TOKEN_ACCOUNT_ADDRESS>
Wywołuje to instrukcję Revoke programu SPL Token, która wymaga tylko konta tokena i Twojego podpisu jako jego właściciela. Całkowicie czyści ona pole delegata. Nie może się nie powieść częściowo i nie wpływa na Twoje saldo.
Z interfejsu portfela (UI), zwykła droga jest pośrednia: anuluj lub wycofaj (delist) to, co pierwotnie utworzyło delegata. Wycofanie NFT z platformy handlowej, na której je wystawiłeś, usuwa delegata tej platformy w ramach instrukcji anulowania.
Cofnięcie delegata platformy handlowej na wystawionym NFT skutecznie je wycofuje (delist) — platforma nie może już sfinalizować sprzedaży. Jest to prawidłowe zachowanie, ale jeśli zamierzasz utrzymać coś wystawionego, zostaw jego delegata w spokoju.
Dlaczego nie mogę cofnąć uprawnień na zamrożonym koncie?
Ponieważ Solana Ci na to nie pozwoli. Program SPL Token całkowicie odrzuca cofnięcie (revoke) wobec zamrożonego konta tokena, zwracając AccountFrozen — zamrożenie blokuje zmiany uprawnień, a nie tylko transfery.
Ma to większe znaczenie, niż się wydaje, ponieważ zamrożone i delegowane często idą w parze. Programowalne NFT są utrzymywane w stanie zamrożonym z delegatem w ramach egzekwowania tantiem, a wiele programów stakingowych zamraża to, co przechowują. Więc delegaci, których najprawdopodobniej znajdziesz, to często dokładnie ci, których nie można wyczyścić bezpośrednio.
Narzędzie pomija je na liście, ponieważ w praktyce zamrożone konto z delegatem zazwyczaj działa zgodnie z przeznaczeniem — pNFT egzekwujące tantiemy lub aktywo, które celowo zestakowałeś — a nie coś, na co musisz zareagować.
Jeśli jednak chcesz, aby jeden z nich został wyczyszczony, konto musi zostać najpierw odmrożone (thawed). Odstakuj, wycofaj z oferty lub zakończ jakiekolwiek działanie, które je zamroziło; po odmrożeniu, delegat cofa się normalnie.
Spalenie nie jest obejściem. Zamrożone konto odrzuca spalanie z tego samego powodu, dla którego odrzuca cofanie — zamrożenie blokuje operację, a nie tylko transfery — więc nie możesz zniszczyć swojej drogi wyjścia z zamrożonego delegata, dopóki aktywo wciąż tam jest. Tylko autorytet zamrażający (freeze authority) może je odmrozić.
Istnieje praktyczny powód, dla którego narzędzie po prostu nie spróbuje mimo to: cofnięcia są grupowane w jak najmniejszą liczbę transakcji, więc zamrożone konto pociągnęłoby za sobą każdego innego delegata dzielącego jego transakcję. Pominięcie go pozwala reszcie zakończyć się sukcesem.
Pełne rozwiązanie: zamknij konto
Oto część, która często jest pomijana. Delegat to pole przechowywane na koncie tokena. Nie ma konta, nie ma delegata.
Więc jeśli dany token jest czymś, czego i tak nie chcesz — tokenem spamowym, martwym memecoinem, scamowym airdropem, który namówił Cię do podpisania czegoś — spalenie go i zamknięcie jego konta trwale usuwa delegata jako efekt uboczny. Nie tyle cofasz uprawnienie, co usuwasz rzecz, do której to uprawnienie się odnosiło. I w przeciwieństwie do samego cofnięcia (revoke), zamknięcie konta zwraca depozyt rent w wysokości ~0.00204 SOL, który ono utrzymywało.
To sprawia, że porządkowanie jest dokładniejszą reakcją na każdy token, którego nie masz zamiaru zatrzymać:
| Działanie | Delegat wyczyszczony | Token zachowany | Zwrócono SOL |
|---|---|---|---|
| Cofnięcie (Revoke) | Tak | Tak | Nie |
| Spalenie + zamknięcie konta | Tak | Nie | 0.002 SOL |
Cofnij (revoke), gdy chcesz zatrzymać token. Spal i zamknij, gdy nie chcesz.
Jeśli uważasz, że podpisałeś złośliwą transakcję, samo cofnięcie nie jest wystarczające. Delegat to tylko jedna z kilku rzeczy, które atakujący mógł uzyskać, a jeśli Twoja fraza seed została ujawniona, żadne działanie on-chain nie pomoże. Najpierw przenieś swoje cenne aktywa do świeżego portfela, a następnie zajmij się tym skompromitowanym.
Realistyczny model zagrożeń
Dla większości ludzi uczciwe podsumowanie to: sprawdź swoich delegatów, jeśli podpisałeś coś, czego żałujesz, wycofaj (delist) wszystko, czego już nie chcesz mieć wystawionego, i wyczyść śmieciowe tokeny, do których złośliwe zatwierdzenia mają tendencję się przyczepiać.
Projekt Solana oznacza, że nie nosisz ze sobą lat nagromadzonych nielimitowanych zatwierdzeń, tak jak robi to portfel Ethereum. To, co prawdopodobnie nosisz, to kilkaset porzuconych kont tokenów, z których każde przechowuje zwrotny depozyt — co jest warte prawdziwe pieniądze i zajmuje około minuty, aby je odzyskać.

Cofnij uprawnienia delegatów
Przeskanuj swój portfel pod kątem zatwierdzonych przez Ciebie delegatów na poziomie konta i wyczyść ich. Brak opłat — płacisz tylko opłatę sieciową.
Powiązane artykuły
Często zadawane pytania
Jak cofnąć uprawnienia do tokenów na Solana?
Użyj instrukcji Revoke programu SPL Token wobec konta tokena, które ma ustawionego delegata. Wymaga ona tylko konta tokena i Twojego podpisu jako właściciela. Z poziomu wiersza poleceń jest to spl-token revoke, a następnie adres konta tokena.
Czym jest delegat na koncie tokena Solana?
Delegat to adres, który upoważniłeś do transferu lub spalenia określonej kwoty z jednego konkretnego konta tokena. Platformy handlowe używają delegatów przy wystawianiu NFT, a programy stakingowe — przy wpłatach. Każde konto tokena może mieć w danym momencie tylko jednego delegata.
Czy zatwierdzenia Solana są równie ryzykowne jak zatwierdzenia Ethereum?
Są węższe. Delegat Solana jest ograniczony do pojedynczego konta tokena ze stałym limitem kwoty, a zatwierdzenie nowego delegata zastępuje starego, zamiast się kumulować. Zatwierdzenia Ethereum dotyczą kontraktu tokena, często są nieograniczone i kumulują się w nieskończoność.
Czy zamknięcie konta tokena usuwa jego delegata?
Tak, całkowicie. Delegat jest polem zapisanym na samym koncie tokena, więc po zamknięciu konta przestaje istnieć razem z nim. Spalenie niechcianego tokena i zamknięcie jego konta usuwa każdego delegata jako efekt uboczny.
Jak sprawdzić, czy konto tokena ma ustawionego delegata?
Wyszukaj swój adres w eksploratorze bloków i sprawdź poszczególne konta tokenów, gdzie pole delegata jest widoczne, jeśli zostało ustawione. CLI spl-token również to zgłasza, a każdy portfel wyświetlający surowe dane konta pokaże to samo pole.
Dlaczego nie mogę cofnąć uprawnień na zamrożonym koncie tokena?
Program SPL Token odrzuca cofnięcie uprawnień na zamrożonym koncie i zwraca błąd AccountFrozen, ponieważ zamrożenie blokuje zmiany uprawnień, a nie tylko transfery. Programowalne NFT i zestakowane aktywa są często zamrożone. Konto trzeba odblokować, zanim będzie można usunąć delegata. Spalenie nie pozwala tego obejść, ponieważ zamrożone konto odrzuca również spalanie.
Czy cofnięcie uprawnień może usunąć stałego delegata Token-2022?
Nie. Stały delegat jest ustawiany na mincie (mennicy), a nie na Twoim koncie tokena, i otrzymuje uprawnienia do transferu oraz spalania na każdym koncie przechowującym ten token. Jest to właściwość samego tokena, więc żadna instrukcja cofnięcia uprawnień nie może go usunąć. Jedynym sposobem na wyeliminowanie tego zagrożenia jest zaprzestanie posiadania tokena.