Obsah

  • Úvod

  • Co je standard ERC-20?

  • Stručný přehled tokenů Ethereum

  • Jak se vytvářejí tokeny ERC-20?

  • Jaké jsou funkce tokenů ERC-20?

    • Stablecoiny

    • Bezpečnostní tokeny

    • Užitkové tokeny

  • Je možné těžit tokeny ERC-20?

  • Výhody a nevýhody ERC-20 tokenů

    • Výhody tokenů ERC-20

    • Nevýhody ERC-20 tokenů

  • ERC-20, ERC-1155, ERC-223, ERC-721 - jaký je rozdíl?

  • souhrn


Úvod

Ethereum bylo založeno v roce 2014 Vitalikem Buterinem a mělo být open-source platformou pro provozování decentralizovaných aplikací (DApps). Buterin při vytváření nového blockchainu zohlednil problém nedostatečné flexibility bitcoinového protokolu.

Od svého spuštění přilákal blockchain Ethereum mnoho vývojářů, společností a podnikatelů a zahájil rostoucí odvětví uživatelů provozujících chytré smlouvy a distribuované aplikace.

V tomto článku se podíváme na standard ERC-20 – základ pro vytváření tokenů. Standard byl vyvinut speciálně pro síť Ethereum, ale podařilo se mu inspirovat další blockchainové standardy, například BEP-2 Binance Chain.


Co je standard ERC-20?

ERC in Ethereum je žádost o návrhy na zlepšení sítě (anglicky: Ethereum Request for Comments). ERC jsou technické dokumenty, které nastiňují programové standardy na Ethereu. Ty by se neměly zaměňovat s návrhy na vylepšení Etherea (EIP), které, stejně jako bitcoinové BIP, navrhují vylepšení samotného protokolu. Účelem ERC je vytvořit dohody, které usnadní vzájemnou interakci aplikací a smluv.

ERC-20 vytvořili v roce 2015 Vitalik Buterin a Fabian Vogelsteller s cílem nabídnout relativně jednoduchý formát pro vytváření tokenů na Ethereu. Tím, že se vývojáři spoléhají na existující standard, šetří čas a námahu. S ERC-20 mohou vytvářet nové tokeny bez obav o kompatibilitu a bezpečnost.

Nové tokeny ERC-20 budou kompatibilní se všemi službami a softwarem, které tento standard podporují (softwarové peněženky, hardwarové peněženky, burzy atd.).

Je třeba poznamenat, že EIP (jmenovitě EIP-20) byl vyvinut na základě standardu ERC-20. Stalo se tak několik let po uvedení na trh kvůli širokému používání standardu. Ale i po letech je název „ERC-20“ stále aktuální.


Stručný přehled tokenů Ethereum

Na rozdíl od ETH (nativní kryptoměna Ethereum) se tokeny ERC-20 neukládají na účtech. Existují pouze v rámci smlouvy, která je jakousi autonomní databází. Smlouva definuje podmínky pro tokeny (např. jméno, symbol, dělitelnost). Obsahuje také seznam, který porovnává zůstatky uživatelů s jejich adresami Ethereum.

Aby uživatelé mohli přesunout tokeny, musí do smlouvy odeslat transakci požadující přesunutí části jejich zůstatku na jiné místo. Například, pokud Alice chce poslat Bobovi 5 000 tokenů BinanceAcademy, spustí funkci uvnitř chytré smlouvy, která ho požádá, aby tak učinil.


Пользователи, взаимодействующие со смарт-контрактом


Její požadavek je vložen do zdánlivě normální transakce Ethereum, která účtuje 0 ETH na smart kontrakt. Požadavek je přidán do dalšího pole v transakci, které specifikuje, co přesně chce Alice udělat – v našem případě převést tokeny na Boba.

I když neposílá Ether, stále musí zaplatit poplatek vyjádřený v Etheru, aby byla její transakce přidána do bloku. Pokud ETH nemá, bude si ho muset před provedením transakce zakoupit.

Zde je skutečný příklad takového procesu na Etherscan: někdo zadá požadavek na smlouvu v BUSD. Vidíme, že tokeny byly převedeny a poplatek zaplacen, přestože jeho výše je 0 ETH.

Nyní se můžeme ponořit hlouběji do struktury smlouvy ERC-20.


Jak se vytvářejí tokeny ERC-20?


Иллюстрация создания токена ERC-20


Aby byla vaše smlouva kompatibilní s ERC-20, musí obsahovat šest požadovaných funkcí: totalSupply, balanceOf, transfer, transferFrom, schvalování a příspěvek. Navíc můžete přidat další funkce, jako je název, symbol a desetinné číslo. Z názvů funkcí můžete pochopit jejich účel. Dále se na každou z nich podíváme podrobněji.

Níže jsou uvedeny funkce tak, jak jsou napsány v jazyce Solidity vytvořeném pro Ethereum.


totalSupply

funkce totalSupply() public view vrací (uint256)

Na výzvu uživatele výše uvedená funkce zobrazí celkový počet tokenů ve smlouvě.


zůstatek

funkce balanceOf(adresa _owner) veřejné zobrazení vrací (uint256 balance)

Na rozdíl od totalSupply funkce balanceOf používá parametr (adresu). Na vyžádání zobrazuje zůstatek adresních tokenů. Pamatujte, že účty Ethereum jsou veřejné, takže se můžete dotázat na zůstatek libovolného uživatele, pokud znáte jeho adresu.


překlad

funkce transfer(adresa _to, uint256 _value) veřejné návraty (boolův úspěch)

Funkce přenosu přenáší tokeny od jednoho uživatele k druhému. Chcete-li jej použít, musíte zadat adresu příjemce a částku převodu.

Funkce přenosu spustí událost (v našem případě přenos události), která říká blockchainu, aby na ni zahrnul odkaz.


přenéstZ

function transferFrom(adresa _from, adresa _to, uint256 _value) veřejné návraty (boolův úspěch)

Funkce transferFrom je pohodlnější alternativou k funkci přenosu, která poskytuje větší programovatelnost v decentralizovaných aplikacích. Stejně jako převod se používá k přesunu tokenů, ale nemusí nutně patřit osobě, která přistupuje ke smlouvě.

Jinými slovy, můžete zmocnit jinou osobu nebo jinou smlouvu k převodu prostředků vaším jménem. Další případ použití zahrnuje automatické platby za služby založené na předplatném v případě, že nechcete ručně posílat platby každý den/týden/měsíc. Program to udělá za vás.

Tato funkce vyvolá stejnou událost jako přenos.


Schválit

funkce schvalovat (adresa _spender, uint256 _value) veřejné návraty (boolův úspěch)

Schválit je další užitečná funkce z hlediska programovatelnosti. S jeho pomocí můžete omezit počet tokenů, které může chytrá smlouva stáhnout z vašeho zůstatku. V jeho nepřítomnosti existuje riziko zneužití smlouvy: někdo by ji mohl zneužít pro vlastní účely nebo ukrást všechny vaše finanční prostředky.

Podívejme se na příklad s modelem předplatného. Řekněme, že máte hodně BinanceAcademyTokenů a chcete nastavit týdenní platby za streamovací službu DApp. Obsah Binance Academy již studujete dnem i nocí a nechcete každý týden trávit čas ručním vytvářením transakce.

Řekněme, že máte velkou zásobu BinanceAcademyTokenů, která daleko převyšuje váš poplatek za předplatné. Chcete-li zabránit vyprázdnění služby DApp, můžete nastavit limit pomocí funkce schválení. Například vaše předplatné stojí jeden BinanceAcademyToken týdně. Pokud omezíte maximální částku na dvacet tokenů, pak lze předplatné platit automaticky po dobu pěti měsíců.

V nejhorším případě, pokud se DApp pokusí vybrat všechny vaše prostředky nebo dojde k neočekávané chybě, ztratíte pouze dvacet tokenů. Tato možnost neodstraní možné problémy, ale ochrání vás před ztrátou veškerého majetku.

Při volání funkce schválení se spustí událost schválení. Stejně jako přenosová událost zapisuje data do blockchainu.


příspěvek

funkce povolena (adresa _vlastník, adresa _utrácitel) návraty veřejného pohledu (zbývá uint256)

Funkci povolenky lze použít ve spojení s funkcí schvalování. Jakmile udělíte smlouvě oprávnění ke správě jejích tokenů, můžete pomocí této funkce zkontrolovat, kolik tokenů může ještě odepsat. Pokud například vaše předplatné použilo dvanáct z dvaceti povolených tokenů, pak by se při volání funkce povolení mělo zobrazit číslo osm.


Další funkce

Funkce, o kterých jsme hovořili výše, jsou povinné. Funkce názvu, symbolu a desítkové soustavy jsou volitelné, ale mohou zlepšit vaši smlouvu ERC-20. Dají vám možnost přidat jasný název, nastavit symbol (např. ETH, BTC, BNB) a určit, na kolik desetinných míst lze tokeny rozdělit. Například tokeny, které se používají jako měna, mohou těžit více z větší dělitelnosti než tokeny, které představují vlastnictví.


Tyto prvky můžete vidět ve skutečné smlouvě v tomto příkladu na GitHubu.


Jaké jsou funkce tokenů ERC-20?


Иллюстрация различных вариантов использования токенов ERC-20


Pokud zkombinujeme všechny výše uvedené vlastnosti, získáme kontrakt ERC-20. Lze jej použít k dotazování na celkovou zásobu tokenů, ke kontrole zůstatků, převodu finančních prostředků a udělování oprávnění ke správě tokenů jiným DApps.

Hlavní výhodou tokenů ERC-20 je flexibilita. Pomocí nich můžete také implementovat další funkce a nastavit určité parametry podle vašich potřeb.


Stablecoiny

Stablecoiny (tokeny navázané na fiat měny) často používají standard tokenů ERC-20. Jedním z příkladů je smluvní transakce BUSD, na kterou jsme odkazovali dříve. Většina stablecoinů je k dispozici v tomto formátu.

Emitent nekrytého stablecoinu drží rezervy v eurech, dolarech atd. Poté vytvoří token pro každou jednotku ve své rezervě. To znamená, že pokud by v trezoru bylo 10 000 USD, emitent by mohl vytvořit 10 000 tokenů, každý v hodnotě 1 USD.

To je v Ethereu docela snadné implementovat. Emitent zahajuje kontrakt s 10 000 tokeny. Následně budou distribuovány uživatelům s vyhlídkou na další splacení ve fiat měně.

Uživatelé mohou pomocí tokenů platit za zboží a služby nebo je používat v aplikacích DApp. Uživatelé mají navíc možnost požádat vydavatele o okamžitou výměnu tokenů. V takovém případě emitent spálí vrácené tokeny (stanou se nedostupnými) a stáhne ekvivalentní částku ve fiat ze svých rezerv.

Smlouva upravující tento proces, jak jsme již řekli, je poměrně jednoduchá. Spuštění stablecoinu však zahrnuje mnoho vnějších faktorů, jako je logistika, dodržování právních předpisů a předpisů atd.


Bezpečnostní tokeny

Bezpečnostní tokeny jsou podobné stablecoinům. Na úrovni smlouvy je lze považovat za identické, protože fungují stejným způsobem. Pro emitenta je tu ale podstatný rozdíl. Cenné papíry představují cenné papíry (akcie, dluhopisy nebo fyzický majetek). Často (i když ne vždy) dávají držiteli určitý zájem o obchod nebo produkt.


Užitkové tokeny

Užitkové tokeny jsou zdaleka nejběžnějšími typy tokenů. Na rozdíl od dvou předchozích možností nejsou ničím podporovány. Pokud jsou tokeny kryté aktivy jako akcie leteckých společností, jsou tokeny užitných věcí spíše jako věrnostní program pro věrnostního cestujícího: slouží účelu, ale neposkytují žádnou jinou hodnotu. Užitkové tokeny mohou mít širokou škálu využití. Mohou tedy fungovat jako herní měna, palivo pro decentralizované aplikace, věrnostní body a mnoho dalšího.


➠ Jste připraveni začít s kryptoměnou? Kupte si Ether na Binance!


Je možné těžit tokeny ERC-20?

Uživatelé mohou těžit ether (ETH), ale ne tokeny – tokeny se vytvářejí. Když je smlouva spuštěna, vývojáři distribuují tokeny v souladu se stávajícími plány a plánem.

To se obvykle provádí prostřednictvím počáteční nabídky mincí (ICO), počáteční nabídky výměny (IEO) nebo nabídky bezpečnostního tokenu (STO). Můžete se setkat s různými zkratkami, ale ve své podstatě jsou si všechny dost blízké. Investoři pošlou Ether na smluvní adresu a na oplátku obdrží nové tokeny. Získané prostředky jsou použity na financování dalšího rozvoje projektu. Uživatelé očekávají, že budou moci své tokeny použít (okamžitě nebo později) nebo je prodat za účelem zisku, jak se projekt vyvíjí.

Proces distribuce tokenů nevyžaduje automatizaci. Mnoho crowdfundingových akcí umožňuje platit v různých digitálních měnách (jako jsou BNB, BTC, ETH a USDT). Poté se v souladu s zaplacenou částkou doplní zůstatky uživatelů na zadaných adresách.


Výhody a nevýhody ERC-20 tokenů

Výhody tokenů ERC-20

Zaměnitelnost

Fiat měny jsou zastupitelné, protože každá jednotka je k nerozeznání od jiné ekvivalentní jednotky. Pokud máte BinanceAcademyToken, pak nezáleží na tom, který konkrétní token vlastníte. Takové tokeny lze prodat dalším uživatelům a zůstanou funkčně identické, jako peníze nebo zlato.

To je velmi výhodné, pokud chcete použít token jako měnu. V tomto případě nepotřebujete jednotlivé jednotky s charakteristickými rysy, které je činí nezaměnitelnými. Rozdíly mohou způsobit, že některé žetony budou více (nebo méně) hodnotné než jiné, což zase naruší jejich primární funkci.


Plovoucí sazba

Jak jsme zjistili v předchozí části, tokeny ERC-20 jsou vysoce přizpůsobitelné a lze je přizpůsobit pro širokou škálu použití. Lze je tedy použít například jako měnu ve hře, ve věrnostních programech, jako digitální sběratelské předměty nebo dokonce jako výtvarné umění a vlastnická práva.


Oblíbený

Popularita ERC-20 v kryptoměnovém průmyslu vede k použití tohoto protokolu jako základu pro vytváření nových tokenů. To je důvod, proč existuje mnoho burz, peněženek a chytrých kontraktů, které jsou již kompatibilní s nově vydanými tokeny. Navíc mají k dispozici rozsáhlou vývojářskou podporu a veškerou potřebnou dokumentaci.


Nevýhody ERC-20 tokenů

Škálovatelnost

Stejně jako mnoho sítí kryptoměn, ani Ethereum není imunní vůči problémům, které vznikají, když síť roste. Síť má aktuálně problémy se škálovatelností, takže pokus o odeslání transakce v rušných hodinách má za následek vysoké poplatky a zpoždění. Pokud spustíte token ERC-20, když je síť přetížená, může to ovlivnit použitelnost tokenu.

Není to jen Ethereum, kdo čelí tomuto problému. Distribuované systémy musí dělat kompromisy, aby dosáhly bezpečnosti. Komunita plánuje tento problém vyřešit přechodem na Ethereum 2.0, který bude implementovat aktualizace Ethereum Plasma a Ethereum Casper.

Další informace o problémech se škálovatelností najdete v našem článku Škálovatelnost blockchainu – vedlejší řetězce a platební kanály.


Podvod

I když to není problém samotné technologie, za nevýhodu lze považovat snadnost spuštění tokenu. Vytvoření jednoduchého tokenu ERC-20 vyžaduje minimální úsilí, což znamená, že to může udělat každý, a to i pro kriminální účely.

Musíte si proto dávat velký pozor na to, do čeho investujete. Existuje řada Ponziho a pyramidových schémat maskovaných jako blockchainové projekty. Před investicí si vše pečlivě prostudujte, abyste se sami rozhodli, zda je projekt spolehlivý.

ERC-20, ERC-1155, ERC-223, ERC-721 – Jaký je rozdíl?

ERC-20 byl prvním (a stále zůstává nejoblíbenějším) standardem tokenů Ethereum, ale není zdaleka jediný. V průběhu let se objevilo mnoho dalších protokolů, které nabízejí vylepšení ERC-20 nebo se pokoušejí dosáhnout jiných cílů.

Některé z méně běžných standardů se používají k vytváření nezaměnitelných tokenů (NFT). V závislosti na účelu použití můžete potřebovat jedinečné tokeny s různými atributy. Pokud chcete tokenizovat jedinečné umělecké dílo, herní aktivum atd., můžete použít jeden z těchto typů smluv.

Například pro extrémně populární DApp CryptoKitties byl použit standard ERC-721. Taková smlouva poskytuje uživatelům rozhraní API pro vytváření vlastních nezaměnitelných tokenů a kódování metadat (obrázky, popisy atd.).

Standard ERC-1155 lze považovat za vylepšení ERC-721 i ERC-20. Tento standard podporuje zastupitelné i nezastupitelné tokeny v jedné smlouvě.

Další možnosti, jako je ERC-223 nebo ERC-621, mají za cíl zlepšit použitelnost. ERC-223 zavádí opatření, aby se zabránilo náhodnému přenosu tokenů. ERC-621 nabízí další funkce pro zvýšení a snížení zásoby tokenů.

Chcete-li se o NFT dozvědět více, podívejte se na Průvodce kryptografickými sběratelskými předměty a nefunkčními tokeny (NFT).


souhrn

Standard ERC-20 dominuje prostoru kryptoaktiv po mnoho let a není to žádné překvapení. Každý může snadno nasadit jednoduchý kontrakt pro různé účely (utilitní tokeny, stablecoiny atd.). ERC-20 však postrádá některé funkce, které jsou přítomny v jiných standardech. A přitom neexistuje přesná odpověď na otázku, zda ji v budoucnu nahradí jiné typy smluv či nikoliv.