Для подбора приватных ключей, в частности для решения задачки btc puzzle, можно воспользоваться программным решением с открытым исходным кодом keyhunt.
Я буду выполнять все операции применительно к ubuntu/debian на десктопном компьютере с процессором Intel Xeon E5-2686 v4.
Шаг 1. Готовим систему, ставим необходимые пакеты и библиотеки
apt update && apt upgrade
apt install git -y
apt install build-essential -y
apt install libssl-dev -y
apt install libgmp-dev -y
или, если аккаунт не с полными правами, то используем sudo
sudo apt update && sudo apt upgrade
sudo apt install git -y
sudo apt install build-essential -y
sudo apt install libssl-dev -y
sudo apt install libgmp-dev -y
Шаг 2, скачиваем keyhunt и собираем приложение:
sudo git clone https://github.com/albertobsd/keyhunt.git
cd keyhunt
sudo make
./keyhunt -h
Последней командой мы проверяем, что приложение работает и выводит подсказку.
Шаг 3, копируем свой файл с ключами, или используем готовые примеры, для решения паззлов.
Например, в паззле 66 вознаграждение составляет около 6 биткойнов, что по текущему курсу около 400 000 usdt.
Для индивидуального поиска с помощью keyhunt воспользуемся этой командой:
cd keyhunt
./keyhunt -m address -f tests/66.txt -b 66 -l compress -R -q -s 10 -t 6
Какие аргументы мы используем:
-f tests/66.txt # указываем файл с ключами
-l compress # ведем поиск по сжатым ключам
-t 6 # указываем количество потоков (threads) нашего процессора
Как посмотреть актуальную загрузку процессора, памяти, диска, сети?
Можно воспользоваться командой top
top
Как сгенерить красивый адрес биткойн?
Например, начинающийся с префикса 1btc:
./keyhunt -m vanity -l uncompress -R -t 4 -v 1btc
С помощью данной команды мы ищем случайные кошельки, начинающиеся с префикса 1btc. Гипотетически таких кошельков очень много, триллионы или больше, и несколько штук можно найти за 1 минуту.
Как подобрать приватный ключ к потеряному кошельку?
Бывают ситуации, когда забываешь приватный ключ от своего кошелька. Можно попробовать подобрать приватный ключ, хотя шансы ничтожно малы. Для этого сохраним адрес кошелька в файл my-addr.txt в домашней директории и сделаем поиск по ключам, указанным в файле. В качестве параметров указываем количество потоков (20), -R для random, и тип адреса из файла, сжатый или несжатый, или оба.
./keyhunt -t 20 -l uncompress -R -f ~/my-addr.txt # если адрес несжатый
./keyhunt -t 20 -l compress -R -f ~/my-addr.txt # если адрес сжатый
./keyhunt -t 20 -R -f ~/my-addr.txt # если не знаем и проверяем оба