Bez możliwości kreacji własnych tokenów, którą zapewnił użytkownikom ekosystem Ethereum, kryptowaluty byłyby wciąż tylko ciekawostką. Niewielu jednak w pełni rozumie, co to jest ERC-20 oraz jakie ten standard tokena ma zalety i ograniczenia.
Czym są tokeny ERC-20?
Określenie ERC to skrót nazwy Ethereum Request for Comments – dokumentu, służącego uzgodnieniu rozwiązań, polepszających działanie sieci. Wstępne propozycje (EIP) są publikowane na Github, dyskutowane przez programistów, a jeśli zdobędą poparcie większości – wdrażane. Wtedy zmieniają nazwę na ERC i stają się oficjalnym dokumentem, opisującym wymogi stawiane smartkontraktom działającym w sieci.
ERC-20 to standard techniczny dla tworzonych na blockchainie Ethereum tokenów wymiennych (w przeciwieństwie do niewymiennych NFT, zapisywanych w jako ERC-721 oraz ERC-1155). Zawiera on zestaw funkcji, które musi zawierać kod tokena, by być bezproblemowo obsługiwany przez każdy interfejs. Kompatybilne tokeny mogą więc być np. listowane na giełdach kryptowalut, bez potrzeby ich dostosowywania do konkretnej platformy.
Tokenem ERC-20 jest każdy token, utworzony na sieci Ethereum i spełniający ustalone w dokumentacji wymogi.
Przez analogię można uznać standard ERC-20 za odpowiednik normy, regulującej kształt i wymiary wtyczek wszelkich urządzeń elektrycznych. Niezależnie od producenta, wtyczki i kontakty spełniające określoną normę będą wzajemnie kompatybilne.
Za obsługę wszystkich smartkontraktów w sieci, a więc także tokenów, odpowiedzialna jest Ethereum Virtual Machine (EVM).
Główne cechy standardu
Skoro wiemy już, czym są tokeny ERC-20, czas sprawdzić, jak są zbudowane. Smartkontrakt musi mieć zdefiniowane następujące kryteria i funkcje:
- TotalSupply: definiuje liczbę tokenów, które zostały utworzone,
- BalanceOf: określa saldo konta właściciela tokena,
- Transfer: umożliwia przelanie części Total Supply na określony adres,
- TransferFrom: wykonuje przelew tokenów z określonego adresu,
- Approve: umożliwia wypłatę tokenów z określonego konta do określonej wysokości kwoty,
- Allowance: pozwala na sprawdzenia salda konta oraz ew. anulowanie transakcji.
Smartkontrakt powinien także (ale nie musi) zawierać trzy dodatkowe parametry:
- Nazwę tokena (np. Chainlink),
- Jego symbol (np. LINK),
- Maksymalną podzielność tokena (np. 0,00000001).
Standard ERC-20 został zaproponowany w roku 2015, przyjęty w 2017, zaś swoją nazwę zawdzięcza temu, że zgłoszona propozycja była dwudziestą z kolei.
Zastosowanie tokenów
Dzięki elastyczności standardu, token ERC-20 ma wiele unikalnych cech i zastosowań, jak na przykład:
- pozwala na transfer wartości między użytkownikami,
- ułatwia zbieranie funduszy poprzez oferowanie tokenów na launchpadach,
- może być wykorzystywany przez zdecentralizowane aplikacje (dApps),
- umożliwia zarządzanie projektem poprzez DAO,
- pozwala na tokenizację, czyli powiązanie zasobów cyfrowych z fizycznymi.
Jak rozpoznać, czy dany zasób jest monetą czy tokenem? Jeśli opiera się na własnym łańcuchu bloków, jest to moneta. Jeśli opiera się na obcym, istniejącym wcześniej łańcuchu, posiadającym już własną monetę – jest to token.
Najpopularniejsze tokeny ERC-20
Tokeny ERC-20 odpowiadają w przybliżeniu za 25% wartości całego rynku krypto, plasują się więc jako grupa na drugim miejscu, za niekwestionowanym liderem BTC, a przed ETH. Lista najpopularniejszych tokenów ekosystemu Ethereum wygląda następująco:
Lp. | Moneta | MC w $ | Opis | |||
1 | USDT | 83 mld | największy stablecoin, obecny także na wielu innych łańcuchach | |||
2 | BNB | 37 mld | natywny token czołowej giełdy Binance | |||
3 | USDC | 28 mld | drugi co wielkości stablecoin, odwieczny rywal USDT | |||
4 | stETH | 12 mld | token Lido Finance, lidera w stakowaniu Ethereum | |||
5 | MATIC | 5,5 mld | token Polygon, największego łańcucha bocznego Ethereum | |||
6 | DAI | 4,4 mld | zdecentralizowany stablecoin emitowany przez Maker DAO | |||
7 | BUSD | 4,2 mld | stablecoin Binance, uzupełniający funkcjonalność BNB | |||
8 | SHIB | 4,2 mld | popularny memecoin, rywalizujący z DOGE | |||
9 | WBTC | 4,1 mld | wrapped BTC, pozwalający użyć monet Bitcoina na DeFi | |||
10 | UNI | 3,3 mld | token Uniswap, największej zdecentralizowanej giełdy |
W połowie czerwca 2023 r. całkowita wartość rynku krypto to około 1100 miliardów dolarów, z czego wartość Ethereum to 200 mld, zaś tokenów ERC-20 ok. 270 mld.
Tajemnice ERC-20
Wydaje się, że token ERC-20 to najprostsza rzecz pod słońcem. Wysyłasz odbierasz, sprzedajesz na giełdzie, jasna sprawa. Warto jednak spojrzeć nieco głębiej, by uniknąć niespodzianek.
- Standard definiuje podstawowe parametry, jednak kod każdego tokena może być inny. Nie ma gwarancji, że dany token poprawnie go implementuje. Kiedy wchodzimy w interakcję z tokenem ERC-20, uruchamiamy unikalny kod, który może robić rzeczy, których się nie spodziewamy.
- Łatwo jest stworzyć token ERC-20, który ma wbudowanego backdoora. Możliwe jest również oszukanie nieostrożnych użytkowników. Wystarczy udostępnić publicznie kod źródłowy, który w rzeczywistości jest inny, niż uruchomiony kod zapisany w postaci binarnej.
- Ważną cechą wdrożonego smartkontraktu jest jego niezmienność, jest to jednak zabezpieczenie możliwe do obejścia. Jedną z dostępnych metod jest funkcjonalność proxy, kiedy niezmienny kod smartkontraktu wywołuje program zewnętrzny, który może już zostać zmieniony (patrz oficjalne materiały Ethereum).
- Standard definiuje dwie metody przesyłania tokenów: transfer() i transferFrom(), niestety nie ma w nim mechanizmu obsługi zdarzeń (transakcji). W pewnych wypadkach, szerzej opisanych tutaj, odbiorca nie będzie mógł rozpoznać przychodzącej transakcji.
Podsumowując, można stwierdzić że choć standard ERC-20 jest łatwy w implementacji, przerzuca on na użytkownika ryzyko popełnienia błędu. Oczywiście, zdecydowana większość tokenów jest bezpieczna w użyciu, jednak rozpoznanie nielicznych zgniłych jabłek nie jest takie łatwe. Podobnie zresztą jak napisanie smartkontraktu pozbawionego błędów.
Przechowywanie, transfer oraz tworzenie tokenów
Jeśli zastanawiasz się, jaki portfel krypto potrafi obsłużyć ERC-20, mamy dobrą wiadomość – każdy kompatybilny z Ethereum. Trzeba jednak pamiętać, że niektóre z nich mogą ograniczać listę wyświetlanych tokenów tylko do wcześniej zdefiniowanych. Tak działa np. aplikacja Ledger Live, funkcję ukrywania tokenów ma także Metamask.
Jeśli nie widzimy na naszym adresie spodziewanych tokenów – bez paniki, sprawdźmy adres portfela np. przy użyciu Etherscan, a prawdopodobnie zobaczymy nasze tokeny. Nie zaleca się natomiast wysyłania tokenów na adres platformy CeFi, zanim upewnimy się, że obsługuje ona konkretne rozwiązania.
Ważną kwestią na którą trzeba zwrócić uwagę, są opłaty za gaz w sieci ETH, uiszczane za włączenie transakcji do łańcucha bloków. Duża aktywność sieci, spowodowana np. hossą na rynku, może spowodować drastyczny wzrost opłat. Ich bieżącą wysokość warto sprawdzić np. na stronie etherscan.io/gastracker.
Tokeny ERC-20 obsługuje przeważająca większość portfeli krypto, łącznie z najbardziej znanymi rozwiązaniami, jak Ledger, Trezor, Trust Wallet, Coinbase Wallet czy Metamask.
Jeśli chciałbyś utworzyć własny token ERC-20, to przy użyciu gotowych narzędzi nie jest to takie trudne. Swój przepis publikuje m.in. Alchemy.
Zalety tokenów ERC-20
- Dominacja rynkowa – ERC-20 to rynkowy standard, obsłuży go prawie każdy portfel czy giełda.
- Elastyczność – tokeny można dostosować do swoich potrzeb, definiując ich ilość, podzielność czy nazwę.
- Uniwersalność – standaryzacja pozwala na łatwe wykonywanie transakcji.
- Płynność – tokeny mogą być obsługiwane przez zdecydowaną większość giełd i DEXów.
- Łatwość tworzenia – przy użyciu gotowych rozwiązań, proces jego kreacji jest szybki.
Wady tokenów ERC-20
- Wysokie opłaty za gaz – przy dużym obciążeniu sieci 50$ za transakcję nie powinno dziwić.
- Powolne transakcje – szybkość zależy od ilości wymaganych potwierdzeń, najczęściej od 5-10 minut do godziny.
- Błędy smartkontraktów – niechlujnie napisany kod tokena lub interfejsu może skutkować utratą przesyłanych środków.
Ideą blockchaina jest założenie, że transakcje nieodwracalne. Jeśli popełnisz błąd, najczęściej nie ma możliwości zwrotu środków.
Inne tokeny Ethereum
Choć standard ERC-20 jest powszechnie uznany, wielokrotnie próbowano go ulepszyć. ERC-223, 621, 777 czy 1363 poprawiały niektóre słabości, jednak żadna z tych propozycji nie zdołała go zastąpić.
Dobrze znane i popularne są za to rozwiązania, służące obsłudze NFT, występujące w dwóch podstawowych formatach:
- ERC-721 – klasyczny format tokena, reprezentujący niewymienne dobra. Znany i sprawdzony, jednak pozwalający na obsługę tylko jednego zasobu, jego wadą jest więc niewielka wydajność.
- ERC-1155 – nowocześniejszy standard, rozwiązujący powyższy problem. Umożliwia on zbiorcze przesyłanie danych wielu zasobów. Obsługuje na zarówno tokeny niewymienne, jak i zamienne.
Listę najpopularniejszych standardów ERC można znaleźć w ciekawym artykule na stronie 101 blockchains.
Konkurencja
Ethereum nie jest oczywiście jedyną platformą inteligentnych kontraktów. Czy jakiekolwiek inne projekty mogą zagrozić jego pozycji jako domyślnemu rozwiązaniu dla emisji własnych tokenów?
- BNB Chain i tokeny BEP-20. Oparte na bardzo podobnych założeniach, biją jednak Ethereum przepustowością i niższymi opłatami za gaz. Niestety, łańcuch pozostaje mocno scentralizowany i zależny od jednej instytucji – Binance.
- Algorand i tokeny ASA. Ich obsługa jest wbudowana bezpośrednio w blockchain, co oznacza, że są bezpieczne, interoperacyjne i tanie. Mogą też obsługiwać zarówno formaty zamienne jak i niezamienne. Mają mnóstwo plusów… ale wciąż nie zdobyły popularności.
- Tron i tokeny TRC-20. Przyjazny użytkownikom i wydajny, nie zdobył jednak większej popularności i traktowany jest jako mniej udany klon Ethereum. Trzeba jednak przyznać, że przesyłanie USDT w formacie TRC-20 jest znacznie szybsze i tańsze, niż w sieci Ethereum.
A więc – czym jest standard ERC-20? Rozwiązaniem, które jest już jest nieco przestarzałe, mało wygodne i drogie w obsłudze, ale wciąż popularne i mające ogromny udział w rynku. Inne platformy na razie nie mają szans, by je zastąpić, chyba, że zajdzie rewolucja technologiczna lub system ERC-20 zawali się pod ciężarem własnej popularności.
Najczęściej zadawane pytania (FAQ)
Co to jest ERC-20?
Jest to standard, opisujący podstawowe cechy tokena opartego o sieć Ethereum. Dzięki zgodności z tym standardem tokeny są kompatybilne z każdą platformą obsługującą ERC-20.
Czy można kopać tokeny ERC-20?
Nie można kopać tokenów ERC-20 w normalnym znaczeniu, tj. pozyskiwać ich dzięki rozwiązywaniu problemów matematycznych. Niektóre z nich możemy jednak tworzyć w inny sposób, np. DAI pozyskamy, deponując nasze zabezpieczenie w smartkontrakcie.
Czy BTC to ERC-20?
Nie. Standard ERC-20 jest charakterystyczny dla sieci Ethereum. BTC to moneta sieci Bitcoin, niekompatybilna z Ethereum. Jedyny sposób użycia BTC na tej sieci, to zastosowanie WBTC (wrapped BTC).
Inwestowanie jest ryzykowne. Inwestuj odpowiedzialnie.