Оставь след в Вечности. Учимся засовывать ерунду в блокчеин

Оставь след в Вечности. Учимся засовывать ерунду в блокчеин

Кажется мир потихоньку уже отошёл от первого шока криптовалют, и на развалинах первой волны криптостартапов появляются уже весьма здравые идеи о том, как использовать технологии bitcoin "в мирных целях" (ну то есть без наркорынков и попыток свергнуть национальные валюты).

Деревья Меркла, блокчейны (blockchain) и распределенные леджеры (distributed ledger) заплели половину силиконовой долины и Эстонии (благодаря упрощённому электронному способу регистрации юрлиц в этой стране).

Блокчеин предлагается сегодня как лекарство от любых болезней, и, кстати, заслуженно, ведь блокчеин обладает рядом уникальных свойств:
1. открыто всё: от транзакций до исходных кодов клиентов и служб
2. децентрализация/распределённость и, как следствие, высочайшая отказоустойчивость и доступность. Только в сети bitcoin сейчас 6000 полноценных нод, размазанных по всей планете
3. невозможность подделки блоков - главная особенность всех криптовалют. Целостность 80 уровня!
4. временные метки идут в комплекте с любой транзакцией
5. дешево! Стоимость добавления информации в блокчеин равна минимальной стоимости транзакции (то есть десятые доли цента)
6. достаточно анонимно. Транзакцию можно запустить в сеть через Tor. Транзакция облетит несколько сотен/тысяч нод прежде чем попасть в блокчеин. Ноды по-умолчанию не хранят IP адреса источников транзакций.

Первое альтернативное применение блокчейна - это УЦ. Далее - DNS, регистрация документов, обмен публичными ключами или крипточат!

Чуть более сложные вещи - это  цветные монеты и умные контракты. Оба этих феномена способны со временем совершить революцию в финансовом мире. При благоприятном развитии событий лет эдак через 5  KSI  заменит RSA, а Ripple будет соперничать со SWIFT!

Так как же использовать блокчеин в своих целях? Мануальчик под катом.

Сегодня для хранения произвольной информации размером до 80 байт используют специально созданное для этого служебное поле транзакции OP_RETURN. Транзакции можно соединять в цепочки, что позволяет хранить данные произвольного размера, но блоками по 80 байт. Учитывая, что каждая транзакция стоит как минимум 0.0001 биткоин (2-3 цента), несколько килобайт - это, пожалуй, максимум.

Что можно поместить в 80 байт?

1. 256 битный хэш (SHA256) + 8 байтовый произвольный идентификатор
2. 40 символов английского текста (шифровку? сообщение адресату? URL? CTF флаг?)

Как поместить данные в биткоин блокчеин?

  1. качаем официальный клиент bitcoin-core
  2. запускаем и оставляем на сутки синхронизировать блокчеин (~40 ГБ)
  3. переводим немного биткоинов на кошелек чтобы было чем платить за транзакции (рекомендуемый размер платы за транзакции сейчас  - 0.0001 BTC)
  4. создаем в папке bitcoin фаил bitcoin.conf  (C:UsersusernameAppDataRoamingBitcoinbitcoin.conf) с содержимым:

  5. server=1
    rpcport=8332
    rpcuser=user
    rpcpassword=some_random_password
  6. качаем cygwin+python (опционально)
  7. качаем  библиотеки для питона, правим пути к bitcoin.conf, увеличиваем размер поля OP_RETURN до 80 байт
  8. запускаем
python store-OP_RETURN.py <data>
Копируем поле transaction ID (tx) и смотрим в любом блокчейне. Например тут
Всё! Через 5-10 минут информация будет записана в текущий блок транзакций. Спустя пару часов удалить её оттуда будет невозможно.
К сожалению, удобных поисковиков по блокчейну в данный момент нет, но последние транзакции, имеющие непустое поле OP_RETURN, можно просматривать тут.

Что ещё почитать?



Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.
310K
долларов
до 18 лет
Антипов жжет
Ребёнок как убыточный
актив. Считаем честно.
Почему рожают меньше те, кто умеет считать на десять лет вперёд.

Артем Агеев

root@itsec.pro:~#

FREE
100%
Кибербезопасность · Обучение
УЧИСЬ!
ИЛИ
ВЗЛОМАЮТ
Лучшие ИБ-мероприятия
и вебинары — в одном месте
ПОДПИШИСЬ
T.ME/SECWEBINARS