EIP-721
EIP-721 (Ethereum Improvement Proposal 721) — это стандарт технической спецификации для создания невзаимозаменяемых токенов (NFT) в блокчейне Ethereum. Он определяет минимальный набор функций (интерфейс) для смарт-контракта, управляющего уникальными цифровыми активами, каждый из которых имеет свой идентификатор и не может быть обменян на другой токен этого же типа на равной основе. Стандарт был предложен разработчиками Уильямом Энтркеном, Дитером Ширли, Джейкобом Эвансом и Настасьей Сакс и принят в виде финального документа (EIP-721) в январе 2018 года.
История появления
До появления EIP-721 в экосистеме Ethereum существовал стандарт ERC-20, предназначенный для взаимозаменяемых токенов (например, криптовалют). Однако для задач, требующих подтверждения уникальности каждого актива (цифровое искусство, предметы в играх, сертификаты), требовался иной подход. Первые эксперименты с невзаимозаменяемыми токенами проводились на проектах вроде CryptoPunks (2017), где каждый пиксельный персонаж был уникальным, но использовался собственный, нестандартизированный смарт-контракт.
Предложение EIP-721, автором которого выступил Уильям Энтркен (сооснователь проекта CryptoKitties), было призвано унифицировать создание таких активов. Ключевым стимулом стала популярность игры CryptoKitties в конце 2017 года, которая показала спрос на уникальные цифровые предметы, но выявила проблемы совместимости между разными платформами. Принятие стандарта позволило различным приложениям (маркетплейсам, кошелькам, играм) работать с любыми NFT, созданными по этому стандарту, без необходимости интеграции с каждым проектом отдельно.
Технические характеристики
Основные функции
Стандарт EIP-721 описывает обязательный интерфейс смарт-контракта, который должен включать следующие функции:
- balanceOf(address owner) — возвращает количество NFT, принадлежащих указанному адресу.
- ownerOf(uint256 tokenId) — возвращает адрес владельца токена с указанным идентификатором.
- safeTransferFrom(address from, address to, uint256 tokenId) — безопасно передаёт токен от одного владельца другому, проверяя, что получатель (если это контракт) может обрабатывать NFT.
- transferFrom(address from, address to, uint256 tokenId) — передаёт токен (без проверки получателя).
- approve(address to, uint256 tokenId) — разрешает другому адресу распоряжаться конкретным токеном.
- getApproved(uint256 tokenId) — возвращает адрес, которому разрешено распоряжаться токеном.
- setApprovalForAll(address operator, bool approved) — разрешает или запрещает оператору управлять всеми токенами владельца.
- isApprovedForAll(address owner, address operator) — проверяет, является ли оператор уполномоченным управлять всеми токенами владельца.
События (Events)
Контракт должен генерировать два обязательных события:
- Transfer(indexed address from, indexed address to, indexed uint256 tokenId) — фиксирует передачу токена.
- Approval(indexed address owner, indexed address approved, uint256 tokenId) — фиксирует выдачу разрешения на конкретный токен.
Метаданные
Стандарт определяет необязательное расширение для метаданных (ERC721Metadata), которое позволяет привязать к каждому токену URI (Uniform Resource Identifier) — ссылку на JSON-файл с описанием актива. Этот файл обычно содержит поля: name, description, image (ссылка на изображение) и другие атрибуты. Также существует расширение ERC721Enumerable, которое добавляет функции для перечисления всех токенов в контракте и их владельцев, что упрощает работу с большими коллекциями.
Применение
Цифровое искусство и коллекционирование
Наиболее известное применение EIP-721 — создание цифровых произведений искусства и коллекционных предметов. Маркетплейсы, такие как OpenSea, Rarible и Foundation, используют этот стандарт для торговли уникальными изображениями, анимациями и 3D-моделями. Каждый токен представляет собой запись в блокчейне, подтверждающую право собственности на конкретный файл, хранящийся обычно вне сети (в IPFS или централизованном хранилище).
Игровая индустрия
В видеоиграх NFT по стандарту EIP-721 используются для представления внутриигровых предметов: персонажей, оружия, земельных участков, скинов. Примеры включают проекты Axie Infinity (существа), Decentraland (виртуальные участки) и The Sandbox (активы). Владельцы могут свободно обменивать такие предметы между собой или продавать на сторонних площадках.
Сертификация и идентификация
Стандарт применяется для выпуска цифровых сертификатов, дипломов, билетов на мероприятия и удостоверений личности. Каждый такой токен уникален и может быть проверен на подлинность через блокчейн. Например, некоторые университеты начали выпускать дипломы в виде NFT, привязанных к EIP-721.
Финансовые инструменты
В децентрализованных финансах (DeFi) EIP-721 используется для представления долей в недвижимости, произведений искусства или других реальных активов. Такие токены называются фракционализированными NFT (Fractional NFTs), когда один большой актив делится на множество мелких токенов, каждый из которых соответствует стандарту ERC-20, а сам базовый актив остаётся NFT.
Критика и ограничения
Масштабируемость и стоимость
Стандарт EIP-721, как и весь блокчейн Ethereum, страдает от проблем масштабируемости. Каждая операция (чеканка, передача, продажа) требует оплаты комиссии (gas), которая может быть высокой в периоды перегрузки сети. Это делает создание и перемещение NFT дорогим для массового использования.
Экологические аспекты
До перехода Ethereum на алгоритм Proof-of-Stake (сентябрь 2022 года) майнинг блоков требовал значительных энергозатрат. Критики указывали, что каждый NFT, созданный по стандарту EIP-721, косвенно способствовал потреблению электроэнергии. После перехода на PoS энергопотребление сети снизилось примерно на 99,95%, что ослабило экологическую критику.
Проблемы с авторскими правами
Стандарт EIP-721 не регулирует вопросы интеллектуальной собственности. Владелец токена владеет лишь записью в блокчейне, а не авторскими правами на изображение или файл, на который ссылается метаданные. Это приводит к случаям мошенничества, когда злоумышленники чеканят токены на чужие произведения без разрешения автора. Правовой статус NFT остаётся неопределённым во многих юрисдикциях, включая Российскую Федерацию.
Отсутствие стандартизации метаданных
Хотя стандарт определяет URI для метаданных, формат JSON-файла не является строго обязательным. Разные проекты могут использовать разные схемы, что затрудняет автоматическую обработку и отображение NFT в кошельках и маркетплейсах. Кроме того, если URI указывает на централизованный сервер, то при его отключении метаданные становятся недоступными, что снижает ценность токена.
Влияние на индустрию
Принятие EIP-721 стало одним из ключевых факторов роста рынка NFT в 2020–2021 годах. Стандарт обеспечил совместимость между различными платформами и приложениями, что позволило создать экосистему, где пользователи могут свободно перемещать активы между играми, маркетплейсами и кошельками. На основе EIP-721 были разработаны расширенные стандарты, такие как ERC-1155 (позволяющий создавать как взаимозаменяемые, так и невзаимозаменяемые токены в одном контракте) и ERC-998 (композитные токены, которые могут содержать другие токены).
В России рынок NFT регулируется в рамках общего законодательства о цифровых активах. Согласно Федеральному закону от 31 июля 2020 г. № 259-ФЗ «О цифровых финансовых активах», NFT могут быть признаны цифровыми правами, но их статус окончательно не определён. Крупные российские маркетплейсы, такие как «Яндекс» и «Сбер», экспериментировали с выпуском собственных NFT, но массового распространения эта технология в стране не получила.
Источники
- Ethereum Improvement Proposals: EIP-721 (авторы: William Entriken, Dieter Shirley, Jacob Evans, Nastassia Sachs)
- Документация Ethereum по стандартам токенов
- Статья «The Non-Fungible Token (NFT) Standard» на сайте Ethereum.org
- Исследование «NFTs: A New Asset Class» (Deloitte, 2021)
- Федеральный закон № 259-ФЗ «О цифровых финансовых активах, цифровой валюте и о внесении изменений в отдельные законодательные акты Российской Федерации»
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →