Что такое ERC-721: Основа экосистемы NFT

16 окт. 2025 г.
Что такое ERC-721: Основа экосистемы NFT

Ключевые выводы

• ERC-721 — стандарт для уникальных невзаимозаменяемых токенов на Ethereum.

• Стандарт обеспечивает единообразие в кошельках и на маркетплейсах.

• Метаданные могут храниться как on-chain, так и off-chain, с использованием децентрализованных хранилищ.

• Расширения ERC-2981, ERC-4494 и ERC-4907 улучшают функциональность NFT.

• Безопасность и управление одобрениями критически важны для защиты активов.

Невзаимозаменяемые токены (NFT) позволяют владеть, торговать и комбинировать цифровые активы в публичных блокчейнах. В основе этой трансформации лежит ERC-721 — стандарт Ethereum, определяющий, как уникальные токены создаются, передаются и обнаруживаются в кошельках, на маркетплейсах и в приложениях. Если вы когда-либо создавали коллекционный предмет, покупали внутриигровой актив или ограничивали доступ к сообществу, вы, вероятно, взаимодействовали с ERC-721.

В этой статье мы разберем, что такое ERC-721, как он работает, распространенные подводные камни, почему расширения имеют значение и куда стандарт движется в 2025 году.

Что на самом деле определяет ERC-721

ERC-721 — это интерфейс Ethereum для невзаимозаменяемых токенов — активов, уникальных по своему идентификатору и не подлежащих обмену 1:1, как взаимозаменяемые токены ERC-20. Стандарт определяет основные функции и события, которые должны реализовать все совместимые контракты, обеспечивая единообразную поддержку в кошельках и на маркетплейсах. Ознакомьтесь с канонической спецификацией на сайте Ethereum Improvement Proposals: EIP-721.

Основные компоненты включают:

  • Владение и баланс: ownerOf(tokenId), balanceOf(owner)
  • Переводы: transferFrom, safeTransferFrom (рекомендуется для пользовательских аккаунтов и смарт-контрактов)
  • Одобрения: approve, getApproved, setApprovalForAll
  • События: Transfer, Approval, ApprovalForAll
  • Опциональное расширение метаданных: name, symbol, tokenURI для метаданных на уровне элемента

Для разработчиков самый простой способ начать — использовать проверенные библиотеки, такие как реализация от OpenZeppelin, которая поддерживает расширения для перечисления и метаданных: OpenZeppelin ERC-721.

Минимальный интерфейс выглядит следующим образом:

interface IERC721 {
    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);

    function balanceOf(address owner) external view returns (uint256);
    function ownerOf(uint256 tokenId) external view returns (address);

    function safeTransferFrom(address from, address to, uint256 tokenId) external;
    function transferFrom(address from, address to, uint256 tokenId) external;

    function approve([address](https://onekey.so/blog/ru/ecosystem/what-is-a-crypto-wallet-address/) to, uint256 tokenId) external;
    function setApprovalForAll([address](https://onekey.so/blog/ru/ecosystem/what-is-a-crypto-wallet-address/) operator, bool approved) external;
    function getApproved(uint256 tokenId) external view returns ([address](https://onekey.so/blog/ru/ecosystem/what-is-a-crypto-wallet-address/));

    // Опциональное расширение метаданных
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function tokenURI(uint256 tokenId) external view returns (string memory);
}

Для общего обзора документация Ethereum предоставляет дополнительный контекст и лучшие практики: ERC-721 developers docs.

Метаданные: on-chain против off-chain

Сам по себе ERC-721 не диктует, как хранить метаданные; он просто возвращает tokenURI, который указывает на JSON-файл, описывающий актив (название, описание, изображение, атрибуты). На практике большинство проектов используют децентрализованные хранилища:

  • IPFS для адресации контента и его распространения: IPFS
  • Arweave для постоянного, надежного хранения: Arweave
  • Схемы маркетплейсов, такие как руководство по метаданным OpenSea: OpenSea Metadata Standards

Хранение метаданных on-chain (в блокчейне) возможно (и становится все более популярным для долгосрочной надежности), но более дорогостоящее. Часто используется гибридный подход — небольшой JSON on-chain плюс медиа off-chain.

Для продвинутого получения данных из off-chain источников без ущерба для предположений о доверии, ERC-3668 («CCIP-Read») позволяет контрактам проверять off-chain данные on-chain: EIP-3668.

ERC-721 против ERC-1155

ERC-721 предназначен для уникальных, неповторимых предметов. ERC-1155 — это стандарт мультитокенов, поддерживающий как взаимозаменяемые, так и невзаимозаменяемые токены в рамках одного контракта, что делает его идеальным для полу-взаимозаменяемых игровых предметов или выпусков. Если вы создаете выпуски или партии с общими метаданными, рассмотрите ERC-1155: EIP-1155. Для чисто уникальных предметов, где каждый токен имеет свой собственный жизненный цикл и передается отдельно, ERC-721 остается стандартом по умолчанию.

Расширения, имеющие значение в 2025 году

Экосистема продолжает развиваться вокруг ERC-721 с помощью опциональных стандартов, улучшающих пользовательский опыт, компонуемость и монетизацию:

  • Роялти: ERC-2981 стандартизирует информацию о роялти создателя на уровне контракта, чтобы маркетплейсы могли единообразно получать настройки роялти. Обратите внимание, что принудительное исполнение роялти зависит от маркетплейса, а не от протокола. Узнайте больше: EIP-2981 и политики маркетплейсов, такие как обзор комиссий для создателей OpenSea.
  • Разрешение для NFT: ERC-4494 вводит типизированные подписи EIP-712 для одобрений, обеспечивая одобрения без газа и улучшенный пользовательский опыт без предоставления широких полномочий операторам. EIP-4494.
  • Права на аренду/использование: ERC-4907 добавляет роль «пользователя» с временной меткой истечения срока действия, что позволяет осуществлять аренду на ограниченный срок без передачи права собственности. EIP-4907.
  • Привязанные к токену счета (TBA): ERC-6551 позволяет NFT иметь собственный кошелек смарт-контракта, обеспечивая владение активами, идентификацию и сложное поведение, связанное с самим токеном. Это значительный прорыв для игр, идентификации и компонуемого искусства. EIP-6551.

В совокупности эти расширения делают NFT более программируемыми и соответствующими реальным сценариям использования: подписки, внутриигровые инвентари, динамическое искусство и идентификация в блокчейне.

Безопасность и UX: распространенные подводные камни

Поскольку ERC-721 включает одобрения и переводы, он часто становится мишенью для фишинга и социальной инженерии. Практические советы:

  • Отдавайте предпочтение safeTransferFrom для переводов, инициированных пользователем. Он проверяет получателя на наличие onERC721Received при отправке в смарт-контракты, предотвращая случайную потерю токенов. См. примечания к реализации в документации OpenZeppelin по ERC-721.
  • Остерегайтесь бессрочных одобрений. setApprovalForAll — мощная функция; если оператор скомпрометирован, все ваши NFT находятся под угрозой. Рассмотрите возможность отзыва одобрений после использования и регулярно проверяйте getApproved и списки операторов.
  • Проверяйте подписи. Многие NFT-приложения используют типизированные данные EIP-712 для одобрений, листингов и внебиржевых ордеров. Всегда читайте сообщение и подтверждайте домен и намерение перед подписанием: EIP-712.
  • Используйте аппаратные кошельки для создания NFT, одобрений и переводов. Специальное устройство помогает изолировать ключи и снижает риск атак вредоносного ПО или браузерных кошельков.

Если вы задумываетесь о хранении, аппаратные кошельки OneKey создают автономную среду подписания с четкими сводками транзакций и поддержкой нескольких блокчейнов. Это упрощает проверку и безопасное выполнение взаимодействий с ERC-721, особенно одобрений, листингов и подписей разрешений.

Газ и масштабируемость: ERC-721 на Layer 2

Активность NFT все больше перемещается в сети Layer 2 для более быстрой финализации и снижения затрат. ERC-721 работает в L2 так же, как и в основной сети; разница заключается в базовой технологии роллапа и расчетах. Перед развертыванием проверьте:

  • Как ваш маркетплейс индексирует токены и метаданные на целевом L2
  • Поведение мостов (создание и сжигание или зеркальные контракты)
  • Время финализации секвенсора и вывода средств

Обзор экосистем L2 и их компромиссов см. в документации Ethereum по Layer 2: Обзор Layer-2.

Абстракция учетных записей (AA) через ERC-4337 также меняет пользовательский опыт NFT, предлагая спонсирование газа и программируемые политики подписей. Это позволяет создавать «NFT без газа» и более безопасные сессионные ключи для внутриприложений. Подробнее о EIP-4337 и введение в AA от Alchemy: Обзор абстракции учетных записей.

Чек-лист для разработчика: надежные интеграции ERC-721

  • Используйте проверенные библиотеки и следуйте спецификации: EIP-721, OpenZeppelin ERC-721.
  • Заранее определитесь с хранилищем метаданных: IPFS, Arweave или on-chain. Ссылки на документацию по схемам: OpenSea Metadata Standards, IPFS, Arweave.
  • Выберите расширения, соответствующие вашему продукту: EIP-2981, EIP-4494, EIP-4907, EIP-6551.
  • Спланируйте развертывание и индексацию на L2: Обзор Layer-2.
  • Внедрите надежное управление одобрениями, потоки отзыва и четкие диалоги подписания с использованием EIP-712: EIP-712.
  • Рассмотрите AA для более простого онбординга и спонсируемых действий: EIP-4337, Обзор абстракции учетных записей.

Перспективы на 2025 год: NFT за пределами коллекционирования

Хотя аватары (profile pictures) вызвали первую волну массового интереса, ERC-721 продолжает расширяться в категории, основанные на полезности:

  • Игры: внутриигровые предметы, косметика и инвентарь, принадлежащий игрокам, выигрывают от TBA и аренды для создания значимых игровых экономик.
  • Идентификация и членство: опыт с доступом по токенам, учетные данные и примитивы сообщества используют подписи и AA для мобильного пользовательского опыта.
  • Билеты и подписки: права с ограниченным сроком действия через ERC-4907 моделируют реальные шаблоны доступа.
  • Культурные активы и динамическое искусство: метаданные в блокчейне, CCIP-Read и модульные контракты обеспечивают долговечность и эволюцию творческих работ.

Для более широкого объяснения концепций и вариантов использования NFT см. обзор NFT от Ethereum: NFT на Ethereum.

Почему хранение по-прежнему важно для ERC-721

Одобрения, листинги и подписи для создания NFT напрямую влияют на право собственности. Если ваш подписчик скомпрометирован, ваши NFT могут быть перемещены без вашего согласия. Аппаратные кошельки остаются простым и эффективным средством защиты для всех, кто регулярно взаимодействует с контрактами ERC-721.

OneKey предлагает:

  • Автономные приватные ключи и безопасное подписание для переводов ERC-721, одобрений и подписей разрешений
  • Четкие предварительные просмотры транзакций и сообщений, помогающие обнаруживать вредоносных операторов или вводящие в заблуждение подписи
  • Широкую поддержку EVM и L2 для бесперебойной работы NFT на разных блокчейнах

Если вы торгуете, коллекционируете или создаете NFT, использование программных кошельков в сочетании с аппаратным кошельком OneKey добавляет важный уровень защиты — особенно по мере развития ERC-721 с расширенными функциями и абстракцией учетных записей.

ERC-721 заложил основу для всей экосистемы NFT. По мере роста компонуемости и улучшения пользовательского опыта простота стандарта остается его суперсилой: универсальным языком для уникального владения в программируемом мире.

Защитите свое криптопутешествие с OneKey

View details for Магазин OneKeyМагазин OneKey

Магазин OneKey

Самый продвинутый аппаратный кошелек в мире.

View details for Загрузить приложениеЗагрузить приложение

Загрузить приложение

Предупреждения о мошенничестве. Поддержка всех монет.

View details for OneKey SifuOneKey Sifu

OneKey Sifu

Ясность в криптовалюте — на расстоянии одного звонка.

Читать дальше