Популярные криптовалюты

BTC $104,797.06 -0.92%
ETH $2,511.6 -1.70%
SOL $146.35 -3.17%
XRP $2.1424 -2.83%
PEPE $0.0000101 -3.44%
SUI $2.7656 -5.49%
DOGE $0.16856 -1.91%

Что такое OP_RETURN и как он позволяет хранить данные в сети биткоина?

BTC $104,797.06 -0.92%
OP $0.544 -5.06%

О главных плюсах и минусах добавления нефинансовых данных в блокчейн биткоина.

Что такое опкоды (opcodes) в блокчейне биткоина?

Код биткоина написан на простом, намеренно ограниченном языке программирования — Script. Он не поддерживает бесконечные циклы и сложные конструкции для обеспечения безопасности и эффективности. Операции обрабатываются в стеке, действующем по принципу «последним пришел — первым вышел» (LIFO).

Опкоды (operation codes, opcodes) — это инструкции, с помощью которых можно задать условия выполнения транзакции по определенной команде.

В сети биткоина каждый опкод записывается в виде команды с префиксом OP (OP_RETURN) для выполнения функций в разных категориях: вычисления, валидация или отмена транзакций, добавление, удаление или перемещение элементов в стеке. Некоторые примеры:

  • криптография. Хеширование и криптографические проверки: OP_HASH256  дважды применяет SHA-256 к входным данным, усиливая защиту;
  • управление потоком выполнения. Влияние на логику исполнения скрипта: OP_VERIFY признает транзакцию недействительной, если верхний элемент стека ложен;
  • побитовая логика. Работа с битами входных данных: OP_INVERT инвертирует все биты входа.

Хотя архитектура блокчейна первой криптовалюты допускает до 256 различных опкодов, на данный момент активны менее половины из них.

В 2010 году Сатоши Накамото намеренно удалил 16 таких инструкций по соображениям безопасности. Одна из них — OP_CAT — способна значительно расширить возможности смарт-контрактов на базе биткоина и сделать их программируемыми, как в Ethereum. После активации софтфорка Taproot в конце 2021 года была ликвидирована потенциальная уязвимость большой траты памяти — главная причина устранения опкода Сатоши. Возвращение OP_CAT активно обсуждается в сообществе с 2023 года.

Что такое OP_RETURN?

OP_RETURN — это стандартный шаблон скрипта блокировки, который позволяет записывать произвольные данные или сообщения в биткоин-транзакции. Как одна из имплементаций NULLDATA он обычно создает явный, проверяемый, непригодный для траты и подлежащий удалению выход.

Проще говоря, опкод помечает транзакции как однозначно удаляемые или непригодные для использования, оставляя прикрепленные сообщения — в силу неизменяемой природы блокчейна — навсегда. Он позволяет хранить 83 байта данных вроде «надписей на чеке», не нарушая финансовую основу сети.

OP_RETURN представлен в 2014 году в Bitcoin Core 0.9.0. как компромиссное решение для предотвращения потока спама, связанного с сообщениями в UTXO. 

Дело в том, что на ранних этапах для прикрепления данных требовалось отправить биткоин на один из нерабочих адресов — сжечь монеты. Но в таком случае с каждой транзакцией накапливалось количество выходов в набор UTXO, угрожая рано или поздно перегрузить ноды валидаторов и всю сеть. 

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

Первоначально лимит на прикрепленные данные составлял 40 байт, но в 2015 году был увеличен до 80 байт, а в 2016 — до 83 байт. Такие ограничения выбраны намеренно, чтобы стимулировать использование хешей вместо самих данных.

27 апреля 2025 года разработчик Bitcoin Core Питер Тодд представил Pull Request #32359 в репозиторий Bitcoin Core. Предложение включало полную отмену ограничений на размер выходов OP_RETURN вплоть до 4 Мб.

9 июня разработчики Bitcoin Core приняли решение: они снимут лимит на объем публикуемых данных OP_RETURN в релизе клиента v30, запланированного на октябрь. При этом пользователи смогут временно устанавливать лимит вручную.

Противоборствующий лагерь Bitcoin Knots предлагает альтернативные биткоин-ноды с консервативным лимитом. Число валидаторов таких узлов в июне 2025 года приблизилось к 10%.

Какие существуют способы хранения данных в блокчейне биткоина?

Впервые прикрепить сообщение к биткоин-транзакции удалось основателю сети — Сатоши Накамото. Он встроил в генезис-блок фразу: «The Times 03/Jan/2009 Chancellor on brink of second bailout for banks». 

Сатоши использовал доступный тогда вариант размещения информации в поле scriptSig coinbase-транзакции. В нем и сейчас можно оставить произвольное сообщение вроде названия пула, версии софта или данные хешрейта.

Для размещения информации в блокчейне используется система кодировки. В стандарте ASCII каждая буква, цифра или другой знак представляется уникальным числом от 0 до 127.

Например, буква F в десятеричной форме (dec) ASCII соответствует числу 70, а запятая — 44.

Слово ForkLog в dec будет выглядеть как 70 111 114 107 76 111 103, а шестнадцатеричная (hex) форма для вставки в код биткоина приобретет вид 466F726B4C6F67.

При просмотре блокчейна с помощью специализированного программного обеспечения или ИИ-ассистента вроде ChatGPT можно легко декодировать hex-данные обратно в читаемый текст. Таким образом блокчейн биткоина хранит множество закодированных сообщений.Поле OP_RETURN на данном этапе позволяет записывать до 83 байт данных. Поскольку каждый символ в ASCII занимает 1 байт, это дает возможность разместить около 83 единиц в одной транзакции. Пользователям приходится проявлять изобретательность — выбирать лаконичные, но выразительные фразы или просто оставить закодированную IPFS-ссылку на Web-ресурс.

Как применяют OP_RETURN? 

OP_RETURN как более эффективный способ хранения малых данных можно использовать в различных сферах. Учитывая, что в скором времени лимит увеличится до размера блока в 4 Мб, это расширит векторы применения.

Интерфейс Proof-of-Existance предлагает выбрать документ для помещения в блокчейн биткоина за 0,00025 BTC. Данные: Proof of Existance.

К существующим юзкейсам можно отнести следующие:  

  • временная метка (timestamp) и доказательство существования (Proof-of-Existence). Увековечивание важного документа: хеш встраивается в транзакцию, тем самым доказывая его существование в конкретный момент времени неизменяемо и проверяемо;
  • метаданные и заметки. Некоторые пользователи добавляют через OP_RETURN простые заметки: номера заказов, короткие сообщения, хеши;
  • создание NFT. Технология позволяет создавать и хранить невзаимозаменяемые токенов в блокчейне биткоина Runes. Предыдущий — более «вредный» для сети — протокол Ordinals после снятия ограничений сможет перейти на метод OP_RETURN. Ранее опкод служил одним из ключевых инструментов для развития «цветных монет». Он позволял «окрашивать» (помечать) отдельные сатоши метаданными, представляющими доли в NFT или токенах компаний. Это позволило отслеживать и передавать Colored Coins в блокчейне первой криптовалюты и стало прототипом для последующего развития;
  • потенциальная прибыль от крупных транзакций. Майнерам может быть выгодно обрабатывать более «тяжелые» транзакции;

децентрализованные приложения и сети второго уровня (L2). Сайдчейны или сети с каналами состояний вроде Lightning Network могут использовать OP_RETURN для встраивания сводной информации об офчейн-состоянии в блокчейн биткоина. Это помогает масштабируемым решениям, которым нужно периодически взаимодействовать с основной цепочкой и которым приходится выпускать два UTXO из-за лимита.

Какие недостатки у OP_RETURN?

Разнообразные способы использования OP_RETURN для хранения данных в блокчейне подтверждают инновационный характер технологии. Несмотря на это, раскол комьюнити сигнализирует об обратной стороне медали. 

Многие считают, что основное назначение биткоина — быть цифровым золотом, а не платформой для хранения данных. Избыточное использование OP_RETURN может привести к излишнему увеличению размера блокчейна. Чем больше каждый узел в сети — тем выше требования к оборудованию, что в перспективе может повысить уровень централизации.

Некоторые минусы OP_RETURN:

  • отсутствие явной пользы. Хотя идея хранить нефинансовые данные с помощью OP_RETURN звучит интересно, сама по себе она никак не помогает работает протокола: технология не участвует в обработке или валидации транзакций. То есть польза механизма зависит исключительно от внешних приложений, которые могут интерпретировать и использовать информацию по назначению;
  • высокие комиссии. Увеличение размера транзакции ведет к росту комиссии — особенно в периоды высокой нагрузки сети;
  • возможные злоупотребления. Данные, записанные с помощью опкода, нельзя удалить или изменить. Это поднимает вопросы этики и конфиденциальности, особенно если речь идет о запрещенном контенте.

RSS 18.06.2025 1 68
Источник: https://forklog.com/cryptorium/chto-takoe-op_return-i-kak-on-pozvolyaet-hranit-dannye-v-seti-bitkoina