ERC-20: a helyettesíthető tokenek
A szabvány, amelytől minden token egyformán kezelhető – és amiért a név semmit, a szerződés címe mindent jelent.
Ha minden token szerződése más szabályok szerint működne, minden tárcának, tőzsdének és szolgáltatásnak minden egyes tokenhez külön programot kellene írnia. Ezért az Ethereum közössége 2015-ben megalkotott egy közös szabványt, amely meghatározza, milyen alapfunkciókkal kell rendelkeznie egy token szerződésének. Ez az ERC-20 szabvány (Ethereum Request for Comments, 20-as számú javaslat).
Mit ír elő a szabvány?
Az ERC-20 egy egyszerű szabvány, mindössze néhány kötelező funkciót ír elő. Ezeket a blokkböngészőkben is látni fogjuk, ezért érdemes ismerni a nevüket:
| Funkció | Mit csinál |
|---|---|
name, symbol, decimals |
a token neve, rövidítése és tizedesjegyeinek száma |
totalSupply |
mennyi token létezik összesen |
balanceOf |
egy adott cím egyenlege |
transfer |
token küldése a saját címről egy másik címre |
approve |
engedély adása egy másik címnek (vagy szerződésnek), hogy a nevünkben költsön |
allowance |
mekkora az ilyen engedély |
transferFrom |
költés egy kapott engedély alapján |
Aki egy ilyen szabvány szerinti tokent hoz létre, az automatikusan kompatibilis lesz minden elterjedt tárcával, tőzsdével és szolgáltatással. A szabványon felül azonban a szerződés készítője bármilyen további funkciót beleírhat – erre később több példát is látunk (befagyasztás, kibocsátás, rejtett csapdák).
Helyettesíthetőség
Az ERC-20 tokenek legfontosabb jellemzője a helyettesíthetőség (fungibility): egy token pontosan ugyanolyan és ugyanannyit ér, mint bármelyik másik, amelyet ugyanaz a szerződés bocsátott ki – ahogy egy bankjegy is helyettesíthető egy másik, ugyanolyan címletű bankjeggyel. A tokeneknek nincs egyedi azonosítójuk, csak egyenleg van. Ez különbözteti meg őket a nem helyettesíthető tokenektől (NFT-ktől), amelyekről külön kártya szól.
A név semmit sem jelent
Egy nagyon fontos és meglepő tulajdonság: a token neve, szimbóluma és logója nem egyedi. Bárki létrehozhat egy tokent, amelynek a neve és szimbóluma pontosan megegyezik egy ismert tokenével – a kódot le is másolhatja, hiszen minden szerződés nyilvános. Egyetlen dolgot nem lehet lemásolni: a szerződés címét, mert minden új szerződés új címet kap.
Ezt a csalók ki is használják: hamis tokent küldenek vagy adnak el az ismert token nevével, és az áldozat csak akkor szembesül a csalással, amikor értékesíteni próbálja. A valódi szerződés címét a projekt hivatalos oldala, a nagy blokkböngészők ellenőrzött listái, illetve a tranzakciós adatok (az eredeti szerződésnek nagyságrendekkel több tranzakciója és régebbi története van) alapján lehet megállapítani.
Megjegyzés: egy token egyenlegét könnyebb figyelmen kívül hagyni, mint az ether-egyenleget – a tárcák egy része csak a kézzel hozzáadott tokeneket mutatja, és a blokkböngészők is külön listában jelenítik meg őket. Egy cím vizsgálatánál vagy egy vagyon felkutatásánál ezért mindig végig kell nézni a teljes tokenlistát. A tokenek nagy része értéktelen „szemét” (sokszor kéretlenül, reklámcélból küldik), de lehetnek köztük jelentős értékűek is.
Extra tudásTizedesjegyek: mennyi az „1 token”?
A tokenek szerződései egész számokkal dolgoznak, a decimals mező mondja meg, hány tizedesjegyre kell elosztani a nyers értéket. Az ether és a legtöbb token 18 tizedesjegyet használ, de a legnagyobb stablecoinok (USDT, USDC) csak 6-ot. Ha valaki közvetlenül a szerződésből olvas ki egy egyenleget, és nem veszi figyelembe a tizedesjegyeket, nagyságrendekkel tévedhet. A blokkböngészők ezt automatikusan átszámolják.
Ellenőrizd a tudásod
A kvíz betöltése…