Скрытые сюрпризы и секреты blockchain

1015 1 Время чтения: 16 мин. Сoinspot

Как известно, каждая биткоин-транзакция хранится в распределенной базе данных, известной как blockchain (блокчейн). Однако пользователи нашли способы взлома биткоин-протокола, для того чтобы хранить там информацию не только о сделках. Путешествуя по блокчейну, можно найти много странных и любопытных вещей, от картинок до программных кодов на JavaScript, Python и Basic. И если вы используете биткоин-клиент, вероятно, все эти данные прямо сейчас хранятся на вашем компьютере!

Посвящение Нельсону Манделе

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

Нельсон Мандела (1918-2013)

“Я глубокий оптимист. Не могу сказать, пришло это от природы или с воспитанием. Одна часть оптимизма помогала держать голову  навстречу солнцу, а другая – двигала мной вперед. Было много темных моментов, когда моя вера в человечество подвергалась тяжелым испытаниям, но я не хотел и не мог предаваться отчаянию”.
“Я узнал, что мужество – это не отсутствие страха, а победа над ним. Храбрый человек – не тот, кто не боится, а тот, кто преодолел свой страх”.
“Трудности ломали некоторых людей, но создавали других. Не существует достаточно острого топора, способного лишить души грешника, который продолжает бороться, один, вооруженный надеждой на вознесение, пусть и в самом конце”.
“Многие вещи кажутся невыполнимыми до тех пор, пока их не сделаешь”.
“Образование – это самое мощное оружие, с помощью которого можно изменить мир”.

Ниже приведена выдержка одной из транзакций, хранящих информацию о Нельсоне Манделе. Можно увидеть, что небольшое количество биткоинов было отправлено на несуществующие адреса, такие как15gHNr4TCKmhHDEG31L2XFNvpnEcnPSQvd. Данный адрес хранится в блокчейне в шестнадцатеричной форме: 334E656C736F6E2D4D616E64656C612E6A70673F. Если перевести шестнадцатеричные байты в Юникод, вы получите строку 3Nelson-Mandela.jpg, являющуюся названием файла с изображением Манделы. Остальные адреса, в свою очередь, содержат данные для построения этого изображения. Таким образом, блокчейн позволяет хранить текст, изображения и другую информацию в виде несуществующих биткоин-адресов.

Секретное сообщение в первом биткоин-блоке

Известный факт, что генезис-блок — первый блок данных в биткоин-сети — содержал секретное сообщение. Параметр блока под названием coinbase содержал следующую строку:
“The Times 03 / Янв / 2009 Канцлер готов оказать повторную помощь банкам”.
Нетрудно догадаться, что сообщение является отсылкой к номеру газеты The Times от 3 января 2009 года, выпущенной в разгар финансового кризиса. Вероятно, Сатоши Накамото, поместивший данную запись в самый первый блок, хотел поиронизировать на тему неплатежеспособности банковского сектора.

Логотип Bitcoin

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

Молитва майнера

Однажды один из майнеров пула Eligius под ником luke-jr начал размещать католические молитвы на английском языке и латыни в параметре блока coinbase. Вот несколько примеров:

“Benedictus Sanguis eius pretiosissimus.

Benedictus Iesus in sanctissimo altaris Sacramento.

Ave Maria, gratia plena, Dominus tecum. Benedicta tu in mulieribus, …

…и жизнь вечная, благодаря  деяниям Иисуса Христа, Господа моего и Спасителя.

О, сердце Иисуса воспылало любовью к нам, разжигая наши сердца любовью к Тебе.

Иисус, твое сердце, кроткое и смиренное, делает мое сердце подобным твоему!

Такая идея далеко не всем пришлась по душе, что привело к череде оскорблений, которыми пользователи обменивались через блокчейн:

“Бога не существует, придурок, хватит засорять блокчейн своей ерундой”.

“Ради всех чертей, оставь блокчейн в покое!”

Ответ был следующим:

“Воинствующие атеисты, ССЫЛКА, теперь вы счастливы?”

С тех пор техника шифрования использовалась многими майнерами для рекламы. Нередкими стали сообщения подобного рода:

“Привет от 50BTC.com”; “Пирсу и Полу, которые майнят на GIVE-ME-COINS.com”; “С новым годом! Ваш GHash.IO”; “Добыто с помощью ASICMiner”; “BTC Guild”; “Made in China”; “BitMinter”; “привет от poolserverj”; “ozcoin/stratum”

XSS Demo

В блокчейне можно найти даже JavaScript-код, который демонстрирует потенциальную XSS-атаку (межсайтовый скриптинг). Она заключается во внедрении в выдаваемую веб-страницу вредоносного кода (он выполняется на компьютере пользователя при открытии им этой страницы). Выходной сценарий транзакции содержал следующую строку:

“<script>window.alert(«Если бы это было взаправду, ваш кошелек был бы уже пуст .»)</script>”

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

Посвящение Лену Сэссэмэну

Посвящение криптографу Лену Сэссэмэну было добавлено в блокчейн известным хакером Дэном Камински спустя несколько недель после смерти Лена.

---НАЧАЛО ТРИБЬЮТА---
#./BitLen
:::::::::::::::::::
:::::::.::.::.:.:::
:.: :.' ' ' ' ' : :
:.:'' ,,xiW,"4x, ''
:  ,dWWWXXXXi,4WX,
' dWWWXXX7"     `X,
 lWWWXX7   __   _ X
:WWWXX7 ,xXX7' "^^X
lWWWX7, _.+,, _.+.,
:WWW7,. `^"-" ,^-'
 WW",X:        X,
 "7^^Xl.    _(_x7'
 l ( :X:       __ _
 `. " XX  ,xxWWWWX7
  )X- "" 4X" .___.
,W X     :Xi  _,,_
WW X      4XiyXWWXd
"" ,,      4XWWWWXX
, R7X,       "^447^
R, "4RXk,      _, ,
TWk  "4RXXi,   X',x
lTWk,  "4RRR7' 4 XH
:lWWWk,  ^"     `4
::TTXWWi,_  Xll :..
=-=-=-=-=-=-=-=-=-=
LEN "rabbi" SASSAMA
     1980-2011
Лен был нашим другом.
Хитрый интриган с
блестящим умом и
доброй душой.
Муж Мередит,
брат Кальвина, сын
Джима и Даны
Хартшорн.
Соавтор, соучредитель
и "Шму".Мы посвящаем
эту глупую проделку 
Лену, который 
наверняка нашел 
бы ее очень 
забавной.
--Дэн Камински,
Трэвис Гудспид.
P.S. Мои извенения
биткоин-сообществу,
но Лен всегда смеялся
на счет зависимости
биткоина от этого
человека
   ASCII BERNANKE
:'::.:::::.:::.::.:
: :.: ' ' ' ' : :':
:.:     _.__    '.:
:   _,^"   "^x,   :
'  x7'        `4,
 XX7            4XX
 XX              XX
 Xl ,xxx,   ,xxx,XX
( ' _,+o, | ,o+,"
 4   "-^' X "^-'" 7
 l,     ( ))     ,X
 :Xx,_ ,xXXXxx,_,XX
  4XXiX'-___-`XXXX'
   4XXi,_   _iXX7'
  , `4XXXXXXXXX^ _,
  Xx,  ""^^^XX7,xX
W,"4WWx,_ _,XxWWX7'
Xwi, "4WW7""4WW7',W
TXXWw, ^7 Xk 47 ,WH
:TXXXWw,_ "), ,wWT:
::TTXXWWW lXl WWT:
---КОНЕЦ ТРИБЬЮТА---

Симулятор жизни

Небольшой симулятор, написанный на языке Basic. Смысл в том, что 5 существ бродят по экрану, поедая пищу, размножаясь и умирая. К сожалению, в коде допущено много ошибок и он не работает.

Биткоин-инструкция

В этой транзакции спрятан PDF-файл с оригинальной биткоин-инструкцией, аналогичной той, что хранится на bitcoin.org.

[youtube height=»HEIGHT» width=»WIDTH»]http://www.youtube.com/watch?v=dQw4w9WgXcQ[/youtube]

Рикроллинг (Rickrolling) является популярной интернет-шуткой, заключающейся в выдаче ссылки на клип Рика Эстли Never Gonna Give You Up вместо искомого видео или вообще чего угодно. Один Рикролл вы уже могли встретить выше (в молитве майнера). А вот второй, содержащий слова к песне (используется операция OP_RETURN). Третий Рикролл содержит метаданные песни и слова к ней, закодированные в  Base-64:

Catagory: Poetry
Title: Never Gonna Give You Up
Performer: Rick Astley
Writer: Mike Stock, Matt Aitken, Pete Waterman
Label: RCA Records
Released: 27, July, 1987

We’re no strangers to love
You know the rules and so do I
A full commitment’s what I’m thinking of
You wouldn’t get this from any other guy
I just wanna tell you how I’m feeling
Gotta make you understand

Never gonna give you up,
Never gonna let you down
Never gonna run around and desert you

Фото

Недавно кто-то сумел построить настоящую систему хранения сообщений поверх биткоин-транзакций, которая позволяет создавать последовательность текста и изображений.

В этой системе можно найти текст из Бхагавад-Гиты, число Пи с тысячей знаков после запятой, множество JPG и PNG-изображений, стихотворения Шела Силверстайна и Руми, различные цитаты. Ниже примеры некоторых изображений, которые вы можете найти в системе.

Хранилище Wikileaks

Кто бы мог подумать, но оказывается, блокчейн содержит архив на 2,5 Мб с секретными документами Wikileaks и инструкцию для доступа к нему:

“Wikileaks Cablegate Резервное копирование

cablegate-201012041811.7z

Загрузите следующие транзакции с помощью инструмента Сатоши Накамото [имеется в виду инструмент для добавления/извлечения данных в блокчейн, впрочем, вряд ли его автором является сам Накомото]:

6c53cd987119ef797d5adccd76241247988a0a5ef783572a9972e7371c5fb0cc

Свобода слова и свобода предпринимательства! Спасибо Сатоши!” [далее следуют адреса 130 транзакций, которые мы по понятным причинам приводить не будем].

Программный ключ и незаконные простые числа

Данная транзакция содержит ссылку на новость об утечке исходного кода и секретного ключа для “прошивки” ПО от производителя American Megatrends Inc и сопровождается одним килобайтом шестнадцатеричных чисел. Вероятно, данный текст и является украденным секретным ключом.

Кроме того, эта транзакция связана с другой, отсылающей к странице Википедии о «незаконных простых числах», используемых для хранения и распространения охраняемой законом информации. В ней также зашифрованы 2 простых числа, которые, предположительно, являются незаконными.

И, наконец, самое любопытное: на основе последней транзакции была создана еще одна, содержащая архив Wikileaks, который мы рассмотрели ранее. Так что, вполне вероятно, все выше перечисленное – дело рук одного человека. Похоже, кто-то использовал блокчейн для хранения не совсем легальной информации разного рода. Возможно, это даже сам Джулиан Ассанж, который, как известно, является одним из самых давних биткоин-пользователей. Впрочем, в реальности о личности и мотивах этого человека остается лишь догадываться.

Email от Сатоши Накамото

Письмо следующего содержания, якобы написанное создателем биткоина Сатоши Накамото, можно обнаружить в блокчейне:

От: a3a61fef43309b9fb23225df7910b03afc5465b9

Пн 17 сентября 00:00:00 2001

От: Сатоши Накамото satoshin@gmx.com

Дата: Пн, 12 августа 2013 2:28:02 -0200

Тема: [ПАТЧ]

Я удалил это из f1e1fb4bdef878c8fc1564fa418d44e7541a7e83 7 сентября 2010, почти три года назад. Учтите, что я не протестировал этот патч.

backends/bitcoind/deserialize.py | 8 +——-
1 file changed, 1 insertion(+), 7 deletions(-)

diff —git a/backends/bitcoind/deserialize.py b/backends/bitcoind/deserialize.py
index 6620583..89b9b1b 100644
— a/backends/bitcoind/deserialize.py
+++ b/backends/bitcoind/deserialize.py
@@ -280,10 +280,8 @@ opcodes = Enumeration(«Opcodes», [
«OP_WITHIN», «OP_RIPEMD160″, «OP_SHA1″, «OP_SHA256″, «OP_HASH160″,
«OP_HASH256″, «OP_CODESEPARATOR», «OP_CHECKSIG», «OP_CHECKSIGVERIFY», «OP_CHECKMULTISIG»,
«OP_CHECKMULTISIGVERIFY»,
— («OP_SINGLEBYTE_END», 0xF0),
— («OP_DOUBLEBYTE_BEGIN», 0xF000),
«OP_PUBKEY», «OP_PUBKEYHASH»,
— («OP_INVALIDOPCODE», 0xFFFF),
+ («OP_INVALIDOPCODE», 0xFF),
])
@@ -293,10 +291,6 @@ def script_GetOp(bytes):
vch = None
opcode = ord(bytes[i])
i += 1
— if opcode >= opcodes.OP_SINGLEBYTE_END and i < len(bytes):
— opcode <<= 8
— opcode |= ord(bytes[i])
— i += 1

if opcode <= opcodes.OP_PUSHDATA4:
nSize = opcode

1.7.9.4

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

Текст в биткоин-адресах

Биткоин-адрес в текстовой форме представляет собой строку длиной до 34 символов, состоящую из букв латинского алфавита и цифр. Есть где развернуться для размещения сообщений в адресе своего кошелька, однако существует ряд ограничений.

Размещение сообщений в текстовом адресе заключается в переборе миллионов или миллиардов закрытых ключей (private keys) в надежде получить искомую комбинацию букв или цифр. Примером адресов, сгенерированных подобным образом, является 1ArmoryXcfq7TnCSuZa9fQjRYwJ4bkRKfv, принадлежащий Bitcoin Armory. Обратите внимание, что удалось получить только последовательность из 6 символов, остальные являются случайными. Стать владельцем адреса вроде этого может каждый желающий. Для этого можно воспользоваться программой Vanitygen или веб-сайтами вроде bitcoinvanity.

Вы, конечно же, можете создать любой ASCII-адрес по своему желанию (он должен начинаться с 1 и заканчиваться контрольной суммой из шести символов). Но поскольку закрытые ключи для таких адресов неизвестны, любые отправленные на них средства будут утеряны навсегда. Удивительно, но некоторые из таких адресов получили значительное количество биткоинов. Например, на1BitcoinEaterAddressDontSendf59kuE было оправлено более 1,6 BTC, а на 1111111111111111111114oLvT2 – почти 3 BTC.

К слову, на этом принципе основывается киптовалюта Counterparty. При ее запуске пользователи отправили на адрес 1CounterpartyXXXXXXXXXXXXXXXUWLpVr более 2130 биткоинов, фактически уничтожив их. Взамен потерянных биткоинов разработчики Counterparty выпускали собственную валюту – XCP. Такую концепцию назвали «proof-of-burn» – доказательство уничтожения (по аналогии с Proof-of-work, используемой в биткоине). По мнению создателей, такая модель распределения валюты является более справедливой, чем майнинг.

Таинственные зашифрованные данные

В блокчейне есть множество загадочных вещей, смысл которых неясен. Так, в период с июня по сентябрь 2011 было осуществлено более тысячи крошечных транзакций (от 1 до 45 Сатоши), отсортированных в порядке убывания, на сотни случайных адресов. С виду данные в транзакциях абсолютно случайны. Однако не исключено, что некое секретное сообщение содержится в адресах и суммах транзакций. Вот некоторые из подозрительных адресов: 18qr2srETSvQq4kP7yBYRqQ4LzmjhtRmcD, 1MaZAHzEFfinRJ2dwK6YtNDfvWMBkiAxDr,1AgwESN7RKNZtaqzbqu6kPg3RS6C2qCgHi, 1AZUPm5PC5QguquNsBg7HhWUYz5dfm2nU9, и1J1aR7ayNp9sma8QVyyWGF87PzDU1vp5BD.

Вспомним еще раз транзакцию с архивом Wikileaks. Дело в том, что измененный адрес транзакции использовался для отправки через блокчейн трех (1,2,3) закодированных CPG-файлов по 86 килобайт каждый. Из чисел в начале этих файлов можно понять, что они зашифрованы с помощью CAST5 [алгоритм симметричного шифрования]. Однако их содержимое остается загадкой, поскольку без ключевой фразы их расшифровка не представляется возможной.

Как отправить сообщение через блокчейн?

Очень просто! Запишите свое сообщение в строку из 20 символов.

Затем преобразуйте ее в шестнадцатеричный формат, например, на языке Python это делается следующим образом:

http://righto.com/bc&#8217;.encode(‘hex’)

Теперь необходимо преобразовать шестнадцатеричное число в биткоин-адрес. Это можно сделать онлайн по ссылке:

https://blockchain.info/q/hashtoaddress/ваше шестнадцатеричное число

Отправьте небольшое количество биткоинов по этому адресу. Как только блок с транзакцией будет добыт одним из майнеров, ваше сообщение отобразится в блокчейне. Пример текстового сообщения можно увидеть здесь.

Учтите, отправленные биткоины будут потеряны навсегда! Так что посылайте очень малые суммы.

Резюме

Пользователи нашли множество способов хранения в блокчейне самых разных вещей. Рассмотренные в этой статье – лишь малая часть из них. Вы можете продолжить изучение блокчейна самостоятельно. Кто знает, какие “сокровища” вам удастся откопать!

Источник: Ken Shirriff’s blog Перевод: bitnovosti

  • http://vk.com/id124212262 Виталий Шишкин

    копипастеры

Новости о цифровых валютах, финтех-трендах и финансовых инновациях

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

Полное или частичное использование материалов сайта разрешается только с письменного разрешения редакции, при этом ссылка на источник обязательна!

Подпишитесь на Email рассылку о новые статьях и важных новостях от Coinspot.io