Przejdź do głównej zawartości

Co to jest token Honeypot?

U
Napisane przez UKey Wallet

Token Honeypot to złośliwa kryptowaluta stworzona przez programistów, którzy celowo wprowadzają ograniczenia lub backdoory do inteligentnej umowy. Pozwala to zwykłym użytkownikom na kupowanie tokena, ale uniemożliwia im ** jego sprzedaż** (lub uzależnia sprzedaż od bardzo wysokich opłat/mechanizmów czarnej listy), skutecznie zatrzymując ich środki w portfelach. Na pierwszy rzut oka takie tokeny mogą wydawać się uzasadnione — mogą mieć pary płynności, logo tokenów i aktywną promocję społeczności — ale gdy użytkownik kupi token na zdecentralizowanej giełdzie, szybko odkrywa, że ​​sprzedaż jest odrzucana lub opłaty transakcyjne są tak wysokie, że odzyskanie inwestycji staje się niemożliwe.

Jak uniknąć strat i jak to sprawdzić

  1. Możesz wpisać adres umowy tokena w eksploratorze blockchain, takim jak OKLINK (jak pokazano w przykładzie poniżej). Jeśli token to Honeypot, zwykle zostanie on odpowiednio oznaczony. ​

2. Ponieważ codziennie na blockchainie pojawiają się nowe tokeny, a odkrywcy mogą nie aktualizować się na czas, możesz przeprowadzić ręczną samokontrolę, korzystając z poniższych metod. ​
Sprawdź w zakładce Przeczytaj umowę:

owner() — Jeśli zwróci wartość inną niż 0x000..., oznacza to, że właściciel nadal ma kontrolę.

totalSupply() i balanceOf() — Sprawdź początkową dystrybucję tokenów.

Poszukaj funkcji lub zmiennych, takich jak isExcludedFromFee(adres), isBlacklisted(adres), maxTxAmount() i tradingEnabled() (różne kontrakty mogą używać różnych nazw, ale służą podobnym celom). ​
W zakładce Napisz umowę (dostępna tylko jeśli masz pozwolenie):

Sprawdź, czy istnieją wrażliwe funkcje zapisu, takie jak ​setFeePercent, setBlacklist, renounceOwnership lub setTradingEnabled. Jeśli takie istnieją i może zostać wywołane tylko przez właściciela, token niesie ze sobą wysokie ryzyko. ​
Przeszukaj kod źródłowy pod kątem następujących słów kluczowych (wielkość liter lub podkreślenia nie ma znaczenia):czarna lista, isBot, onlyOwner, setFee, maxTx, excludedFromFee, trading, swapAndLiquify, transferFrom, zatwierdzenie, mint, burn, zrzeczenie się własności, płynność.

Zwróć szczególną uwagę na implementację transfer, _transfer i transferFrom — sprawdź, czy obsługują one inaczej to == pair lub from == pair (aby rozróżnić operacje kupna i sprzedaży).

Jeśli znajdziesz kod taki jak

wymagaj(!_isBlacklisted[od]); if (to == para) { opłata = 99; }

to jest wyraźna czerwona flaga. ​
Sprawdź, czy umowa wywołuje router (np. router Pancake/Uniswap) i czy proces „zamiany” obejmuje złożoną logikę, taką jak „lockTheSwap” lub „_tax”, co może uniemożliwić normalną zamianę.

Czy to odpowiedziało na twoje pytanie?