Home » Основи » Існуючі стандарти ERC

Існуючі стандарти ERC

Блокчейн-індустрія розвивається з астрономічною швидкістю, і на шляху цього розвитку неминуче виникають проблеми, які необхідно вирішувати. Введення стандарту ERC-20 стало переломною подією в криптовалютному світі. Простота платформи Ethereum, відкритий код і наявність безлічі сервісів призвели до формування і поширення тисяч нових токенів.

Однією з найбільш серйозних вразливостей виявилося відсутність регулюючого механізму відправки токенів, створених на основі стандарту ERC-20, на інші адреси, які цей стандарт не підтримують. Всі передані таким чином токени згоряють.

Детальніше цей механізм можна описати так: користувачі, які використовують у контракті функцію під назвою transfer при відправці монет ERC-20 контракти, які не очікують надходження та не розпізнають входячі токени, втрачають свої кошти, так як вони просто йдуть в нікуди. Ця функція відрізняється від функції автоматичної передачі transferFrom, введеної раніше, яка не призводить до втрати коштів. Стандарт ERC20 використовує обидві функції — transfer і transferFrom. Підсумком обговорення даної проблеми в мережі розробників GitHub стало створення інших видів стандартів для смарт-контрактів.

ERC20-Token

Стандарт ERC-223

У 2017 році користувач з ніком Dexaran виклав у відкритий доступ GitHub код пропозиції нового стандарту ERC-223, який був покликаний вирішити описану вище проблему невідповідності. Елегантне рішення містило в собі об’єднання двох функцій transfer і transferFrom стандарту ERC-20 в одну функцію під назвою transfer, але тепер з трьома параметрами — address _to, unit _value, bytes data. Ці параметри дозволили виключити можливість неправильного використання функції користувачами.

Іншим важливим удосконаленням стало введення функції tokenFallback, яка готує контракт для прийняття будь-якого відправленого виду монет і запобігає їх відправку, якщо не отримує відповіді від адреси одержувача. На даний момент платформа Ethereum має схожу функцію для всієї мережі — модифікатор контрактів payable, який готує контракти до отримання монет Ether.

На ділі імплементація стандарту ERC-223 йде повільно, і більшість проектів продовжують користуватися стандартом ERC-20. Це викликано популярністю ERC 20 і недостатньою обізнаністю про ERC-223, а також недовірою творців проектів до інших варіантів стандартів. Важливим фактором є й те, що згадані баги досить рідкісні і сама мережа Ethereum тепер є додатковим захисним фактором від такого роду помилок.

merezha-eterium

Тим не менше серед проектів, що використовують стандарт ERC-223, можна відзначити кілька цікавих: AmigoCoin, CargoCoin, Expercoin.

Стандарт ERC-777

Створену в кінці 2017 року нову пропозицію стандарту було покликано вирішити відразу кілька завдань. Завдяки новій функції tokenReceived, яка дозволяла не використовувати повторну функцію схвалення (second verifying transaction), час транзакції скорочувалася в два рази. Також в даному стандарті з’явилася можливість позначати неблагонадійні або несумісні адреси, які можуть бути пов’язані з хакерами або шахраями. Даний стандарт вирішив і проблему несумісності шляхом використання методу зворотної сумісності, що зробило його крос-стандарт сумісним на платформі Ethereum.

Серед мінусів цього досить нового стандарту можна назвати його код, який все ще зазнає змін, а також створення великої кількості взаємозалежних викликів контрактів у разі його використання, що може створити проблеми з безпекою в майбутньому. Одним з проектів, що використовують токен цього стандарту, є ORCA.

Стандарт ERC-721

Цей стандарт з’явився в 2017 році завдяки грі Cryptokitties, де можна обмінюватися і збирати колекції віртуальних кошенят, що володіють унікальними генотипами або 256-бітними беззнаковими кодами. Незвичайним у цій грі стало те, що кожне кошеня було унікальною криптовалютою різної ціни, в залежності від його популярності і рідкості.

angry_cryptokitties

Стандарт ERC-721 став першим прикладом non-fungible tokens (NFT) — унікальних або невзаємозамінних токенів, який був запропонований для електронних предметів колекціонування. Fungibility — це характерна особливість валюти, кожна грошова одиниця якої може бути замінена іншою точно такою же. Наприклад, 5 або 20 доларів гарні точно так само, як і будь-які інші 5 і 20 доларів.

Всі фіатні гроші є взаємозамінними, а також подільними. Друге означає, що валюта має подільність до певної межі. Наприклад, у долара це 1/100, що означає, що кожен долар ділиться на 100, в його випадку центів.

Функції approve і takeOwnership, а також два види подій: Transfer і Approval роблять транзакції більш захищеними від випадкової втрати коштів, як у випадку зі стандартом ERC-20.

Даний вид стандарту зараз зазнає справжній вибух використання, не тільки через популярності криптокотят, але ще й тому, що багато критики побачили важливість створення унікальних токенів не тільки для процесу колекціонування, але й для застосування в реальному житті, наприклад, для нерухомості, реальних цінних предметів або захисту інтелектуальної власності.

Серед інших проектів, створених на основі стандарту ERC-721, варто згадати: CryptoPunks, Decentraland, Rare Pepes, WePower і Cryptocup.

Стандарти ERC-821 і ERC-875

Ставшіпродовженням стандарту ERC-721, стандарти ERC-821 і ERC-875, кожен по-своєму, підійшли до поліпшення смарт-контрактів для невзаємозамінних токенів.

ERC-821 має таку ж, як у ERC-777 функцію transferAndCall, яка дозволяє контрактам реагувати на вхідні токени. Також він запропонував використовувати більш конкретизований неймінг, щоб не викликати плутанини між різними видами предметів колекціонування. Сигнали сумісності з усіма іншими стандартами зараз знаходяться в розробці.

ERC-875 запропонував можливість відправки кількох NFT (non-fungible tokens) в одній транзакції, за допомогою присвоєння кожному з них персонального індексу. Стандарт також передбачає безпечні відправку і обмін токенів, як і у випадку з ERC-721.

Висновок

На даний момент можна виділити два основних типи стандартів. До першого ставляться всі пропозиції, створені для поліпшення ERC-20, а до другого стандарти що займаються уніфікацією NFT або електронних предметів колекціонування.

Кожен стандарт вимагає часу на розробку, а також перевірку, схвалення та імплементацію співтовариством платформи. Ці і багато інших стандартів платформи Ethereum виступають рушіями розвитку всієї криптоекосистеми і покликані зробити взаємодію в мережі легшою, безпечнішою і дешевшою.

Можливо, вже незабаром ми побачимо каталогізацію сумісних і перевірених стандартів ERC, для використання в різних проектах по децентралізації.



Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *