Генератор адресов бумажных кошельков Bitcoin и других криптовалют

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

Генератор адресов для бумажных кошельков с криптовалютой – Walletgenerator помогает создать счета оффлайн. Т.е. без подключения к интернету можно сделать новый адрес и распечатать к нему ключи на бумаге.

На этом этапе точно никто не сможет украсть данные, а для длительного хранения альткоинов, это отличный вариант.

Что такое бумажный кошелек и зачем нужен Walletgenerator?

Хранение ключей от крипто кошелька на бумаге – надежный способ защиты от злоумышленников.

Когда данные хранятся за пределами компьютера и через интернет к ним нет доступа, остается только физическое воровство информации. В этом случае думать нужно уже о сохранности листка бумаги, где распечатан QR код.

Сервис Walletgenerator предлагает генерацию адресов под разную криптовалюту в режиме оффлайн. Т.е. даже при создании нового бумажного кошелька, злоумышленники точно не смогут добраться до приватного ключа.

Для удобства, эта информация переносится в QR код, который потом легко считать приложениями на мобильных устройствах.

Генератор адресов бумажных кошельков Bitcoin и других криптовалют

Система уникальная в своём роде, это вы поймете, когда посмотрите инструкцию по её использованию. О проекте мы уже говорили в другой статье про НЕ ОПУБЛИКОВАНА!!!бумажные кошельки криптовалют.

Аналогов полно, но они вряд ли вам потребуются, потому что здесь поддерживается множество альткоинов и всё на русском языке.

Инструкция по Walletgenerator

Когда вы зайдете на данный сайт, по умолчанию сразу перейдете к созданию бумажного кошелька для Биткоинов. Через боковую панель нужно выбрать криптовалюту, в данный момент их доступно 197:

Генератор адресов бумажных кошельков Bitcoin и других криптовалют

Какую из монет вы бы ни выбрали, откроется страничка с подробной инструкцией. Сначала нужно загрузить архив на компьютер, в нём есть файл index.html.

Он открывает главную страницу Walletgenerator оффлайн, т.е. при отключении от интернета. Это нужно сделать, чтобы повысить безопасность:

Генератор адресов бумажных кошельков Bitcoin и других криптовалют

Открываем файл, в браузере появится та же страничка. Теперь нужно водить курсором по ней, чтобы закончился счетчик или заполнилась зеленая полоса справа. Должны появляться зеленые точки на экране. Таким образом генерируются случайные символы:

Можно ввести свои символы в специальное поле или нажать кнопку Skip, чтобы пропустить этот шаг. Как только в счетчике появится ноль, система сгенерирует приватный и публичный ключ, которые будут внесены в QR коды:

Генератор адресов бумажных кошельков Bitcoin и других криптовалют

Бумажный кошелек для криптовалюты создан. Открытый ключ нужен для получения переводов и пополнения. Секретный – это приватный ключ, который нельзя никому передавать. В верхней части есть две кнопки, для генерации нового адреса или для распечатки QR кодов.

Перед тем как переводить на такой кошелек большие суммы, попробуйте его протестировать небольшим пополнением.

Генерируем Bitcoin-адрес на Python

Тема криптовалют снова начинает будоражить интернет. Супер, что вам не надо идти в отделение банка с паспортом и выстаивать очередь, чтобы открыть счет. Сгенерировать кошелек Bitcoin — дело нескольких строк кода на Python.

Нам понадобятся библиотеки base58 и ecdsa. base58 – это кодирование бинарных данных 58-ю печатными символами (цифрами и латинскими буквами, кроме 0, O, I, l, которые похожи друг на друга). ecdsa – библиотека криптографии на эллиптических кривых.

pip install base58 ecdsa

Импортируем то, что нужно:

import hashlib import ecdsa from binascii import hexlify from base58 import b58encode

Нам нужен приватный ключ, из него мы вычислим публичный ключ, а из него – адрес кошелька Bitcoin. (Обратная процедура не возможна без полного перебора до конца времен). Приватный ключ – это 32 байта данных, которые мы получим из криптографически-надежного источника случайных чисел. Вообще можно придумать свой приватный ключ самостоятельно, если так хочется. Для генерации случайного приватного ключа мы воспользуемся библиотекой ecdsa:

private_key = ecdsa.SigningKey.generate(curve=ecdsa.SECP256k1)

Вычислим этой же библиотекой публичный ключ и добавим спереди байт 0x4 (это признак «несжатого» публичного ключа; есть и другие форматы).

public_key = b’\04′ + private_key.get_verifying_key().to_string()

Теперь нужно из публичного ключа сделать привычный число-буквенный адрес Bitcoin. Взглянем на схему:

Для получения адреса из публичного ключа вычисляем сначала RIPEMD160(SHA256(public-key)):

ripemd160 = hashlib.new(‘ripemd160’) ripemd160.update(hashlib.sha256(public_key).digest())

Дополняем его префиксом 0x0 (главная сеть Bitcoin):

r = b’\0′ + ripemd160.digest()

Вычисляем контрольную сумму (нужна, чтобы наши денюжки не пропадали, если мы ошибемся в каком-то символе адреса). Контрольная сумма это первые 4 байта от SHA256(SHA256(r)):

checksum = hashlib.sha256(hashlib.sha256(r).digest()).digest()[0:4]

Получаем адрес кошелька, закодировав в base58 сложенные r и checksum:

address = b58encode(r + checksum)

Выведем результат:

print(f’private key: {hexlify(private_key.to_string())}’) print(f’public key uncompressed: {hexlify(public_key)}’) print(f’btc address: {address}’)

Генерация приватного ключа из своего источника случайностей, например, os.urandom:

def random_secret_exponent(curve_order): while True: bytes = os.urandom(32) random_hex = hexlify(bytes) random_int = int(random_hex, 16) if random_int >= 1 and random_int < curve_order: return random_int def generate_private_key(): curve = ecdsa.curves.SECP256k1 se = random_secret_exponent(curve.order) from_secret_exponent = ecdsa.keys.SigningKey.from_secret_exponent return from_secret_exponent(se, curve, hashlib.sha256).to_string()

Важно для конфиденциальных данных, вроде приватного ключа, использовать криптографически безопасный источник случайности. Об этом я писал в одной из недавних статей!

Полный пример кода генерации кошельков.

Проверить ключи и адрес можно здесь. (Нажимаем Skip, дальше Enter my own…)

Подробнее по теме можно почитать здесь.

Специально для канала @pyway. Подписывайтесь на мой канал в Телеграм @pyway

Рейтинг
( 2 оценки, среднее 4 из 5 )
Понравилась статья? Поделиться с друзьями: