Кто-то называет биткоин единой глобальной валютой, кто-то приравнивает его к золоту. Однако реже всего первую криптовалюту сравнивают с соцсетью. Специально для ForkLog учредитель и CEO компаний AMLBot и AMLSafe Вячеслав Демчук рассказал о сигнальном общении в сети биткоина. Это возможность транзакций вместо монет передавать послания, которые остаются в блокчейне навсегда. Иногда это целые манифесты.
Содержание статьи
Известные сообщения в блокчейне
Первую запись в блокчейне биткоина сделал создатель криптовалюты Сатоши Накамото. В генезис-блоке он разместил заголовок британской газеты The Times от 3 января 2009 года «Chancellor on brink of second bailout for banks» («Канцлер готов оказать повторную помощь банкам»). Статья рассказывала о политике выкупа долгов крупных банков государствами после мирового финансового кризиса 2008 года. Оба этих события стали стимулами для появления криптовалют. Таким образом Сатоши не только зафиксировал время отсчета первого блока, но и оставил идеологическое послание последователям.
Повторить историю перед халвингом в мае 2020 года решил сооснователь F2Pool Ван Чунь. Его пул подписал последнюю транзакцию перед сокращением награды за блок и включил в нее заголовок The New York Times от 9 апреля 2020 года «With $2.3T Injection, Fed’s Plan Far Exceeds 2008 Rescue» («Влив $2,3 трлн, ФРС значительно превзошла пакет помощи 2008 года»). 3 декабря 2020 года старейший майнинг-пул SlushPool увековечил в блоке #659678 заголовок Reuters «Dollar plummets on U.S. stimulus hopes; bitcoin hits all-time peak» («Доллар падает на фоне ожидания стимулов в США; биткоин достиг нового максимума»). Статья рассказывала об ослаблении доллара на фоне достижения биткоином 1 декабря максимума выше $19 900. Пулы тщательно подбирают правильный месседж. Блокчейн стал вполне рабочим форумом, который позволяет не только обмениваться мнениями, но и собирать статистику и даже рекламировать свою организацию. Все благодаря возможности сделать запись в coinbase-транзакции – основе блока, который будет добыт. У майнинговых пулов есть своя coinbase-подпись, которая зачастую совпадает с их названием: Slush – для SlushPool, ozcoin – для Ozco.in, F2Pool, Binance, BTC.COM и ViaBTC. В блоке #657402 расшифровывается подпись «Mined by pk888» («добыто pk888»). Среди схожих сообщений часто попадаются приветствия, поздравления и другая информация: «С новым годом! Ваш GHash.IO», «Добыто на ASIC-майнере», «Привет от 50BTC.com», «Сделано в Китае». Позже майнеры даже смогли голосовать с помощью этих записей. Скрипт P2SH в мультиподписи BIP16 позволяет отправлять транзакции на хеш скрипта вместо хеша публичного ключа (такие адреса начинаются с тройки, а не с единицы). Записи типа «BTC Guild /P2SH/» и «/P2SH/BIP16/slush/R» присутствуют во многих блоках, сгенерированных в 2012 году (например, #169000, #169100, #169156, #169163, #169170, #175134, #200000). Более того, в сети биткоина хранится около 400 любовных посланий, более 10 предложений руки и сердца, сообщение о рождении сына и даже молитвы.Как записать сообщение в блокчейн
Coinbase
Если вы майнер, то описанный выше метод поможет добавить около 100 байт данных.
OP_Return output
Скрипт OP_RETURN делает выход транзакции недействительным и открыто создает нерасходуемые UTXO (при этом пересылаемое вами минимальное количество биткоинов сгорает). Этот метод позволяет сохранять до 80 байт информации в каждой транзакции и является прозрачным способом передачи данных. Именно такие транзакции отслеживают многие сайты, которые собирают записи из блокчейна. Американский инженер-программист Кэн Ширрифф предложил простую схему шифрования, которая подойдет для сообщения из 20 символов. Для этого нужно:
- преобразовать текст в шестнадцатеричный формат (из ASCII в HEX);
- перевести получившееся значение в адрес с помощью сервиса «hash to address» в блокчейн-обозревателях типа blockchain.com. Ставим это значение после слеша и получаем «фейковый» адрес;
- отправить на этот адрес минимальное количество сатоши для осуществления транзакции (важно: биткоины нельзя будет вернуть). Как только блок с этой транзакцией добудут, ваше сообщение навсегда запишется в этот блок.
На BitcoinStrings можно просмотреть текстовые записи на блокчейне.
Pay-to-Fake-Key (P2FK)
Чтобы воспроизвести этот метод, вставьте данные как фейковый публичный ключ (см. метод Ширриффа). Это позволяет внести до 33 байт сжатых данных или 65 байт несжатых. Пересылаемые сатоши сгорают.
Pay-to-Fake-Key-Hash (P2FKH)
Этим способом нужно вставить сообщение в виде фейкового хеша публичного ключа (поле PubKeyHash) в скрипт выхода. Таким образом создаются нерасходуемые UTXO. Так возможно доставить до 20 байт данных в каждом выходе, генерируя множество выходов в одной транзакции.
Pay-to-Fake-Multisig (P2FMS)
Данный метод предполагает использование настоящего публичного ключа вместе с одним или двумя фейковыми. Таким образом можно зашифровать данные с мультиподписью. P2FMS отличается от предыдущих вариантов возможностью потратить биткоины. Каждая транзакция содержит несколько P2FMS-выходов, а фейковый публичный ключ дает возможность передать до 65 байтов каждый.
Pay-to-Fake-Script-Hash (P2FSH)
Мы уже упоминали P2SH в контексте голосования майнеров. Передача сообщений по данной схеме, но с фейковым хешем скрипта, работает по принципу четвертого способа (P2FKH). Произвольные данные хранятся в скрипте выкупа (redeem script) или в скрипте входа, который ему предшествует. Создающиеся в процессе UTXO тоже нерасходуемые.
Rick-rolling
Rick-rolling – это старая шутка, когда серьезный текст или изображение имеют скрытое послание. Она берет начало из пранка, когда жертве под видом клипа Never Gonna Give You Up Рика Эстли отправляют гиперссылку на любой другой ресурс. В контексте биткоина речь идет о переименовании части адреса на желаемое слово. Эти адреса в списке транзакций будут сочетать в себе послание. Но часто считаются спамом.
Сервисы для записи сообщений в блокчейн
Если же вам лень разбираться самим, разработчики создали ряд сервисов:
- Eternity Wall – уже недоступен, но ранее позволял сохранить уникальное сообщение в блокчейне и отображать его на электронной стене.
- BitScribble – предоставляет возможность отправить до 80 символов за 43 187 сатоши (0,00043 BTC). Сервис использует OP_Return output, рассмотренный ранее.
- Apertus – аппаратное решение, которое помогает сохранять и читать данные на разных блокчейнах.
- CryptoGraffiti – визуальное путешествие по картинкам, которые были зашифрованы в биткоин-транзакциях.
Как прочитать зашифрованное сообщение
Чтобы прочитать зашифрованное послание в определенной транзакции, необходимо отыскать хеш блока, в который она включена. В этом поможет любой обозреватель: например, Blockchain.com. Интересующей нас идентификатор транзакции вставляем в окно поиска. Выбираем блокчейн (биткоин или Bitcoin Cash), в разделе «Хеш» находим необходимую строку с символами. После этого предстоит перевести данные в формат RAW. Для этого можно воспользоваться API для «rawblock» или прописать «getblock ‘hash’ 0» при работе с Bitcoin Core. На выходе будет разное количество символов. Копируем их и вставляем в HEX–ASCII конвертер (через таблицу ASCII он преобразует шестнадцатеричный формат в читабельный текст). Хотя полученный отрезок данных и будет содержать информацию из всех транзакций блока, не все они заключают в себе какое-то послание. Сообщения могут находиться между множеством не связанных символов.
Спам и другие проблемы
Однажды клиент AMLBot рассказал, что на его адрес отправили [simple_tooltip content=’мелкие платежи в несколько сатоши’]пыль[/simple_tooltip] с целью «очернить». В итоге оказалось, что пользователь попал под обыкновенный спам и ничего страшного в этом не было. Наши партнеры из Crystal Blockchain провели анализ подобных рекламных кампаний. Вот два ярких примера.
Кейс BestMixer
Команда Bitfury Crystal Blockchain начала исследование после того, как несколько участников онлайн-форумов сетовали на подозрительные транзакции. Объединял их один и тот же адресант – BestMixer. Это анонимный онлайн-сервис для скрытия биткоинов с высоким индексом риска. BestMixer отправил 57 транзакций приблизительно на 47 тысяч адресов по 888 сатоши каждый. Это были либо адреса с крупным балансом биткоинов, либо недавно активированные. По оценке команды Crystal, это стоило BestMixer всего 0,416 BTC. Однако пользователям бирж Bitfinex и Bitflyer пришлось заплатить депозитные комиссии. Минимум 360 владельцев адресов заплатили по 0,0004 BTC (в совокупности более $950 на тот момент).
Кейс Laxo Trade
Ребята из Laxo Trade были чуть щедрее, но и нанесли потенциально меньше вреда. На скриншоте вверху видно одну из 109 транзакций, совершенных с адреса 1LaxoTrQy51LnB289VmoSAgN6J6UrJbfL9, который содержит имя организации вначале. Основная часть кампании пришлась на 6-7 сентября 2015 года и была нацелена на 12 173 адресов, а ориентировочная стоимость составила всего $68.
В заключение
Теперь вы знаете, что в блокчейн можно записать сообщение. Транзакции скрывают много интересного! Подписывайтесь на новости ForkLog в Telegram: ForkLog Feed — вся лента новостей, ForkLog — самые важные новости и опросы.