Как взломать Bitcoin? Часть 1
Цикл статей о том, как взломать Bitcoin?
Узнав о крипто-валюте Bitcoin, я как человек не воспринимающий ничего на веру, решил протестировать Bitcoin на уязвимость. В конце концов, Bitcoin создан человеком, которому свойственно ошибаться;)
Потратив некоторое время на изучение того, как устроен Bitcoin я пришел к выводу, что с криптографией бороться бессмысленно (пока у меня нет квантового компьютера ;)), а вот с человеческой тупостью можно поработать!
Теория
Как известно, для получения адреса (публичный и приватный ключи) в криптовалюте необходимого сгенерировать случайное число размером 256-бит, что равно 32-байтам (из уроков информатики 1-байт равен 8-бит). Для этой цели идеально подходит алгоритм хеширования SHA-256.
Для справки.
SHA-256 - криптографический алгоритм - однонаправленной хеш-функций. При изменении хотя бы одного исходного символа около половины символов значения хеш-функции меняется. 1-байтом можно выразить 16 чисел от 0 до f (шестнадцатеричная система), всего 32 байта. Количество возможных комбинаций "C" вычисляется по формуле классической задачи комбинаторики о числе размещений с повторениями C=16^32= 3,4028236692093846346337460743177e+38. Остается надеяться на тупость ;)
Практика
Приведу простой пример! Какое имя псевдонима у создателя(-ей) крипто-валюты Bitcoin? Правильно "Satoshi Nakamoto"!
Заходим на сайт http://www.xorbin.com/tools/sha256-hash-calculator для вычисления хеша от псевдонима.
Получаем хеш "a0dc65ffca799873cbea0ac274015b9526505daaaed385155425f7337704883e".
Далее заходим на сайт https://www.bitaddress.org/ генерации онлайн адресов Bitcoin, двигаем мышью пока не сгенерируется случайное число и переходим в раздел " Wallet Details" и в вставляем наш хеш в поле "Enter Private Key".
Видим два адреса " Bitcoin Address" - не сжатый и "Bitcoin Address Compressed" - сжатый (сжатый и не сжатый рассмотрим в следующих статьях) и приватные ключи к ним (приватный ключ нужен для осуществления доступа к адресу и проведения транзакций - это то, что и делает Bitcoin таким защищенным).
Переходим на сайт исследователя блокчейна Bitcoin https://blockchain.info/ и вставляем наши адреса в окошко поиска.
https://blockchain.info/address/1JryTePceSiWVpoNBU8SbwiT7J4ghzijzW
Всего получено: 0.02181364 BTC. Последняя транзакция 2017-01-14 23:08:55 ;) https://blockchain.info/address/17ZYZASydeA1xyfNrcYcLyqghmK3eGJpHq
Всего получено: 0.000254 BTC
Можете пока побаловаться в надежде угадать кошелек с лежащими там BTC! В следующей статье я расскажу о том, как этот процесс автоматизировать и выложу рабочий код.
Голосуйте за статью, подписывайтесь!
Мы сейчас развиваем новый проект Global Energy Network - сеть распределенной энергетики на блокчейн https://globalenergy.network
_____
P.S.
Если Вам нужен адрес крипто-валюты Bitcoin для использования не генерируйте его онлайн или сторонними программами, не облегчайте жизнь хакерам;) Используйте официальный клиент узла сети!