Дополнительные данные или информация, которые могут быть приложены к криптовалютной транзакции в блокчейне, называются метаданными в блокчейн-транзакциях.
Хотя основная функция блокчейна заключается в документировании и аутентификации передачи цифровых активов, включая криптовалюты, метаданные позволяют добавлять дополнительную информацию или контекст к транзакциям.
Метаданные — это данные о данных. В контексте блокчейн-транзакций они включают информацию, которая не имеет прямого отношения к переводу криптовалюты, но может обеспечить дополнительную функциональность транзакции. Существует два основных типа метаданных в транзакциях:
Ончейн метаданные (On-chain)
Поскольку эти метаданные сразу же сохраняются в блокчейне (в цепочке), они являются частью хранящихся там данных о транзакциях. Любой, у кого есть доступ к блокчейну, может это увидеть. Такую информацию, как метки транзакций, примечания или ссылки на внешние контракты или документы, можно найти в ончейн-метаданных.
Офчейн метаданные (Off-chain)
Эти данные упоминаются в транзакции, но не хранятся непосредственно в блокчейне (вне цепочки). В офчейн метаданные могут быть включены ссылки на другой контент, например файлы, документы или веб-адреса, содержащие более подробную информацию о транзакции. Офчейн метаданные — это инструмент, который можно использовать для уменьшения беспорядка в блокчейне.
Как хранятся ончейн- и офчейн-метаданные
Ончейн метаданные, такие как данные о транзакциях, код смарт-контракта и свойства токенов, являются неотъемлемой частью структуры данных блокчейна, постоянно хранятся и реплицируются в нодах сети, являясь компонентом распределенного реестра.
Большая часть ончейн метаданных хранится внутри самих транзакций. В блокчейне каждая транзакция имеет полезную нагрузку с соответствующими метаданными. Например, при пересылке криптовалюты между адресами в качестве ончейн метаданных записываются отправитель, получатель, сумма и дата транзакции.
Когда речь идет о смарт-контрактах, код контракта и сопутствующие данные хранятся в блокчейне в виде ончейн метаданных. К ним относятся функции, переменные состояния и связанные с ними данные контракта. Каждый блок имеет заголовки, содержащие определенные метаданные, легко доступные для проверки, такие как временные метки блока, номера блоков и идентификаторы транзакций. Для таких токенов, как ERC-721 и ERC-20 в Ethereum, метаданные о свойствах токенов (имя токена, символ, эмиссия) часто хранятся в блокчейне.
В отличие от них, офчейн-метаданные хранятся вне цепи, но криптографически связаны с ней, что повышает эффективность и гибкость блокчейна. Они могут храниться в различных местах, включая офчейн-решения для масштабирования, такие как Lightning Network, децентрализованные системы хранения данных, такие как InterPlanetary File System (IPFS), и внешние базы данных.
В блокчейне используются криптографические хэши или указатели для ссылки на офчейн метаданные, что позволяет освободить место в блокчейне для хранения более или менее важных данных, уменьшить перегрузку и обеспечить гибкость приложений, которым нужна приватная или динамическая информация.
Примеры метаданных в транзакциях
Метаданные в блокчейне включают в себя временные метки, детали транзакций, данные смарт-контрактов, цифровые подписи, плату за газ, ссылки на IPFS, информацию об оракулах и метаданные о невзаимозаменяемых токенах (NFT), что позволяет реализовать различные функциональные возможности и хранить информацию в блокчейн-сети.
- Метки времени. Каждый блок блокчейна содержит метку времени, которая показывает момент добавления блока в цепочку. С помощью этих метаданных фиксируется время проведения транзакции.
- Детали транзакции. Адреса отправителя и получателя, суммы транзакций и отдельные идентификаторы транзакций — вот лишь несколько примеров метаданных, которые могут быть включены в каждую транзакцию в блокчейне.
- Данные смарт-контракта. Параметры и входные данные, необходимые для работы контракта, могут быть включены в метаданные при исполнении смарт-контрактов в блокчейне.
- Цифровые подписи. Для подтверждения легитимности транзакций и демонстрации права собственности метаданные содержат цифровые подписи.
- Плата за газ. В таких блокчейнах, как Ethereum, метаданные могут содержать сведения о сетевых комиссиях, связанных с обработкой транзакций. Майнерам и валидаторам эта информация необходима для определения приоритетности транзакций.
- Ссылки на «межпланетную файловую систему». Ссылки на IPFS, децентрализованную систему хранения файлов, можно найти в метаданных блокчейна. Пользователи могут получить доступ к данным в блокчейне, извлекая при необходимости ссылку (обычно в виде хэша) на файл IPFS. С помощью этого метода можно хранить большие файлы, включая изображения, видео или документы, связанные с активами блокчейна, такими как NFT.
- Оракулы. Это внешние сервисы, предоставляющие смарт-контрактам доступ к данным реального мира. Информация об этих оракулах может быть включена в блокчейн-метаданные, чтобы вызвать действия смарт-контракта.
- Метаданные невзаимозаменяемых токенов. НФТ часто содержат метаданные, такие как указание автора, описание и другие сведения о цифровых или физических активах, которые они представляют.
Как добавить метаданные к транзакции в блокчейне
Когда пользователь хочет добавить метаданные в транзакцию, он может сделать это с помощью смарт-контракта, который представляет собой самоисполняющийся контракт с заранее определенными условиями, закодированными в нем.
На примере Ethereum, который известен своей возможностью включать метаданные в транзакции с помощью смарт-контрактов, можно рассмотреть сам процесс.
- Создание смарт-контракта. Перед добавлением метаданных необходимо создать смарт-контракт. Инструкции о том, где и как будут храниться метаданные, включаются в этот контракт. Метаданные могут храниться в определенной переменной, обычно в виде строки.
На изображении выше смарт-контракт под названием MyContract имеет общедоступную переменную метаданных и функцию setMetadata, позволяющую обновлять метаданные.
- Взаимодействие со смарт-контрактом. Для добавления метаданных к транзакции пользователь должен запустить смарт-контракт, инициализируя транзакцию, то есть взаимодействовать. Это можно сделать с помощью таких библиотек, как web3.js или ethers.js, или через приложения Ethereum-кошелька.
- Проверка метаданных. Взаимодействуя со смарт-контрактом и считывая переменную метаданных, любой желающий может подтвердить метаданные после подтверждения транзакции и добавления ее в блокчейн. Однако важно помнить, что при добавлении метаданных к транзакции следует учитывать такие моменты, как цена газа, безопасность и конфиденциальность.
Варианты использования блокчейн-метаданных
Метаданные находят применение в самых разных отраслях, включая управление цепочками поставок, цифровую идентификацию, смарт-контракты, НФТ и здравоохранение.
- Управление цепочками поставок. Предприятия могут улучшить прослеживаемость и прозрачность, поместив метаданные о производстве, транспортировке и качестве продукции в блокчейн. Например, производитель продуктов питания может отслеживать информацию о происхождении материалов, их прохождении по цепочке поставок и проверке качества.
Эта информация необходима для решения таких проблем, как мошенничество или отказ от продукции, обеспечения соответствия нормативным требованиям и подтверждения подлинности. Покупатели могут использовать эти метаданные для принятия обоснованных решений относительно приобретаемых ими товаров.
- Цифровая идентификация и аутентификация. Метаданные могут использоваться для безопасного управления и сохранения учетных и персональных данных. Люди сами отвечают за свои данные и могут разрешать или запрещать доступ к ним, что снижает вероятность кражи личных данных и нарушения конфиденциальности. Предприятия, правительства и образовательные учреждения могут использовать эту технологию для повышения безопасности услуг и ускорения процедур проверки личности.
- Самоисполняющиеся контракты. Еще одной областью, в которой метаданные блокчейна играют важную роль, являются самоисполняющиеся контракты. Метаданные используются в них для принятия решения о том, когда и как выполнить то или иное условие. Например, смарт-контракт в сфере страхования может использовать метеорологические данные в качестве метаданных для немедленного инициирования выплат страхователям, пострадавшим от неблагоприятных погодных условий.
В финансовой отрасли кредитные договоры могут определять право на получение кредита и процентные ставки на основе кредитных рейтингов и истории операций, которые хранятся в виде метаданных, что позволяет автоматизировать и повысить эффективность процедур кредитования.
- Невзаимозаменяемые токены и цифровые активы. В NFT и цифровых активах часто используются метаданные для придания цифровым коллекционным предметам, произведениям искусства и активам смысла и ценности. Информация о создателе, история владения и характеристики цифрового объекта являются примерами метаданных. Отслеживание происхождения, аутентификация произведений искусства и создание децентрализованных приложений (dApps), основанных на NFT, могут извлечь из этих знаний значительную пользу.
- Медицина и безопасность данных. В сфере здравоохранения метаданные используются для безопасного ведения историй болезни и обеспечения целостности данных. Истории болезни, формы согласия пациентов и журналы доступа к данным могут храниться в метаданных, что повышает безопасность и конфиденциальность медицинской информации. Это облегчает коммуникацию между различными системами здравоохранения и позволяет специалистам экстренных служб быстрее получать жизненно важную медицинскую информацию.
Проблемы, связанные с метаданными
Проблемы масштабируемости и стоимости хранения данных важны, поскольку по мере роста размеров блокчейн-сетей они могут становиться менее эффективными и требовать больше ресурсов. Большие объемы хранения данных в блокчейне могут создавать нагрузку на архитектуру сети и увеличивать риск централизации.
Другой проблемой является безопасность и конфиденциальность данных, особенно при работе с приватными или особо чувствительными данными. Прозрачность блокчейна может противоречить нормам конфиденциальности, поэтому его внедрение и проектирование должны осуществляться с особой тщательностью. Кроме того, на надежность блокчейн-приложений и смарт-контрактов может повлиять злонамеренный или ошибочный ввод данных.
Решение этих проблем имеет особое значение для дальнейшего развития и внедрения технологии блокчейн в различных отраслях. Преодоление этих препятствий в метаданных блокчейна требует диверсифицированной стратегии. Разработчики могут использовать решения второго уровня и методы шардинга для выгрузки определенных данных из основной цепи, чтобы избежать трудностей масштабируемости.
Для повышения безопасности и конфиденциальности можно использовать шифрование и приватные (частные) блокчейны. Надежность оракула может быть обеспечена за счет использования нескольких источников данных для проверки и репутационных механизмов.
Метаданные блокчейна можно сделать более эффективными и безопасными с помощью надежных протоколов безопасности, инновационных технологий и тщательного проектирования.