Ievads
Ethereum tīklu 2014. gadā izveidoja Vitālijs Buterins, pozicionējot to kā atvērtā pirmkoda platformu decentralizēto lietotņu (DApp) ieviešanai. Buterina vēlmi izveidot jaunu blokķēdi lielā mērā veicināja Bitcoin protokola nepietiekamā elastība.
Kopš Ethereum blokķēdes palaišanas tā ir spējusi piesaistīt dažādus izstrādātājus, uzņēmumus un uzņēmējus, tādējādi radot augošu nozari ar lietotājiem, kuri tajā izvieto jaunus viedos līgumus un decentralizētas lietotnes.
Šajā rakstā pievērsīsimies ERC-20 standartam, kas ir nozīmīga sistēma tokenu izveidē. Lai gan šī sistēma attiecas tikai uz Ethereum tīklu, tā ir kalpojusi par pamatu arī citu blokķēžu standartiem, piemēram, Binance Chain BEP-2.
Kas ir ERC-20 standarts?
ERC-20, kuru 2015. gadā radīja Vitālijs Buterins un Fabians Fogelštellers, piedāvā samērā vienkāršu formātu uz Ethereum balstītiem tokeniem. Sekojot šīm vadlīnijām, izstrādātājiem nav jāizgudro ritenis no jauna. Tā vietā viņi var likt lietā nozarē jau plaši izmantotu pamatu.
Kad tiek izveidoti jauni ERC-20 tokeni, tie automātiski spēj mijiedarboties ar pakalpojumiem un programmatūru, kas atbalsta ERC-20 standartu (programmatūras makiem, aparatūras makiem, biržām utt.).
Jāpiebilst, ka ERC-20 standarts tika pārveidots par EIP (konkrētāk, EIP-20). Tas notika dažus gadus pēc sākotnējā priekšlikuma plašās izmantošanas dēļ. Tomēr pat vairākus gadus vēlāk joprojām tiek izmantots nosaukums "ERC-20".
Neliels kopsavilkums par Ethereum tokeniem
Atšķirībā no Ethereum pamata kriptovalūtas ETH ERC-20 tokeni netiek glabāti kontos. Tie pastāv tikai līgumā, kas darbojas kā autonoma datubāze. Šī datubāze definē uz tokeniem attiecināmos noteikumus (piem., nosaukumu, apzīmējumu, dalāmību) un glabā sarakstu ar lietotāju Ethereum adrešu atlikumiem.
Lai pārvietotu tokenus, lietotājiem ir jānosūta līgumam darījums ar prasību pārvietot daļu no viņu adreses atlikuma uz kādu citu adresi. Piemēram, ja Alise vēlas nosūtīt 5000 BinanceAcademyToken tokenus Kārlim, viņa izsauc funkciju BinanceAcademyToken viedajā līgumā, prasot izpildīt šo darbību.

Viņas izsaukums ietilpst šķietami parastā Ethereum darījumā, ar kuru 0 ETH tiek iemaksāti attiecīgajā tokenu līgumā. Šis izsaukums tiek iekļauts darījuma papildu laukā, kurā norādīts, ko Alise vēlas darīt, – šajā gadījumā viņa vēlas pārskaitīt tokenus Kārlim.
Lai arī viņa nesūta Ether, viņai joprojām ir jāmaksā komisijas maksa, lai viņas darījums tiktu iekļauts blokā. Ja viņai nav ETH, tie ir jāiegādājas pirms tokenu pārskaitījuma veikšanas.
Lūk, reāls piemērs minētajam procesam, izmantojot Etherscan: kāds veic izsaukumu uz BUSD līgumu. Var redzēt, ka tokeni ir pārskaitīti un ir samaksāta komisijas maksa, lai arī vērtības laukā ir redzams, ka nosūtīti tika 0 ETH.
Tagad, kad esam apguvuši pamatus, paraudzīsimies detalizētāk, lai labāk izprastu tipiska ERC-20 līguma uzbūvi.
Kā tiek radīti ERC-20 tokeni?

Tālāk ir norādītas funkcijas, kādas tās ir redzamas īpašiem mērķiem paredzētajā Ethereum Solidity valodā.
totalSupply
function totalSupply() public view returns (uint256)
balanceOf
function balanceOf(address _owner) public view returns (uint256 balance)
transfer
function transfer(address _to, uint256 _value) public returns (bool success)
transferFrom
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)
Citiem vārdiem sakot, tu vari pilnvarot kādu (vai citu līgumu) pārskaitīt līdzekļus tavā vārdā. Šo funkciju var izmantot, piemēram, lai samaksātu par abonētajiem pakalpojumiem, ja tu nevēlies manuāli veikt maksājumu katru dienu/nedēļu/mēnesi. Tā vietā tu vienkārši ļauj programmai izpildīt šo darbību.
approve
function approve(address _spender, uint256 _value) public returns (bool success)
Atgriezīsimies pie apskatītā piemēra par abonementa modeli. Pieņemsim, ka tev ir milzīgs daudzums BinanceAcademyToken tokenu un tu vēlies iestatīt regulārus iknedēļas maksājumus decentralizētai straumēšanas lietotnei. Tu dienām un naktīm lasi Binance Akadēmijā pieejamo saturu, tāpēc nevēlies katru nedēļu tērēt laiku darījumu manuālai izpildei.
Sliktākajā gadījumā, ja decentralizētā lietotne censtos iztērēt visus tavus līdzekļus vai tiktu konstatēta sistēmas kļūda, tu varētu zaudēt tikai divdesmit tokenus. Tas varbūt nav ideāls risinājums, taču noteikti labāks par visu tavu līdzekļu zaudēšanu.
allowance
function allowance(address _owner, address _spender) public view returns (uint256 remaining)
Izvēles funkcijas
Kādas ir ERC-20 tokenu funkcijas?

Interese par ERC-20 tokeniem lielā mērā ir saistīta ar to elastību. Izklāstītās metodes neierobežo izstrādes procesu, tāpēc puses var ieviest papildu funkcijas un definēt specifiskus parametrus atbilstoši savām vajadzībām.
Stabilās kriptovalūtas
Tipiskām stabilajām kriptovalūtām ar bezseguma valūtu nodrošinājumu emitents glabā eiro, dolāru vai citas valūtas rezerves. Par katru rezervē glabāto valūtas vienību tas izdod vienu tokenu. Tātad, ja glabātuvē atrodas 10 000 $, emitents var izdot 10 000 tokenus, katru no kuriem varētu izpirkt par 1 $.
Tehniski to var pavisam vienkārši ieviest Ethereum tīklā. Emitents vienkārši izdod līgumu ar 10 000 tokeniem. Pēc tam šie tokeni tiek sadalīti lietotājiem, apsolot, ka vēlāk viņi varēs izpirkt savus tokenus pret atbilstošu summu bezseguma valūtā.
Lietotāji var dažādos veidos izmantot savus tokenus – iegādāties preces un pakalpojumus vai izmantot tos decentralizētajās lietotnēs. Pastāv arī iespēja uzreiz pieprasīt emitentam apmainīt tokenus pret naudu. Šajā gadījumā emitents sadedzinātu atgrieztos tokenus (padarot tos neizmantojamus) un izņemtu no savām rezervēm atbilstošu daudzumu bezseguma valūtas.
Kā minējām, sistēmas pārvaldības līgums ir samērā vienkāršots. Tomēr, lai ieviestu stabilo kriptovalūtu, ir jāpaveic daudz darba saistībā ar ārējiem faktoriem, piemēram, loģistiku, normatīvo atbilstību u. c.
Vērtspapīru tokeni
Funkcionālie tokeni
Vai ERC-20 tokeniem var veikt ieguvi?
Tokenu sadale ne vienmēr tiek automatizēta. Daudzos pūļa finansēšanas pasākumos lietotājiem ir iespēja maksāt ar dažādām digitālām valūtām (piem., BNB, BTC, ETH un USDT). Pēc tam attiecīgās summas tiek ieskaitītas lietotāju norādītajās adresēs.
ERC-20 tokenu priekšrocības un trūkumi
ERC-20 tokenu priekšrocības
Aizstājamība
Tas ir ideāls risinājums, ja tokenu ir plānots izmantot kā sava veida valūtu. Nebūtu vēlams, lai atsevišķām valūtas vienībām piemistu īpašas iezīmes, kas padarītu tās neaizstājamas. Tā rezultātā daži tokeni kļūtu vērtīgāki vai mazāk vērtīgi par citiem un tiktu apdraudēts to ieviešanas mērķis.
Elastīgums
Kā noskaidrojām iepriekšējā sadaļā, ERC-20 tokeni ir plaši pielāgojami atbilstoši visdažādākajiem mērķiem. Piemēram, tos var izmantot kā spēles valūtu, lojalitātes punktu programmās, kā digitālus kolekcionējamus priekšmetus vai pat kā tēlotājmākslas un īpašumtiesību apliecinājumu.
Popularitāte
ERC-20 tokenu popularitāte kriptovalūtu nozarē ir pārliecinošs iemesls, lai tos izmantotu kā paraugu. Šobrīd pastāv jau daudz dažādu biržu, maku un viedo līgumu, kas nodrošina saderību ar jaunizdotiem tokeniem. Turklāt ir pieejams arī plašs izstrādātāju atbalsts un dokumentācija.
ERC-20 tokenu trūkumi
Mērogojamība
Līdzīgi daudziem kriptovalūtu tīkliem arī Ethereum nav pasargāts no augšanas "sāpēm". Pašreizējā formātā tas nespēj nodrošināt pietiekamu mērogojamību – cenšoties nosūtīt darījumu augstas noslodzes brīžos, nāksies maksāt augstas komisijas maksas un ilgi gaidīt. Ja pēc ERC-20 tokena ieviešanas tīkls kļūst pārslogots, tas var negatīvi ietekmēt tokena lietojamību.
Krāpnieciskas shēmas
Tā pati par sevi nav uzskatāma par problēmu, tomēr tas, cik viegli var laist klajā tokenu, savā ziņā ir trūkums. Vienkārša ERC-20 tokena izveidē jāiegulda minimāla piepūle, tāpēc to var paveikt jebkurš – labos vai ļaunos nolūkos.
Tas nozīmē, ka izvēloties, kur ieguldīt savus līdzekļus, jāievēro piesardzība. Ir daudz dažādu piramīdas un krāpšanas shēmu, kas uzdodas par blokķēdes projektiem. Vienmēr veic patstāvīgu informācijas izpēti, pirms ieguldi līdzekļus, un izdari savus secinājumus par konkrētā risinājuma godprātību.
ERC-20, ERC-1155, ERC-223, ERC-721 – kāda ir atšķirība?
ERC-20 bija pirmais (un līdz šim populārākais) Ethereum tokenu standarts, taču tas noteikti nav vienīgais. Gadu gaitā ir radušies arī citi, kas vai nu piedāvājuši ERC-20 uzlabojumus, vai arī centušies sasniegt atšķirīgus mērķus.
Daži mazāk populāri standarti ir tie, kas tiek izmantoti neaizstājamajiem tokeniem (NFT). Dažkārt konkrētajam lietojumam piemērotāks ir unikāls tokens ar atšķirīgām iezīmēm. Ja vēlies tokenizēt unikālu mākslas darbu, spēles aktīvu vai ko citu, tev varētu noderēt kāds no šiem līgumu veidiem.
ERC-1155 standarts ir uzskatāms par ERC-721 un ERC-20 uzlabojumu. Tas ietver standartu, kas ar vienu līgumu atbalsta gan aizstājamos, gan neaizstājamos tokenus.
Savukārt tādi risinājumi kā ERC-223 vai ERC-621 veicina lietojamību. Pirmais ievieš drošības pasākumus, lai novērstu nejaušus tokenu pārskaitījumus. Otrais pievieno papildu funkcijas, lai palielinātu vai samazinātu tokenu kopējo daudzumu.
Noslēgumā
ERC-20 standarts jau gadiem ilgi ir dominējis kriptoaktīvu telpā, un ir skaidri redzams, kāpēc. Jebkurš samērā viegli var izvietot vienkāršu līgumu atbilstoši visdažādākajiem izmantošanas mērķiem (kā funkcionālos tokenus, stabilās kriptovalūtas u. c.). Tomēr ERC-20 standartam trūkst dažu funkciju, ko spējuši ieviest citi standarti. Laiks rādīs, vai citu veidu līgumi spēs ieņemt šī standarta vietu.