Czym jest ERC-20? Standard tokenów, który napędza gospodarkę Ethereum

Czym jest ERC-20? Standard tokenów, który napędza gospodarkę Ethereum

Trzymam USDT w moim portfelu MetaMask. Mam też trochę LINK-a, trochę UNI z wymiany w zeszłym tygodniu i tokena psa, którego ktoś mi podesłał przez Airdrop, a którego ciągle zapominam sprzedać. Te tokeny robią zupełnie różne rzeczy. Tether to stablecoin oparty na gotówce i obligacjach skarbowych. Chainlink obsługuje sieci Oracle, które przesyłają dane ze świata rzeczywistego do inteligentnych kontraktów. Uniswap zarządza największą giełdą zdecentralizowanych kryptowalut (DEX) na Ethereum. Token psa nie robi nic pożytecznego. Ale mój portfel wyświetla je wszystkie na tej samej liście, pozwala mi je wysłać tym samym przyciskiem, a każdy protokół DeFi, którego używam, akceptuje je bez żadnej specjalnej konfiguracji.

To działa tylko dlatego, że wszystkie cztery podlegają tym samym zasadom. To tokeny ERC-20. Ten sam interfejs, te same funkcje, ta sama strategia. A zrozumienie, co tak naprawdę oznacza ERC-20, to pierwszy krok do zrozumienia, jak Ethereum funkcjonuje jako gospodarka.

Fabian Vogelsteller napisał propozycję w listopadzie 2015 roku. Nadał jej nudną nazwę: Ethereum Request for Comment numer 20. Vitalik Buterin był współautorem wersji finalnej. Do 2017 roku została ona formalnie przyjęta, a potem boom ICO uderzył z impetem. Tysiące projektów uruchomiło tokeny z dnia na dzień, ponieważ standard ERC-20 uczynił je niemal darmowymi. Pół miliona kontraktów tokenowych później standard nadal rządzi. Właśnie to robi i dlatego powinieneś się tym zainteresować, nawet jeśli nigdy nie planujesz napisać ani jednej linijki Solidity.

Jak działa standard ERC-20

Nazwa jest bardziej nerdowska niż być powinna. ERC = Ethereum Request for Comment. 20 = numer propozycji. I tyle. Deweloper o imieniu Fabian powiedział: „Oto zasady, których powinien przestrzegać każdy token” i nadał swojej propozycji numer 20, ponieważ był to kolejny wolny slot. Nie dwadzieścia zasad. Nie dwadzieścia tokenów. Po prostu propozycja nr 20 w kolejce ulepszeń Ethereum.

Co mówią te zasady: jeśli chcesz stworzyć zamienny token w Ethereum, Twój inteligentny kontrakt musi zawierać te konkretne funkcje. „Zamienny” oznacza, że każda jednostka tokena jest identyczna. Jeden USDC jest taki sam jak każdy inny USDC. Nie ma znaczenia, który konkretny token UNI posiadasz, ponieważ wszystkie są wymienne. Z NFT jest odwrotnie. Każdy jest unikalny. Inny standard. Inny artykuł.

Standard ERC-20 precyzuje sześć funkcji i dwa zdarzenia. Każdy zgodny z nim kontrakt tokenowy, od USDT z kapitalizacją rynkową 140 miliardów dolarów, po memecoina, którego ktoś wprowadził na rynek trzydzieści sekund temu, implementuje te same wywołania:

Funkcjonować Wersja w języku angielskim
całkowita podaż() „Ile takich żetonów istnieje na świecie?”
balanceOf(adres) „Ile sztuk jest w tym konkretnym portfelu?”
przelew(do, kwota) „Wyślij X tokenów z mojego portfela do tej drugiej osoby”
zatwierdzić (wydającego, kwotę) „Pozwól temu protokołowi DeFi wydać do X moich tokenów”
transferFrom(z, do, kwota) „Mam pozwolenie na przeniesienie tokenów z portfela A do portfela B”
dodatek (właściciel, wydający) „Ile ta osoba może jeszcze wykorzystać z kieszonkowego?”

Za każdym razem, gdy coś się dzieje, w łańcuchu rejestrowane są dwa zdarzenia. Transfer jest aktywowany za każdym razem, gdy tokeny są przenoszone między portfelami. Zatwierdzenie jest aktywowane, gdy ktoś udziela pozwolenia na wydatki. Eksploratory blockchain, takie jak Etherscan, wykorzystują te zdarzenia do tworzenia historii transakcji, którą widzisz, wyszukując token.

Trzy opcjonalne pola nadają tokenowi indywidualny charakter: nazwa nadaje tokenowi czytelną dla człowieka etykietę („Chainlink”), symbol to ticker („LINK”), a decimals określa, jak szczegółowo można podzielić token (prawie wszyscy używają 18 do dopasowania ETH, choć USDT używa 6, co spowodowało więcej błędów, niż ktokolwiek chce przyznać).

Sześć funkcji. Dwa zdarzenia. Trzy pola opcjonalne. To dosłownie cała specyfikacja. Mógłbym to wydrukować na serwetce, zostawiając miejsce na plamy po kawie. A jednak ta specyfikacja wielkości serwetki zarządza gospodarką tokenową wartą setki miliardów dolarów. MetaMask odczytuje te funkcje, aby wyświetlić saldo. Uniswap wywołuje je, aby wykonać swapy. Aave używa ich do zarządzania pożyczkami. Każdy protokół DeFi, z którego kiedykolwiek korzystałeś, komunikuje się z tokenami za pośrednictwem tego samego interfejsu. Prostota jest najważniejsza.

erc-20

Dlaczego ERC-20 zmieniło wszystko w Ethereum

Pracowałem w branży kryptowalut w 2016 roku, zanim jeszcze powstał ten standard. Panował chaos. Każdy token był niestandardowym zadaniem. Ktoś tworzył kontrakt tokenowy z własnymi nazwami funkcji, własną logiką transferu, własnym sposobem sprawdzania sald. MetaMask nie miał pojęcia, czym jest połowa tych tokenów. Giełdy potrzebowały miesięcy, aby dodać obsługę nowego tokena, ponieważ każdy z nich wymagał niestandardowego kodu integracyjnego. Budowanie zdecentralizowanej giełdy (DEX)? Zapomnij o tym. Trzeba by było napisać procedury obsługi dla każdej implementacji tokena.

ERC-20 położył kres temu szaleństwu. Po przyjęciu standardu, nowy token pojawił się w MetaMask w momencie wklejenia adresu kontraktu. Uniswap mógł go wystawić bez niczyjej zgody. Aave mógł go zaakceptować jako zabezpieczenie bez pisania ani jednej linijki kodu. Jeden standard, uniwersalna kompatybilność.

Fala ICO z 2017 roku była tego dowodem. Jakiś dzieciak w akademiku mógł wdrożyć token ERC-20 po obiedzie, założyć stronę internetową z białą księgą i do północy przyjmować ETH od inwestorów. Obserwowałem to na żywo. Projekty zbierały miliardy. Niektóre były legalne i tworzyły prawdziwe produkty. Większość była śmieciami. Kilka było jawnym oszustwem. Ale technologia, która się za tym kryła? Działała bez zarzutu. Standard robił dokładnie to, do czego został zaprojektowany: sprawiał, że tworzenie tokenów i interakcja z nimi były banalnie proste.

Skala jest teraz oszałamiająca. Ponad 500 000 kontraktów na tokeny ERC-20 znajduje się w sieci Ethereum. Całkowita kapitalizacja rynkowa tokenów ERC-20 sięga setek miliardów. Sam USDT przekroczył 140 miliardów dolarów. Dodaj USDC, LINK, UNI, DAI, SHIB, MKR i resztę, a zobaczysz, że większość wartości ekonomicznej Ethereum znajduje się w kontraktach ERC-20.

Najlepsze tokeny ERC-20 Kategoria Kapitalizacja rynkowa (w przybliżeniu)
USDT (więź) Stabilna moneta ponad 140 mld dolarów
USDC (koło) Stabilna moneta ponad 60 mld dolarów
OGNIWO (ogniwo łańcucha) Sieć Oracle Ponad 8 mld dolarów
UNI (Uniswap) Zarządzanie DEX 4 mld dolarów+
DAI (Stwórca) Zdecentralizowany stablecoin Ponad 5 mld dolarów
AAVE Protokół pożyczkowy Ponad 2 mld dolarów
SHIB (Shiba Inu) Memecoin 6 mld dolarów+
MKR (Producent) Zarządzanie Ponad 1,5 mld dolarów

Tworzenie tokena ERC-20: łatwiejsze niż myślisz

Kiedyś oglądałem na żywo na YouTube, jak ktoś wdrażał token ERC-20. Zajęło to 14 minut. Wliczając czas, który poświęcił na wyjaśnianie, co robi, na czacie.

To nie jest przechwalanie się tym, jak inteligentny był streamer. To stwierdzenie, jak proste było to, co OpenZeppelin uczynił. OpenZeppelin to biblioteka sprawdzonego, zaprawionego w bojach kodu Solidity, która wykonuje całą ciężką pracę. Wybierasz nazwę swojego tokena („MyToken”), symbol („MTK”), liczbę dziesiętną (18, tak samo jak w ETH) i początkową ilość. Biblioteka obsługuje sześć funkcji ERC-20, zdarzenia i kontrole bezpieczeństwa. Kopiujesz szablon, zmieniasz cztery zmienne, wdrażasz na Ethereum i masz prawdziwy token.

Koszty wdrożenia wahają się. Cicha sieć? Może 20-50 dolarów. Szczytowe przeciążenie, jak w dniu premiery NFT? 200-500 dolarów. Wdrożenie na Arbitrum lub Base zamiast na sieci głównej Ethereum, spowoduje spadek do kilku dolarów. Bariera finansowa jest bliska zeru.

Oto ciemna strona tej dostępności. Blockchain Ethereum nie sprawdza, czy kontrakt tokenowy jest legalny. Nie weryfikuje zespołów, nie audytuje kodu ani nie ocenia modeli biznesowych. Jeśli możesz uiścić opłatę za gaz, możesz wdrożyć token. Właśnie dlatego Etherscan wymienia setki tysięcy kontraktów tokenowych, a większość z nich to porzucone eksperymenty lub aktywne oszustwa. Standard ERC-20 gwarantuje kompatybilność. Nie gwarantuje jednak absolutnie niczego, jeśli chodzi o to, czy token jest wart posiadania.

ERC-20 a inne standardy tokenów Ethereum

Ludzie pytają mnie: „Czy ERC-20 to jedyny standard tokenów?”. Nie. Nawet blisko. Ale to był pierwszy, który zadziałał, a kolejne, które pojawiły się po nim, rozwiązały problemy, które ERC-20 pozostawił na stole.

ERC-721 dotarł i dał nam NFT. Podczas gdy każdy token ERC-20 jest wymienny (Twój USDC jest taki sam jak mój USDC), każdy token ERC-721 ma unikalny identyfikator. Bored Ape #4293 to zupełnie inny zasób niż Bored Ape #7810. Podobne nazwy funkcji, ale logika działa na pojedynczych elementach, a nie na ogólnych kwotach. Nie można wysłać połowy Bored Ape. To zasada „wszystko albo nic”.

ERC-1155 został stworzony przez twórców gier, którzy znudzili się tworzeniem osobnych kontraktów dla każdego rodzaju przedmiotu. Jeden kontrakt obsługuje złote monety (zamienne, jak ERC-20), żelazne miecze (częściowo zamienne, 50 identycznych kopii) i unikalny legendarny hełm (niezamienny, jeden egzemplarz). Transfery zbiorcze oszczędzają paliwo. Jedna transakcja przenosi 100 różnych przedmiotów zamiast 100 osobnych transakcji.

BEP-20 to nazwa ich wersji w Binance Smart Chain. Te same funkcje, te same zdarzenia, inny blockchain. Skopiuj i wklej ERC-20 w tańszej sieci. Standard SPL Solany spełnia to samo zadanie, ale z zupełnie inną architekturą, ponieważ Solana nie została zaprojektowana z myślą o kompatybilności z Ethereum.

Standard Typ tokena Zamienny? Przypadki użycia Sieć
ERC-20 Token zamienny Tak Waluty, zarządzanie, użyteczność Ethereum
ERC-721 Token niewymienialny Brak (unikalnych identyfikatorów) NFT, sztuka cyfrowa, przedmioty kolekcjonerskie Ethereum
ERC-1155 Multi-token Obydwa Gry, mieszane typy aktywów Ethereum
BEP-20 Token zamienny Tak Tak samo jak ERC-20 Sieć BNB
SPL Zamienny + NFT Obydwa Ekosystem Solana Solana

Tokeny ERC-20 w DeFi: dlaczego standard napędza zdecentralizowane finanse

Usuń ERC-20, a DeFi zawali się z dnia na dzień. Nie „zmaga się”. Załamie się. Każdy element systemu zakłada, że tokeny mówią tym samym językiem.

Uniswap łączy dwa tokeny ERC-20 w pulę i umożliwia wymianę między nimi. Działa dla USDC. Działa dla SHIB. Działa dla tego memcoina, którego Twój znajomy uruchomił o 2 w nocy. Giełdzie DEX nie zależy na tym, co robi token. Liczy się tylko to, aby kontrakt obsługiwał transfer() i apply(). Dodaj pulę płynności, a handel rusza. Bez wniosku o notowanie. Bez weryfikacji giełdy. Bez okresu oczekiwania.

Aave i Compound pożyczają tokeny ERC-20. Protokół wywołuje balanceOf(), aby sprawdzić, ile wpłaciłeś. Wywołuje transfer(), aby przenosić tokeny. Używa approved() i transferFrom(), gdy spłacasz pożyczki. Rynek pożyczkowy dla nowego tokena może ruszyć w dniu wdrożenia tokena, ponieważ interfejs jest już znany.

Potem pojawia się dziwny problem z ETH. ETH istniało przed ERC-20, więc nie jest zgodne ze standardem. To psuje kompozycyjność. Rozwiązanie: WETH. Wrapped Ether to wrapper ERC-20 wokół natywnego ETH. Wpłać 1 ETH, odbierz 1 WETH, który protokoły DeFi mogą normalnie obsłużyć. WBTC robi to samo z Bitcoinem, wprowadzając wartość BTC do ekosystemu Ethereum jako token ERC-20, wspierany 1:1 prawdziwym Bitcoinem w depozycie.

Praktyczny rezultat: Mogę dziś zbudować protokół DeFi, który działa z każdym tokenem ERC-20, jaki kiedykolwiek stworzono, w tym z tokenami, które jeszcze nie istnieją. Mój kod nie musi znać USDT. Nie wymaga aktualizacji, gdy ktoś jutro wprowadzi na rynek nową stablecoinę. Interfejs obsługuje wszystko. Ta kompozycyjność jest powodem, dla którego Ethereum charakteryzuje się większą aktywnością w DeFi, wyższym całkowitym limitem konwersji (TVL) i większą liczbą narzędzi dla programistów niż jakikolwiek inny blockchain. Standard ERC-20 stanowi fundament, na którym opiera się wszystko inne.

Zagrożenia bezpieczeństwa i typowe problemy ERC-20

Opowiem wam o błędzie zatwierdzania, który kosztował użytkowników DeFi miliony i którego prawie nikt nie rozumie, dopóki sam nie doświadczy problemu.

Kiedy wymieniasz tokeny na Uniswap lub wpłacasz do Aave, aplikacja zdecentralizowana prosi o „zatwierdzenie” wydania tokenów. Większość aplikacji zdecentralizowanych domyślnie ma nieograniczoną autoryzację. Brzmi to niegroźnie, dopóki nie uświadomisz sobie, co to znaczy: ten inteligentny kontrakt może wydawać każdy token tego typu z Twojego portfela, w dowolnym momencie, na zawsze, dopóki wyraźnie nie cofniesz pozwolenia. Jeśli kontrakt zostanie zhakowany za sześć miesięcy, atakujący wykorzysta Twoje stare zatwierdzenie, aby wykraść tokeny, do których zapomniałeś, że kiedykolwiek dałeś im dostęp.

To się zdarzyło. Nie raz. Rozwiązanie jest proste, ale irytujące: zatwierdzaj tylko dokładnie taką kwotę, jakiej potrzebujesz dla każdej transakcji. Albo użyj Revoke.cash, aby wyczyścić stare zatwierdzenia, o których zapomniałeś. Sprawdzam swoje co kilka miesięcy. Zawsze jest gorzej, niż się spodziewałem. ERC-2612 to nowszy standard, który zastępuje zatwierdzenia on-chain podpisanymi zezwoleniami, co zmniejsza to ryzyko. Jednak większość aplikacji zdecentralizowanych (dApps) nadal korzysta ze starego wzorca.

Fałszywe tokeny łapią ludzi co tydzień. Oszust wdraża kontrakt ERC-20 o nazwie „Uniswap” lub „Chainlink” z nieco innym adresem kontraktu. Szukasz go na giełdzie zdecentralizowanej (DEX), widzisz znajomą nazwę i kupujesz podróbkę. Twoje pieniądze trafiają prosto do portfela oszusta. Prawdziwy adres kontraktu LINK to 0x514910771AF9Ca656af840dff83E8264EcF986CA. Podróbka może mieć adres 0x514910... coś innego. Zawsze kopiuj adres z CoinGecko lub oficjalnej strony projektu. Nigdy nie szukaj po samej nazwie.

Są też tokeny z ukrytymi sztuczkami. Na pierwszy rzut oka kontrakt wygląda jak standardowy ERC-20. Pod spodem, osoba wdrażająca dodała funkcję, która pozwala jej tworzyć nieograniczoną liczbę nowych tokenów. Albo podatek od sprzedaży, który pobiera 99% twoich tokenów przy próbie wymiany. Albo czarną listę, która uniemożliwia sprzedaż komukolwiek poza osobą wdrażającą. Standard ERC-20 nie mówi nic o tym, czego kontrakt nie może zrobić. Określa jedynie minimalne funkcje. Cała reszta zależy od dewelopera. Audyty tokenów, DextScore i zweryfikowane kontrakty w Etherscan istnieją właśnie z powodu tej luki między prostotą standardu a kreatywnością oszustów.

Jakieś pytania?

Tak. Każdy może wdrożyć token ERC-20 na Ethereum za pomocą Solidity i narzędzi takich jak OpenZeppelin i Remix IDE. Bariera techniczna jest niska. Stworzenie podstawowego tokena zajmuje mniej niż godzinę, a jego wdrożenie kosztuje 20–500 dolarów, w zależności od warunków sieciowych. Najtrudniejsze nie jest stworzenie tokena. Najtrudniejsze jest zbudowanie czegoś, dla czego warto stworzyć token.

Na Ethereum wdrożono ponad 500 000 kontraktów na tokeny ERC-20. Większość z nich jest nieaktywna, porzucona lub stanowi oszustwo. Kilka tysięcy z nich charakteryzuje się znaczącym wolumenem obrotu i rzeczywistym wykorzystaniem. Największa część całkowitej wartości tokenów ERC-20 pod względem kapitalizacji rynkowej (USDT, USDC, LINK, UNI, DAI) stanowi największą część tej wartości.

Nie. ERC-20 to standard techniczny (plan). USDT to konkretny token stablecoin, który wykorzystuje standard ERC-20. Wyobraź sobie ERC-20 jako specyfikację USB, a USDT jako konkretne urządzenie USB. USDT istnieje również w innych blockchainach (Tron, Solana, Avalanche) korzystających z ich odpowiednich standardów tokenów, ale wersja Ethereum jest tokenem ERC-20.

Każdy portfel Ethereum obsługujący niestandardowe tokeny jest portfelem ERC-20. MetaMask, Trust Wallet, Coinbase Wallet, Rainbow, Plisio, Trezor i Ledger wyświetlają i zarządzają tokenami ERC-20. Po dodaniu adresu kontraktu tokena do MetaMask, odczytuje on funkcje ERC-20 (balanceOf, symbol, miejsca dziesiętne), aby wyświetlić saldo. Nie potrzebujesz specjalnego portfela dla tokenów ERC-20. Działa każdy portfel, który łączy się z Ethereum.

Nie. Coinbase to giełda kryptowalut. Coinbase obsługuje jednak tokeny ERC-20 do wpłat i wypłat za pośrednictwem sieci Ethereum. Coinbase zbudował również Base, sieć warstwy 2 na Ethereum, w której tokeny ERC-20 mogą być używane z niższymi opłatami za gaz. Wysyłając token ERC-20 na swoje konto Coinbase, upewnij się, że wybrałeś sieć Ethereum (lub właściwą L2), aby uniknąć utraty środków.

Nie. ETH to natywna kryptowaluta Ethereum. Istnieje na poziomie protokołu i jest starsza niż standard ERC-20. Tokeny ERC-20 są budowane na bazie Ethereum za pomocą inteligentnych kontraktów. ETH nie stosuje się do zasad ERC-20, dlatego stworzono WETH (Wrapped ETH), aby nadać ETH format zgodny z ERC-20 do użytku w DeFi. Podczas interakcji z większością protokołów DeFi, Twoje ETH jest automatycznie wczytywane do WETH.

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.