Bitcoin Forum

Local => Кодеры => Topic started by: Andrey831 on January 24, 2018, 09:24:35 PM



Title: Вопрос про бумажный кошелек и bitaddress
Post by: Andrey831 on January 24, 2018, 09:24:35 PM
Добрый вечер! Возможно, кто то сможет подсказать:
Допустим я сгенерировал бумажный кошелек с помощью скачиваемого клиента с сайта bitaddress. Как можно, без добавления бумажного кошелька в онлайн кошелек проверить валидность приватного ключа, т.е. подойдет ли приватный ключ именно к этому бумажному кошельку. Вопрос появился в связи с тем, что хочу хранить биткоины в бумажном кошельке, но опасаюсь, что существует вероятность, что приватный ключ в дальнейшем может не подойти. Сейчас проверить приватный ключ представляется возможным только когда уже непосредственно в blockchain добавил бумажный кошелек и в процессе транзакции с него требуется ввести приватный ключ , после ввода биткоины отправляются. В этом случае, приватный ключ уже засвечен в онлайне, а это не есть гуд.


Вкратце: как проверить валидность приватного ключа сгенерированного бумажного кошелька и желательно оффлайн? ???


Title: Re: Вопрос про бумажный кошелек и bitaddress
Post by: psykrab on January 25, 2018, 01:58:25 AM
Как вариант - заиметь второй телефон на андроиде с отключенным инетом и установать туда кошель функционалом cold wallet, например Bither.
В таком варианте можно даже платежи совершать, по прежнему не засвечивая приватный ключ.


Title: Re: Вопрос про бумажный кошелек и bitaddress
Post by: quantum on January 25, 2018, 05:16:56 AM
Посмотрите на https://github.com/blockstack/pybitcoin

Code:
private_key = BitcoinPrivateKey('91149ee24f1ee9a6f42c3dd64c2287781c8c57a6e8e929c80976e586d5322a3d')
private_key.public_key().address()

адрес должен совпасть.

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


Title: Re: Вопрос про бумажный кошелек и bitaddress
Post by: Andrey831 on January 27, 2018, 12:19:06 PM
Посмотрите на https://github.com/blockstack/pybitcoin

Code:
private_key = BitcoinPrivateKey('91149ee24f1ee9a6f42c3dd64c2287781c8c57a6e8e929c80976e586d5322a3d')
private_key.public_key().address()

адрес должен совпасть.

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


Спасибо, к сожалению, не разбираюсь в этом, поэтому ко мне неприменимо. Если Вас не затруднит, могли по пунктам написать, что надо делать.

Вот, допустим, публичный ключ 1Mc6cKqdfaSemxVtrhbjLnSNEQoFRwFsTS,   KwSeqhUB6JhQDMrFV7qDnX4a3rEPFA4vRyeyRhJ6tY9sYoDDqL6E - это приватный. Как проверить, что приватный подходит к публичному?



Title: Re: Вопрос про бумажный кошелек и bitaddress
Post by: fulinov on January 27, 2018, 07:46:46 PM
Вот, допустим, публичный ключ 1Mc6cKqdfaSemxVtrhbjLnSNEQoFRwFsTS,   KwSeqhUB6JhQDMrFV7qDnX4a3rEPFA4vRyeyRhJ6tY9sYoDDqL6E - это приватный. Как проверить, что приватный подходит к публичному?
Нахрена тебе публичный ключ проверять? Импортируй приватник в кошелек и посмотри, какой покажет адрес. Адрес - это хеш публичного ключа. Если адрес правильный, значит и публичный ключ тоже правильный.


Title: Re: Вопрос про бумажный кошелек и bitaddress
Post by: Coin-1 on January 27, 2018, 07:50:29 PM
Вот, допустим, публичный ключ 1Mc6cKqdfaSemxVtrhbjLnSNEQoFRwFsTS,
Это не публичный ключ, а 160-битный Bitcoin-адрес.

KwSeqhUB6JhQDMrFV7qDnX4a3rEPFA4vRyeyRhJ6tY9sYoDDqL6E - это приватный.
Да, это 256-битный приватный ключ в кодировке Base58, то есть число K в схеме ECDSA secp256k1.

Как проверить, что приватный подходит к публичному?
Нужно при помощи специальной программы/скрипта из этого числа вычислить публичный ключ - координаты X и Y, хешировать их сначала SHA256, а потом RIPEMD160 по специальному алгоритму. В итоге получится Bitcoin-адрес, который можно сравнить с проверяемым.

Как вариант, для того, чтобы выяснить, подходит ли Bitcoin-адрес к приватному ключу, можно использовать несложный скрипт, написанный на PHP:
https://github.com/BitcoinPHP/BitcoinECDSA.php


Title: Re: Вопрос про бумажный кошелек и bitaddress
Post by: Andrey831 on January 27, 2018, 10:28:17 PM
Спасибо всем, вроде разобрался!