Метаданные NFT: хранение On-Chain и Off-Chain
Когда вы покупаете NFT, вы становитесь владельцем токена в блокчейне. Но то, что большинство людей считает собственно NFT -- изображение, название, описание, характеристики -- это не сам токен. Эта информация называется метаданными, и место их хранения имеет гораздо большее значение, чем осознает большинство коллекционеров. Если метаданные исчезнут, ваш токен по-прежнему будет существовать в блокчейне, но он будет указывать в никуда. Вы владеете чеком на нечто, у которого больше нет видимой формы.
В этом руководстве мы разберем, что такое метаданные NFT, где они могут храниться, какие компромиссы существуют между on-chain и off-chain подходами, а также чем отличается работа с метаданными в Ethereum, Solana и TON.
Что такое метаданные NFT?
Метаданные NFT -- это набор описательной информации, связанной с токеном. Как правило, они включают название NFT, текстовое описание, ссылку на медиафайл (изображение, видео, аудио или 3D-модель) и список атрибутов или характеристик. Для генеративной PFP-коллекции метаданные могут указывать, что у конкретного токена есть "Золотой фон", "Лазерные глаза" и "Корона" -- именно эти характеристики анализируют инструменты для оценки редкости и именно они определяют уникальность каждого токена.
Токен в блокчейне -- это просто уникальный идентификатор и указатель. В Ethereum токен ERC-721 содержит tokenURI -- URL-адрес, ведущий к JSON-файлу с метаданными. JSON-файл, в свою очередь, содержит URL-адрес, указывающий на сам медиафайл. В Solana и TON механизм отличается в реализации, но следует тому же принципу: токен в блокчейне ссылается на данные за его пределами.
Такое разделение существует потому, что хранение больших файлов непосредственно в блокчейне обходится непомерно дорого. Изображение может весить несколько мегабайт; хранение такого объема в Ethereum при текущих ценах на газ обошлось бы в тысячи долларов за один NFT. Поэтому индустрия выработала многоуровневый подход: токен живет в блокчейне, а метаданные и медиафайлы -- за его пределами.
Метаданные On-Chain
Полностью ончейн-NFT хранят все свои метаданные -- а иногда и сами медиафайлы -- непосредственно в смарт-контракте блокчейна или в данных аккаунта. Ничто не зависит от внешних серверов или сетей хранения. Пока существует блокчейн, NFT остается полным и самодостаточным.
Как это работает
Ончейн-проекты обычно кодируют метаданные как data URI в формате base64, которые возвращаются непосредственно смарт-контрактом. Когда маркетплейс или кошелек запрашивает метаданные токена, контракт генерирует или возвращает JSON (а иногда и SVG-изображение) из данных, хранящихся в блокчейне. Нет никакого внешнего URL для загрузки -- все вычисляется из состояния блокчейна.
Преимущества
Главное преимущество -- долговечность. Ончейн-метаданные не могут исчезнуть из-за отключения сервера, истечения срока действия домена или выхода из строя провайдера хранилища. Они так же долговечны, как сам блокчейн. Это делает полностью ончейн-NFT привлекательными для проектов, которые ставят во главу угла долговечность и бездоверительность -- коллекционеру не нужно полагаться на третью сторону для поддержания данных.
Ограничения
Стоимость -- основное ограничение. Хранение данных в Ethereum стоит дорого, что ограничивает ончейн-NFT малыми размерами файлов -- как правило, это генеративное SVG-искусство, ASCII-арт или текстовый контент. Хранить изображения высокого разрешения, видео и 3D-модели полностью в блокчейне при текущих затратах непрактично. Известные ончейн-проекты на Ethereum -- такие как Nouns, Loot и Autoglyphs -- работают именно потому, что их визуальный контент можно генерировать из компактных ончейн-данных.
В Solana хранение в блокчейне обходится дешевле, но все равно имеет практические ограничения. Архитектура TON позволяет более гибко хранить данные в блокчейне благодаря своей ячеистой структуре, однако большинство NFT-проектов на TON по-прежнему используют офчейн-хранение медиафайлов, чтобы снизить стоимость минтинга.
Хранение метаданных Off-Chain
Подавляющее большинство NFT хранят метаданные и медиафайлы за пределами блокчейна. Ончейн-данные токена содержат URL-адрес, указывающий на JSON-файл, размещенный где-то в другом месте. Качество этого "другого места" варьируется колоссально, и оно напрямую влияет на долгосрочную сохранность вашего NFT.
Централизованные серверы
Некоторые проекты размещают метаданные на обычных веб-серверах -- собственной инфраструктуре или облачных сервисах вроде AWS. Это самый простой подход с быстрой загрузкой, но он создает единую точку отказа. Если команда проекта перестанет оплачивать хостинг, компания закроется или сервер выйдет из строя, метаданные станут недоступны. Ваш токен по-прежнему будет существовать в блокчейне, но кошельки и маркетплейсы будут показывать пустую заглушку вместо изображения и описания вашего NFT.
Ранние NFT-проекты часто использовали централизованный хостинг, и некоторые из них уже столкнулись с потерей метаданных. Коллекционеры, владеющие токенами заброшенных проектов, обнаруживали, что их NFT фактически ничего не отображают.
IPFS (InterPlanetary File System)
IPFS -- это децентрализованная сеть хранения файлов, где контент адресуется по своему криптографическому хешу, а не по расположению на сервере. Когда метаданные хранятся в IPFS, URI токена выглядит как ipfs://QmXyz... -- этот хеш однозначно идентифицирует контент. Если кто-либо в сети имеет копию файла, его можно получить независимо от того, какой именно сервер изначально загрузил его.
IPFS надежнее централизованного хостинга, поскольку данные может раздавать любой узел, который их закрепил (пиннит). Однако сам по себе IPFS не гарантирует постоянства. Если ни один узел не пиннит данные, они в конечном итоге будут удалены сборщиком мусора. Проекты обычно используют сервисы пиннинга, такие как Pinata или NFT.Storage, чтобы гарантировать доступность метаданных. Долговечность зависит от того, будут ли эти обязательства по пиннингу поддерживаться с течением времени.
Arweave
Arweave -- это сеть постоянного хранения на основе блокчейна. Загрузка данных в Arweave предполагает разовый платеж, а сеть спроектирована так, чтобы хранить данные бессрочно благодаря экономическим стимулам. URL-адреса Arweave выглядят как https://arweave.net/abc123 или используют протокол ar://.
Arweave предлагает наиболее надежную гарантию долговечности среди офчейн-вариантов. После загрузки данные не требуют регулярных платежей или активного обслуживания для сохранения доступности. Многие серьезные NFT-проекты -- особенно на Solana, где интеграция с Arweave распространена благодаря Metaplex -- используют Arweave для хранения метаданных и медиафайлов.
Сравнение в двух словах
Централизованные серверы: быстро, дешево, легко обновлять, но хрупко -- единая точка отказа, зависящая от постоянного обслуживания.
IPFS: контентная адресация и децентрализация, надежнее централизованного хостинга, но требует активного пиннинга для долгосрочного хранения.
Arweave: постоянное хранение с разовой оплатой, самый долговечный офчейн-вариант, но данные нельзя изменить после загрузки.
Полностью on-chain: максимальная долговечность, никаких внешних зависимостей, но ограничено стоимостью хранения и размером файлов.
Как метаданные работают в разных блокчейнах
Ethereum
NFT на Ethereum, следующие стандарту ERC-721, предоставляют функцию tokenURI(), которая возвращает URL-адрес JSON-файла с метаданными. Этот JSON следует структуре, определенной OpenSea и широко принятой в индустрии: он включает поля name, description, image и массив attributes. Поле image обычно содержит IPFS URI, Arweave URL или централизованный HTTP-адрес.
Высокая стоимость газа в Ethereum делает полностью ончейн-хранение дорогим, поэтому большинство коллекций используют IPFS или централизованный хостинг. Известные ончейн-исключения существуют (Nouns генерирует SVG в блокчейне, Loot хранит текст в блокчейне), но они составляют малую долю экосистемы. Токены ERC-1155 следуют аналогичной схеме с функцией uri().
Solana
NFT на Solana, созданные по стандарту Metaplex, хранят часть метаданных в ончейн-данных аккаунта токена -- включая название, символ и URI, указывающий на полный JSON с метаданными. Офчейн-JSON следует структуре, аналогичной соглашениям Ethereum. Arweave -- доминирующий выбор хранилища в экосистеме Solana, отчасти благодаря встроенным инструментам Metaplex, которые упрощают загрузку в Arweave при минтинге.
Более низкая стоимость хранения в Solana по сравнению с Ethereum позволяет размещать больше данных в блокчейне, но полное хранение медиафайлов ончейн по-прежнему встречается редко. Сжатые NFT на Solana используют компрессию состояния (деревья Меркла) для дополнительного снижения ончейн-затрат, но все равно полагаются на офчейн-хранение метаданных.
TON
NFT на TON следуют стандарту данных токенов TEP-64. Каждый NFT -- это отдельный смарт-контракт, который хранит URL контента, указывающий на JSON-метаданные. Структура JSON включает поля для названия, описания, изображения и атрибутов.
Ячеистая архитектура TON позволяет гибко хранить данные в блокчейне, но большинство проектов -- включая коллекционные подарки Telegram и коллекции Getgems -- размещают метаданные офчейн для экономии. Некоторые NFT на TON используют IPFS, другие -- централизованный хостинг. Экосистема моложе, чем у Ethereum и Solana, поэтому практики хранения все еще развиваются и менее стандартизированы.
Что может пойти не так с метаданными
Понимание хранения метаданных -- это не просто теория. Реальные проблемы затронули реальных коллекционеров.
Отключение серверов. Проекты, размещавшие метаданные на собственных серверах, уходили в офлайн, оставляя NFT с пустыми изображениями. Как только сервер пропадает, восстановить данные невозможно, если кто-то не сохранил копию самостоятельно.
Истечение срока действия домена. Если домен проекта истекает и не продлевается, кто угодно может зарегистрировать его и подставить другой контент по тем же URL-адресам. Метаданные токена теоретически могут быть заменены произвольным содержимым, если домен хостинга сменит владельца.
Отмена пиннинга в IPFS. Метаданные, хранящиеся в IPFS, защищены лишь до тех пор, пока кто-то их пиннит. Если проект перестанет оплачивать пиннинг или сервис пиннинга закроется, данные со временем могут стать невосстановимыми.
Мошенничество через подмену метаданных. Проекты, использующие централизованное или изменяемое хранилище, могут подменить метаданные после продажи. Проект может продать NFT с привлекательным артом, а затем заменить изображения на что-то совершенно другое. Это возможно всякий раз, когда URL метаданных указывает на изменяемое хранилище, а не на систему с контентной адресацией вроде IPFS или Arweave.
Замороженные и изменяемые метаданные. Некоторые контракты на Ethereum позволяют владельцу контракта обновлять базовый URI метаданных. Хотя это бывает полезно для ревилов (когда изображения-заглушки заменяются финальным артом), это также означает, что метаданные могут быть изменены после минтинга. Обращайте внимание на контракты, в которых URI метаданных заморожен или неизменяем -- это дает более надежные гарантии того, что купленное вами останется тем, чем вы владеете.
Как проверить, где хранятся данные вашего NFT
Как коллекционер, вы можете проверить место хранения метаданных NFT, изучив URI токена.
В Ethereum: используйте блокчейн-эксплорер, например Etherscan, чтобы прочитать контракт. Вызовите функцию tokenURI с идентификатором токена. Возвращенный URL укажет на способ хранения: ipfs:// означает IPFS, https://arweave.net/ означает Arweave, data:application/json;base64, означает полностью ончейн-хранение, а обычный https:// URL обычно указывает на централизованный хостинг.
В Solana: найдите токен в Solana Explorer или в инструменте, совместимом с Metaplex. Аккаунт метаданных покажет URI. Arweave URI широко распространены в экосистеме Solana.
В TON: изучите данные смарт-контракта NFT с помощью Tonviewer или Tonscan. Поле контента в данных контракта раскрывает URL метаданных.
Инструменты вроде NFT Bowl отображают ваши NFT со всех трех блокчейнов в едином интерфейсе, что позволяет удобно просматривать всю коллекцию и определять, какие токены стоит проверить на долговечность хранения метаданных.
Заключение
Метаданные NFT -- это суть, стоящая за токеном: название, изображение, характеристики и описание, которые придают вашему NFT его идентичность и ценность. Место хранения этих данных определяет, насколько надежно ваше владение на самом деле. Полностью ончейн-хранение дает самые сильные гарантии, но ограничено стоимостью. Arweave обеспечивает постоянное офчейн-хранение. IPFS предлагает децентрализованную устойчивость при условии активного обслуживания. Централизованные серверы -- самый ненадежный вариант.
Оценивая покупку NFT, проверка способа хранения метаданных так же важна, как оценка арта и сообщества. Красивый NFT, размещенный на личном сервере команды проекта, несет в себе риск, которого нет у NFT на Arweave или в блокчейне. Понимание этого уровня вашей коллекции помогает принимать более взвешенные решения о том, что покупать, что держать и к чему стоит отнестись с особой осторожностью.