Сохраняются ли сообщения OP_RETURN в блокчейне?

Я много читал об OP_RETURN и хочу понять кое-что, что все еще кажется неясным. Когда мы создаем транзакцию с OP_RETURN (которая, как я понимаю, не будет вечно загрязнять ОЗУ узла, поскольку транзакция не помещается в базу данных UTXO), реплицируются ли данные OP_RETURN по всей цепочке блоков?

В этом ответе на связанный вопрос здесь ( Ограничение длины сообщения транзакции в блокчейне) говорится, что OP_RETURN не является частью протокола Биткойн, а доступ к данным OP_RETURN возможен только с использованием blockchain.info, что не имеет смысла из того, что я прочтите, так как код для стандартизации количества байтов для сообщений OP_RETURN находится непосредственно в исходном коде Биткойн и, следовательно, является частью протокола, верно?

TL;DR: я пытаюсь создать приложение, которое использует OP_RETURN, и я хотел бы знать, существуют ли данные OP_RETURN в блокчейне навсегда и могут ли они быть получены с использованием API, отличных от blockchain.info.

Ответы (1)

Да, вывод OP_RETURN навсегда останется частью блокчейна.

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

Что касается фактического доступа к данным, помимо API Blockchain.info, я думаю, вы могли бы запустить узел Toshi локально (на своем собственном оборудовании). Поскольку он использует PostgreSQL, вы можете просто запросить блокчейн, как и любую базу данных. Таким образом, вы не зависите от какого-либо внешнего API, который может стать злым или отключиться. Однако требования к жесткому диску огромны (даже хуже, чем у полного узла Bitcoin Core).

Спасибо за ответ, многое проясняется. Что касается Тоши, то это действительно интересный проект, обязательно займусь им. В нем говорится, что служба Toshi будет удалена через несколько дней, и похоже, что в API много ошибок. Знаете ли вы о каких-либо подобных самостоятельных проектах, которые позволяют каким-либо образом запрашивать блокчейн?