Jak sprawdzać smart kontrakty przed podłączeniem portfela

Dowiedz się, jak sprawdzać smart kontrakty przed podłączeniem portfela: kod, approvale, proxy, honeypoty, skanery, revoke i ryzyka DeFi.

Napisane przezCryptoRanks Research
|
Zrecenzowane przezCryptoRanks Editorial Team
|
Zaktualizowano

Dlaczego analiza smart kontraktów jest ważna

Podłączenie portfela do smart kontraktu zawsze wiąże się z ryzykiem. Nowe tokeny i młode protokoły DeFi mogą mieć ukryte uprawnienia, honeypoty, mechanizmy upgrade lub zbyt szerokie prawa właściciela. Ten poradnik pokazuje, jak sprawdzać smart kontrakty przed podłączeniem portfela.

Celem jest prosta procedura dla początkujących: co otworzyć w explorerze, które miejsca w kodzie są krytyczne, jakie czerwone flagi pojawiają się najczęściej i jak ograniczyć ryzyko przed podpisem lub approve.

Sprawdzanie kodu źródłowego smart kontraktu

Pierwszy krok to weryfikacja kodu w explorerze, takim jak Etherscan, BscScan lub Polygonscan. Zweryfikowany kontrakt pokazuje, że opublikowane źródła odpowiadają wdrożonemu bytecode. Można wtedy sprawdzić ABI, strukturę plików oraz zakładki Read Contract i Write Contract.

Otwórz adres kontraktu, przejdź do zakładki Contract i sprawdź status Verified. Nawet bez umiejętności programowania jest to ważny filtr: opublikowany kod można przepuścić przez skanery, a nieweryfikowany kontrakt pozostaje czarną skrzynką.

Krótko: brak weryfikacji = brak przejrzystości. Przy nowych lub mało znanych projektach to często wystarczający powód, aby nie łączyć portfela.

Krytyczne funkcje i uprawnienia: approve, transferFrom, permit

approve(spender, amount) daje kontraktowi prawo do wydawania tokenów. Potem może on użyć transferFrom i przenieść zatwierdzoną kwotę bez osobnej zgody na każdy ruch. Szczególnie ryzykowne są nieskończone approvale oraz SetApprovalForAll dla NFT.

Praktyczna zasada: zezwalaj tylko na potrzebną kwotę, unikaj uprawnień bez limitu, sprawdzaj komu przyznajesz prawa i cofaj zbędne zgody po użyciu.

Narzędzia do symulacji transakcji pokazują przed podpisem, czy chodzi o transfer, globalny approval, zmianę ownera albo inną wrażliwą operację.

Proxy i aktualizacje: dlaczego to ryzyko

Wzorzec proxy pozwala zachować ten sam adres, ale zmienić implementację kontraktu. To wygodne dla dużych protokołów, lecz wymaga dodatkowego zaufania do admina, multisiga lub governance.

Jeśli explorer pokazuje Proxy albo Upgradeable, sprawdź, kto może uruchamiać aktualizacje, czy istnieje timelock, czy używany jest multisig i czy historia wersji jest publiczna. Dobry kontrakt dziś może działać inaczej po upgrade.

Narzędzia analizy: od skanerów statycznych po rozszerzenia

Jedno narzędzie nie wystarcza. Warto łączyć kilka źródeł, bo obejmują różne klasy ryzyka:

  • Slither wykrywa typowe błędy Solidity i daje konkretne wskazówki.
  • MythX łączy analizę statyczną, wykonanie symboliczne i heurystyki.
  • Remix IDE pozwala wykonać podstawową diagnostykę w przeglądarce.
  • Token Sniffer sprawdza tokeny pod kątem wzorców scam i honeypotów.
  • GoPlus Security ocenia ryzyka tokena, podejrzane akcje i sygnały phishingowe.
  • De.Fi Scanner daje raporty zrozumiałe również dla osób nietechnicznych.
  • Dodatkowo: Honeypot.is, usługi revoke, Wallet Guard lub Pocket Universe do symulacji podpisu.

Typowe schematy scam w kodzie tokenów

Fałszywe tokeny często używają tych samych mechanizmów:

  • Honeypot: kupno działa, ale sprzedaż jest zablokowana dla większości adresów.
  • Dynamiczna blokada: trading może być włączany i wyłączany, a adresy trafiają na blacklisty.
  • Zmienialne opłaty: owner może podnieść podatek lub fee do poziomu blokującego sprzedaż.
  • Nielimitowany mint: nowe tokeny mogą być tworzone bez twardego limitu.
  • Wyjęcie płynności: brak locka LP albo nagłe Remove Liquidity na portfel zespołu.

Skanery wykrywają wiele takich sygnałów, ale decyzja nadal należy do użytkownika. Jeśli kilka czerwonych flag występuje razem, nie łącz portfela.

Ukryte ryzyka: prawa ownera, pausable, backdoory

Wzorzec Ownable daje ownerowi specjalne uprawnienia. Nie zawsze oznacza scam, ale trzeba rozumieć zakres tych praw.

  • Zmiana opłat, limitów, adresów odbiorców lub krytycznych parametrów.
  • Pausable: możliwość zatrzymania transferów albo tradingu.
  • mint lub burnFrom: tworzenie tokenów albo spalanie z cudzych sald.
  • Ukryte metody o niewinnych nazwach, które mogą działać jak backdoor.

Sprawdzaj eventy OwnershipTransferred, RoleGranted i Paused. Zobacz też, czy ownership faktycznie została porzucona, czy owner nadal działa.

Kontrakty DeFi: płynność, lending, farming

W DeFi wchodzisz nie tylko w tokeny, ale też w pule, protokoły pożyczkowe i farmy. Podstawowe kontrole:

  • Pule DEX: lepiej wybierać znane DEX-y; customowe forki mogą mieć ukryte fee lub funkcje wypłaty.
  • Lending: sprawdzaj audyty, limity, mechanikę likwidacji i oracles.
  • Farming/staking: oceń emisję, limity depozytów i role ownera w kontraktach typu MasterChef.
  • Ogólnie: porównaj bug bounty, multisig, TVL, wiek protokołu i historię incydentów.

NFT i minty (ERC-721/1155): podstawowe kontrole

Przed mintem lub handlem sprawdź co najmniej:

  • Oficjalny adres: porównaj kontrakt ze źródłami projektu i marketplace.
  • Supply cap: poszukaj maxSupply i zasad mintu.
  • Niebezpieczne zgody: strona trzecia nie powinna wymuszać SetApprovalForAll bez jasnego powodu.
  • Metadane: IPFS lub Arweave są bardziej odporne niż centralny CDN.
Przykład ryzyka: fałszywa strona mintu może podmienić oczekiwaną akcję na safeTransferFrom i wysłać posiadane NFT do atakującego.

OpenZeppelin i rozpoznawalne szablony

Biblioteki OpenZeppelin są dobrym sygnałem, bo implementują szeroko testowane standardy. Szukaj import "@openzeppelin/...", porównuj z kanonicznymi szablonami i sprawdzaj podobne kontrakty. Uwaga: pułapka często nie tkwi w szablonie, lecz w kilku dodanych liniach.

Funkcje tokenów: podatki, blacklisty, anti-whale

Niektóre mechaniki nie są scamem same w sobie, ale zmieniają ryzyko i użyteczność:

  • Taxes/fee: opłaty wejścia i wyjścia zmniejszają wynik; kluczowe są twarde limity.
  • Blacklist: może walczyć z botami, ale może też uderzać w holderów.
  • Anti-whale: limity salda lub transakcji mogą chronić płynność, ale utrudniać normalne transfery.
  • Reflections/rewards: automatyczna redystrybucja komplikuje kod i zwiększa ryzyko błędów.

Co sprawdzać w explorerach: historia, wywołania, eventy

Block explorer to główne narzędzie due diligence:

  • Oś czasu: data deployu, częstotliwość interakcji i wzorce aktywności.
  • Holderzy: koncentracja u największych adresów, udział ownera i adresy giełd.
  • Płynność: lock LP, czas trwania i właściciel tokenów LP.
  • Read/Write Contract: możliwość zrozumienia funkcji bez polegania wyłącznie na frontendzie.
  • Komentarze/labelki: nie są dowodem, ale bywają sygnałem ostrzegawczym.
  • Eventy: Transfer z 0x0, Approval, OwnershipTransferred, Paused.

Checklist przed podłączeniem portfela

  1. Sprawdź adres w explorerze: kod, deploy, holderów, podejrzane transakcje, labelki.
  2. Użyj skanerów: Token Sniffer, De.Fi Scanner, GoPlus.
  3. Zweryfikuj frontend: URL, źródła oficjalne i brak podejrzanych linków.
  4. Użyj burner wallet: osobny adres z minimalnym saldem.
  5. Minimalizuj approvale: unikaj zgód bez limitu.
  6. Symuluj transakcję: zobacz, co faktycznie zmieni się po podpisie.
  7. Wiedz, jak cofnąć zgody: regularnie kontroluj listę approvals.

Czego sprawdzenie nie gwarantuje

  • Uczciwości frontendu: interfejs może podmienić adres lub dane.
  • Uczciwości zespołu: czysty kod nie chroni przed off-chain rug pullem.
  • Ekonomii tokena: technicznie poprawny token może spaść do zera.
  • Przyszłych zmian: kontrakty upgradeable zmieniają ryzyko w czasie.
  • Socjotechniki: kontrola kodu nie chroni przed phishingiem ani ujawnieniem seed phrase.

Podsumowanie

Bezpieczna interakcja ze smart kontraktami wymaga dyscypliny, narzędzi i rozsądku. Minimum to weryfikacja kodu, skanery, czytanie approvals i zrozumienie tego, co portfel pokazuje przed podpisem.

Żadne narzędzie nie daje pełnej gwarancji. Łącz źródła, zaczynaj od burner wallet i regularnie cofaj zbyt szerokie uprawnienia.

Najważniejsze: sprawdź adres i kod, symuluj transakcję, ogranicz approve, obserwuj proxy upgrades i miej pod ręką narzędzia revoke.

Najczęstsze pytania (FAQ)

Co zrobić, jeśli kontrakt nie jest zweryfikowany na Etherscan?
Najbezpieczniej nie wchodzić w interakcję. Nieweryfikowany kontrakt to czarna skrzynka; poproś zespół o wyjaśnienie i sprawdź reputację.
Nie jestem programistą — jak mogę sprawdzić kontrakt?
Otwórz adres w explorerze, sprawdź deploy, holderów i eventy, użyj skanerów i poszukaj niezależnych analiz.
Czy zweryfikowany i audytowany kontrakt jest bezpieczny?
Nie zawsze. Weryfikacja daje przejrzystość, a audyt zmniejsza ryzyko, ale nie usuwa go całkowicie.
Co to jest honeypot?
Token, który można kupić, ale nie można sprzedać. Brak sprzedaży i ostrzeżenia skanerów to silny sygnał stop.
Jak cofnąć approvale?
Użyj usługi revoke albo panelu Token Approvals. Połącz portfel, wybierz zbędne zgody i cofnij je.
Czy potrzebny jest osobny portfel do nowych dApps?
Tak. Burner wallet z małym saldem ogranicza skutki potencjalnego incydentu.
Połączyłem portfel ze scam kontraktem. Co teraz?
Natychmiast cofnij wszystkie uprawnienia dla tego adresu, ignoruj fałszywe zwroty i nie używaj głównego portfela z tą dApp.

Dowiedz się więcej o „DeFi”

W tej sekcji znajdziesz więcej analiz, praktycznych poradników i recenzji związanych z tym tematem.

Otwórz sekcję „DeFi”