Tahle kapitola je psaná z pohledu obrany: co se dá poznat z kódu a z veřejných dat dřív, než člověk o něco přijde. Není to návod, je to čtení stop.
Užitečné je vědět, že drtivá většina podvodů v téhle oblasti není technicky sofistikovaná. Spoléhá na spěch, na neochotu číst a na to, že člověk nezná pár jednoduchých kontrol.
Vzor 1: autor si nechal páku
Nejčastější případ. Kontrakt vypadá normálně, ale někde v něm je funkce, kterou smí volat jen autor, a která mu dává kontrolu.
Na co se dívat:
| Znak | Proč vadí |
|---|---|
| Funkce na ražbu dalších kusů | zásoba není omezená, i když to tvrdí popis |
| Možnost změnit poplatek za převod | dá se nastavit tak, že prodej fakticky nejde |
| Seznam adres, které nesmí prodávat | kupovat jde, prodávat ne |
| Aktualizovatelný proxy bez zpoždění | logika se dá vyměnit ze dne na den |
| Nezveřejněný zdrojový kód | nedá se ověřit vůbec nic |
Poslední řádek je nejdůležitější. Pokud kód není zveřejněný a ověřený proti nasazenému, všechny ostatní kontroly jsou bezpředmětné.
Vzor 2: likvidita, která může zmizet
U tokenu obchodovaného v bazénu drží obchodovatelnost právě ten bazén. Když ho autor může kdykoli vybrat, zmizí s ním možnost prodat.
Co se dá zjistit z veřejných dat:
- Kdo drží podíly v bazénu a jestli jsou uzamčené, na jak dlouho a čím.
- Jak je rozdělené držení tokenu. Když má pár adres většinu, cenu určují ony.
- Jestli byly tokeny rozdané zdarma velkému počtu adres, které patří jedné osobě.
Vzor 3: objem, který není objem
Obchodování sám se sebou vyrobí graf, který vypadá jako zájem. Poznávací znaky:
- Objem je vysoký, ale počet unikátních adres nízký.
- Obchody chodí v pravidelných intervalech a podobných velikostech.
- Objem výrazně převyšuje likviditu v bazénu, což u skutečného obchodování nedává smysl.
Vzor 4: sociální část, která je vždy stejná
Technika je jen půlka. Druhá půlka je psychologie a je pokaždé identická:
- Časový tlak. Nabídka končí, místa docházejí, cena roste.
- Sliby výnosu, které jsou vyjádřené jako jistota.
- Falešná autorita. Loga médií, tvrzené partnerství, koupené profily.
- Žádost o seed frázi nebo o podpis, kterému nerozumíš. Legitimní služba tohle nikdy nepotřebuje.
Ten poslední bod stojí za zdůraznění, protože je nejčastější cestou ke skutečné ztrátě: podpis transakce může udělit trvalé oprávnění nakládat s tvými tokeny. Nemusí to být převod, stačí schválení. Proto se vyplatí procházet a rušit stará oprávnění.
Praktický postup, než člověk něco udělá
- Je zdrojový kód zveřejněný a ověřený proti nasazenému? Když ne, konec.
- Kdo může volat privilegované funkce a je to multisig se zpožděním?
- Jak je rozdělené držení a je likvidita uzamčená?
- Odpovídá objem počtu unikátních adres?
- Co přesně podepisuji a jaké oprávnění tím dávám?
Žádný z těch kroků nevyžaduje být programátor. Většina se dá udělat ve veřejném prohlížeči blockchainu za deset minut.
Cvičení
- Proč je nezveřejněný zdrojový kód sám o sobě dostatečný důvod k odmítnutí?
- Token má vysoký objem, ale jen 40 unikátních adres za den. Co to naznačuje?
- Jaký je rozdíl mezi podpisem převodu a podpisem schválení a proč je ten druhý nebezpečnější?
Náčrt řešení: rozbal, až si cvičení zkusíš sám
- Protože bez kódu nejde ověřit žádné tvrzení o tom, co kontrakt dělá. Nedá se zjistit, jestli existuje funkce na ražbu, na zmrazení prodeje ani kdo má jaká oprávnění. Zveřejnění kódu je přitom triviální a bezplatné, takže jeho absence je buď nedbalost, nebo záměr. V obou případech je to dost velký důvod dál nepokračovat, protože všechny další kontroly by stály na slovech.
- Naznačuje to obchodování sama se sebou. Skutečný zájem se projeví růstem počtu různých účastníků, ne opakovanými obchody mezi několika adresami. Doplňující kontrola je porovnat objem s hloubkou likvidity: pokud se denně protočí několikanásobek toho, co je v bazénu, nejde o běžné obchodování. Samo o sobě to není důkaz, ale je to důvod dívat se pozorněji.
- Převod přesune konkrétní částku jednou, schválení udělí právo nakládat s prostředky opakovaně a často bez limitu. Nebezpečnější je proto schválení: podepíšeš ho jednou a protistrana může čerpat kdykoli později, klidně za měsíc. Proto se doporučuje schvalovat jen potřebnou částku místo neomezené a pravidelně procházet a rušit stará oprávnění, která už nejsou k ničemu.
Shrnutí
- Většina podvodů není technicky sofistikovaná, spoléhá na spěch a neochotu kontrolovat.
- Nezveřejněný zdrojový kód je sám o sobě dostatečný důvod nepokračovat.
- Hledej privilegované funkce: ražba, změna poplatků, zákaz prodeje, výměna logiky.
- Vysoký objem při nízkém počtu unikátních adres naznačuje obchodování sama se sebou.
- Podpis schválení je nebezpečnější než podpis převodu, protože platí do odvolání.
Proč je absence zveřejněného zdrojového kódu zásadní problém?
Protože bez něj nejde ověřit žádné tvrzení o chování kontraktu, tedy ani to, jestli může autor razit další kusy, zmrazit prodej nebo vyměnit logiku. Zveřejnění a ověření kódu proti nasazenému je přitom bezplatné a snadné, takže jeho absence je vždy signál, ne technická nutnost.
Jak se pozná uměle vyrobený obchodní objem?
Podle nepoměru mezi objemem a počtem unikátních adres, podle pravidelných intervalů a podobných velikostí obchodů a podle toho, že objem výrazně převyšuje likviditu dostupnou v bazénu. Skutečný zájem se projeví růstem počtu různých účastníků, ne opakovanými obchody mezi několika adresami.
Proč je podpis schválení nebezpečnější než podpis převodu?
Převod pošle konkrétní částku jednou, kdežto schválení udělí protistraně právo nakládat s prostředky opakovaně a často bez limitu i bez časového omezení. Vyčerpat se dá kdykoli později. Proto se doporučuje schvalovat jen potřebnou částku a stará oprávnění pravidelně rušit.
