Въведение
Ethereum е основан от Виталик Бутерин през 2014 г., като се позиционира като платформа с отворен код за стартиране на децентрализирани приложения (DApps). Много от мотивите на Бутерин за създаване на нов блокчейн произтичат от липсата на гъвкавост на биткойн протокола.
От стартирането си блокчейнът на Ethereum привлече разработчици, бизнеси и предприемачи, създавайки нарастваща индустрия от потребители, които стартират интелигентни договори и разпределени приложения.
В тази статия ще разгледаме стандарта ERC-20, важна рамка за създаване на токени. Въпреки че е специфична за мрежата на Ethereum, рамката вдъхнови и други стандарти за блокчейн, като BEP-2 на Binance Chain.
Какво представлява стандартът ERC-20?
Създаден от Виталик Бутерин и Фабиан Фогелстелер през 2015 г., ERC-20 предлага сравнително прост формат за базирани на Ethereum токени. Следвайки схемата, разработчиците не трябва да преоткриват колелото. Вместо това те могат да изградят основа, която вече се използва в индустрията.
След като бъдат създадени нови токени ERC-20, те автоматично са съвместими с услуги и софтуер, поддържащи стандарта ERC-20 (софтуерни портфейли, хардуерни портфейли, борси и др.).
Трябва да се отбележи, че стандартът ERC-20 е разработен в EIP (по-специално EIP-20). Това се случи няколко години след първоначалното предложение поради широкото му използване. Въпреки това, дори години по-късно, името „ERC-20“ се задържа.
Бързо обобщение на токените на Ethereum
За разлика от ETH (нативната криптовалута на Ethereum), токените ERC-20 не се държат от акаунти. Токените съществуват само в договор, който е като самостоятелна база данни. Той определя правилата за токените (т.е. име, символ, делимост) и поддържа списък, който съпоставя балансите на потребителите с техните Ethereum адреси.
За да преместят токени, потребителите трябва да изпратят трансакция към договора с молба за разпределение на част от техния баланс на друго място. Например, ако Алис иска да изпрати на Боб 5000 BinanceAcademyToken, тя извиква функция в интелигентния договор BinanceAcademyToken, като я моли да направи това.
Нейното обаждане се съдържа в нещо, което изглежда е обикновена трансакция в Ethereum, която плаща 0 ETH към договора за токен. Обаждането е включено в допълнително поле в трансакцията, което посочва какво иска да направи Алис – в нашия случай да прехвърли токени на Боб.
Въпреки че не изпраща Ether, тя все пак трябва да плати такса, деноминирана в него, за да включи трансакцията си в блок. Ако тя няма ETH, трябва да вземе определено количество, преди да прехвърли токените.
Ето пример от реалния свят за горното в Etherscan: някой е пуснал заявка към BUSD договора. Можете да видите, че токените са прехвърлени и е платена такса, въпреки че полето Стойност показва, че са изпратени 0 ETH.
Сега, когато знаем детайлите, нека да надникнем под булото, за да разберем по-добре структурата на типичен ERC-20 договор.
Как се създават токените ERC-20?
По-долу са функциите, както се появяват в специално изградения език Solidity за целите на Ethereum.
общо предлагане
function totalSupply() public view returns (uint256)
баланс на
function balanceOf(address _owner) public view returns (uint256 balance)
прехвърляне
function transfer(address _to, uint256 _value) public returns (bool success)
прехвърляне от
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)
С други думи, можете да упълномощите някого – или друг договор – да превежда средства от ваше име. Възможен случай на използване включва плащане за абонаментни услуги, при които не искате да изпращате ръчно плащане всеки ден/седмица/месец. Вместо това просто позволявате на програма да го прави вместо вас.
одобряване
function approve(address _spender, uint256 _value) public returns (bool success)
Вземете отново нашия пример за модел на абонамент. Да предположим, че имате огромно количество BinanceAcademyTokens и искате да настроите ежеседмични повтарящи се плащания към стрийминг DApp. Вие сте заети да четете съдържанието на Binance Academy ден и нощ, така че не искате да отделяте време всяка седмица, за да създавате ръчно трансакция.
В най-лошия случай, ако DApp се опита да изтегли всичките ви средства или ако бъде открита грешка, можете да загубите само двадесет токена. Може и да не е идеално, но със сигурност е по-привлекателно, отколкото да загубите всичките си притежания.
разрешение
function allowance(address _owner, address _spender) public view returns (uint256 remaining)
Избираеми функции
Какво могат да правят токените ERC-20?
Голяма част от привлекателността на токените ERC-20 е тяхната гъвкавост. Изложените конвенции не ограничават развитието, така че страните могат да прилагат допълнителни функции и да задават специфични параметри, за да отговарят на своите нужди.
Стейбълкойни
За типичен стейбълкойн, обезпечен с фиатни средства, издателят държи резерви от евро, долари и т.н. След това за всяка единица в техния резерв те издават токен. Това означава, че ако 10 000 долара са заключени в трезор, издателят може да създаде 10 000 токена, всеки от които може да бъде осребрен за $1.
Това технически погледнато е доста лесно за изпълнение в Ethereum. Един издател просто стартира договор с 10 000 токена. След това той ще ги разпредели на потребителите с обещанието, че по-късно могат да осребрят токените за пропорционално количество фиатна валута.
Потребителите могат да правят редица неща със своите токени – могат да купуват стоки и услуги или да ги използват в DApps. Също така могат да поискат издателят да ги обмени веднага. В този случай издателят изгаря върнатите токени (прави ги неизползваеми) и изтегля правилното количество фиатни средства от своите резерви.
Договорът, който управлява тази система, както беше споменато по-горе, е относително опростен. Въпреки това, стартирането на стейбълкойн изисква много работа по външни фактори като логистика, спазване на нормативните изисквания и т.н.
Токени за сигурност
Помощни токени
Можете ли да копаете токени ERC-20?
Не е необходимо разпределението на токени да бъде автоматизирано. Много събития за групово финансиране позволяват на потребителите да плащат с редица различни цифрови валути (като BNB, BTC, ETH и USDT). След това съответните салда се разпределят на адресите, предоставени от потребителите.
Плюсове и минуси на токените ERC-20
Плюсове на токените ERC-20
Заменими
Това е идеално, ако вашият токен има за цел да бъде някаква валута. Не бихте искали отделни единици с отличителни черти, което би ги направило незаменими. Това може да накара някои токени да станат повече – или по-малко –ценни от други, подкопавайки предназначението им.
Гъвкави
Както разгледахме в предишния раздел, токените ERC-20 са много адаптивни и могат да бъдат пригодени за много различни приложения. Например, те могат да се използват като валута в играта, в програми за точки за лоялност, като цифрови колекционерски предмети или дори да представляват изобразително изкуство и права на собственост.
Популярни
Популярността на ERC-20 в крипто индустрията е изключително убедителна причина да го използвате като проект. Има множество борси, портфейли и интелигентни договори, които вече са съвместими с наскоро пуснати токени. Нещо повече, има изобилие от поддръжка и документация за разработчици.
Недостатъците на токените ERC-20
Мащабируемост
Както при много мрежи за криптовалути, Ethereum не е имунизиран срещу нарастващите болки. В сегашния си вид той не се мащабира добре – опитът за изпращане на трансакция в пиковите часове води до високи такси и забавяния. Ако стартирате токен ERC-20 и мрежата се претовари, използваемостта му може да бъде засегната.
Измами
Въпреки че не е проблем със самата технология, лекотата, с която може да бъде стартиран токен, е възможно да се счита за недостатък в някои отношения. Необходими са минимални усилия, за да се създаде прост токен ERC-20, което означава, че всеки може да го направи – за добро или за лошо.
При това положение трябва да внимавате с това, в което инвестирате. Има редица пирамиди и схеми на Понци, маскирани като блокчейн проекти. Направете свое собствено проучване, преди да инвестирате, за да си направите собствени заключения относно легитимността на дадена възможност.
ERC-20, ERC-1155, ERC-223, ERC-721 – каква е разликата?
ERC-20 беше първият (и към днешна дата най-популярният) стандарт за токени на Ethereum, но в никакъв случай не е единственият. През годините се появиха много други, които или предлагат подобрения на ERC-20, или се опитват да постигнат изцяло различни цели.
Някои от по-рядко срещаните стандарти са тези, използвани в незаменими токени (NFT). Понякога вашият случай на използване всъщност се възползва от наличието на уникални токени с различни атрибути. Ако искате да токенизирате единствено по рода си произведение на изкуството, актив в играта и т.н., един от тези видове договори може да е по-привлекателен.
Стандартът ERC-1155 може да се разглежда като подобрение както на ERC-721, така и на ERC-20. Той очертава стандарт, който поддържа както заменими, така и незаменими токени в един и същи договор.
Други опции като ERC-223 или ERC-621 имат за цел да подобрят използваемостта. Първият прилага предпазни мерки за предотвратяване на случайни прехвърляния на токени. Последният добавя допълнителни функции за увеличаване и намаляване на предлагането на токени.
Заключителни мисли
Стандартът ERC-20 доминира в пространството на крипто активите от години и не е трудно да се разбере защо. С относителна лекота всеки може да внедри прост договор, който да отговаря на широк спектър от случаи на използване (помощни токени, стейбълкойни и т.н.). Въпреки това на ERC-20 липсват някои от функциите, създадени от други стандарти. Остава да видим дали следващи видове договори ще заемат неговото място.