Čo je honeypot v jednej vete?
Honeypot je token, pri ktorom vám kontrakt umožní nákup, ale predaj technicky znemožní alebo ho zaťaží tak vysokým poplatkom, že vám z predaja nezostane takmer nič. V grafe to vyzerá ako raketa, ktorá len rastie, pretože takmer nikto nemôže predať.
Dôležité: v tomto texte opisujeme všeobecné vzorce v kóde a v dátach, nie konkrétne projekty. Nehovoríme, že akýkoľvek token je podvod. Ukazujeme, ako mechanizmus funguje a ako si ho človek môže preveriť sám. Mechanika, ktorú tu uvádzame, vychádza z verejnej dokumentácie štandardu ERC-20, jazyka Solidity a dokumentácie decentralizovaných búrz (Uniswap, PancakeSwap), na ktorú odkazujeme v zdrojoch.
Ako to kontrakt technicky urobí?
Token na EVM reťazcoch (Ethereum, BNB Chain a podobné) je len smart kontrakt. Podľa štandardu ERC-20 prechádza prevod tokenu funkciou transfer alebo transferFrom (pozri dokumentáciu ERC-20 a OpenZeppelin v zdrojoch). Do tela tejto funkcie môže tvorca v Solidity zapísať ľubovoľné podmienky. Nákup a predaj pritom nie sú dve rôzne funkcie, sú to len prevody medzi vašou peňaženkou a likviditným párom (napríklad na Uniswape alebo PancakeSwape, ktorých mechaniku párov opisuje ich dokumentácia). To je kľúč: kontrakt vie rozlíšiť, či tokeny odchádzajú k likviditnému páru (predaj), alebo od páru k vám (nákup), a podľa toho sa zachovať inak.
Najčastejšie vzorce, ktoré sa v takýchto kontraktoch objavujú:
| Vzorec | Čo robí | Ako sa prejaví |
|---|---|---|
| Blacklist / whitelist | Len povolené adresy môžu prevádzať | Váš predaj revertuje (spadne) |
| Asymetrická daň | Nákup 0 %, predaj 99 % | Predáte, ale dostanete omrvinky |
| Blokácia pri predaji na pár | require, ktorý zlyhá, keď je príjemcom liquidity pool |
Predaj vôbec neprejde |
| Prepínateľný flag | Tvorca dodatočne vypne obchodovanie | Nákup fungoval, predaj neskôr prestal |
| Max transaction / cooldown | Limit taký nízky, že predaj neprejde | Transakcia revertuje na limite |
Spoločné je, že logika je podmienená a prepínateľná. Kontrakt nemusí byť honeypot od začiatku. Môže sa ním stať vo chvíli, keď tvorca zavolá funkciu, ktorá obchodovanie obmedzí.
Ako to vyzerá na konkrétnom čísle?
Predstavme si zjednodušený, čisto ilustratívny príklad (nejde o merané dáta). Do kontraktu vložíte 1 ETH a nakúpite 1 000 000 tokenov. Nákup prejde bez problémov, pretože daň z nákupu je nastavená na 0 %.
Potom skúsite predať tých 1 000 000 tokenov späť. Nastanú dve typické situácie:
- Tvrdý honeypot: transakcia vôbec neprejde. Peňaženka hlási, že transakcia zlyhala (revert). Vaše tokeny zostávajú, ETH nedostanete.
- Mäkký honeypot (daňový): predaj prejde, ale daň z predaja je 99 %. Z hodnoty zodpovedajúcej 1 ETH vám na účet príde ekvivalent 0,01 ETH. Formálne ste "mohli predať", reálne ste prišli takmer o všetko.
Rozdiel medzi týmito dvoma je dôležitý: mäkký honeypot často prejde povrchným testom, pretože predaj technicky funguje. Až pohľad na výslednú sumu ukáže, že daň zhltla takmer celý zostatok.
Ako si to človek môže otestovať pred nákupom?
Existuje niekoľko postupov, ktoré pracujú len s verejne dostupnými dátami. Opisujeme ich ako nástroje na overenie, nie ako záruku.
1. Simulácia predaja
Niektoré nástroje (honeypot checkery, prípadne simulátory transakcií) vykonajú v testovacom prostredí simulovaný nákup a hneď predaj a zmerajú, koľko by sa vrátilo. Výstupom býva odhadovaná daň z nákupu, daň z predaja a informácia, či predaj vôbec prejde. Obmedzenie: simulácia vychádza z aktuálneho stavu kontraktu. Ak tvorca logiku neskôr zmení, výsledok už nemusí platiť.
2. Čítanie overeného zdrojového kódu
Na block exploreri (napríklad Etherscan pre Ethereum alebo BscScan pre BNB Chain, pozri zdroje) je pri overených kontraktoch vidieť Solidity kód. Sledované vzorce:
- funkcie, ktoré menia dane alebo obchodné pravidlá po nasadení,
- podmienky
requirevnútri prevodu, ktoré sa líšia pre nákup a predaj, - role typu
onlyOwner, ktoré umožňujú vlastníkovi jednostranne zasiahnuť, - zoznamy adries (
_isBlacklisteda podobne).
Ak kontrakt nie je overený (zdrojový kód nie je zverejnený), nedá sa prečítať, čo robí. To samo o sebe nie je dôkaz ničoho, ale je to informácia o tom, čo neviete.
3. Pohľad na skutočné predaje na reťazci
V histórii transakcií páru sa dá zistiť, či vôbec niekto úspešne predal. Keď je tam veľa nákupov a takmer žiadne predaje, je to vzorec, ktorý stojí za pozornosť. Naopak rad normálnych predajov od rôznych adries je signál, že predaj v tej chvíli fungoval.
4. Kto drží a kto môže meniť
Užitočné je pozrieť sa na rozloženie držiteľov a na to, či je vlastníctvo kontraktu zrieknuté (renounced), alebo či má vlastník stále právo meniť parametre. Zrieknutie vlastníctva znižuje riziko dodatočnej zmeny pravidiel, ale nevylučuje, že honeypot logika už je napevno v kóde.
Prečo ani čistý test nie je záruka?
Pretože stav kontraktu je premenlivý v čase. Tri konkrétne pasce:
- Časovaná zmena: nákup aj predaj dnes fungujú, zajtra tvorca zavolá funkciu, ktorá predaj zablokuje.
- Prahové dane: daň sa zvýši až po dosiahnutí určitého objemu alebo počtu držiteľov.
- Proxy kontrakty: logika sa dá vymeniť cez upgradovateľný proxy, takže kód, ktorý ste čítali, už nemusí byť ten, ktorý sa vykoná.
Preto platí, že test hovorí, ako sa kontrakt správal v momente testu, nie ako sa zachová neskôr. Práve kvôli týmto pasciam považujeme výsledok simulácie aj čítanie kódu za silnú indíciu, nie za istotu.
Čo by ste teraz mali vedieť a čo zostáva neisté
Po tejto lekcii by ste mali byť schopní:
- vysvetliť, prečo kontrakt dokáže rozlíšiť nákup od predaja,
- pomenovať základné vzorce honeypotu (blacklist, asymetrická daň, blokácia predaja, prepínateľný flag),
- rozlíšiť tvrdý honeypot (predaj neprejde) od mäkkého (predaj prejde, ale daň zoberie takmer všetko),
- vykonať tri overenia: simuláciu predaja, čítanie overeného kódu a kontrolu reálnych predajov na reťazci.
Čo zostáva neisté a nedá sa to spoľahlivo zistiť dopredu: ako sa tvorca zachová v budúcnosti, či zmení parametre, a či za proxy kontraktom nevymení logiku. Žiadny nástroj nedáva stopercentnú istotu, pretože pracuje s minulým a prítomným stavom, nie s budúcim zámerom.
Toto nie je odporúčanie, čo robiť s peniazmi. Je to opis mechaniky a metód overenia, aby ste sa rozhodovali s otvorenými očami.

