Author

Topic: Вопрос про бумажный кошелек и bitaddress (Read 142 times)

newbie
Activity: 19
Merit: 0
Спасибо всем, вроде разобрался!
legendary
Activity: 2450
Merit: 2190
Вот, допустим, публичный ключ 1Mc6cKqdfaSemxVtrhbjLnSNEQoFRwFsTS,
Это не публичный ключ, а 160-битный Bitcoin-адрес.

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

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

Как вариант, для того, чтобы выяснить, подходит ли Bitcoin-адрес к приватному ключу, можно использовать несложный скрипт, написанный на PHP:
https://github.com/BitcoinPHP/BitcoinECDSA.php
full member
Activity: 231
Merit: 100
Вот, допустим, публичный ключ 1Mc6cKqdfaSemxVtrhbjLnSNEQoFRwFsTS,   KwSeqhUB6JhQDMrFV7qDnX4a3rEPFA4vRyeyRhJ6tY9sYoDDqL6E - это приватный. Как проверить, что приватный подходит к публичному?
Нахрена тебе публичный ключ проверять? Импортируй приватник в кошелек и посмотри, какой покажет адрес. Адрес - это хеш публичного ключа. Если адрес правильный, значит и публичный ключ тоже правильный.
newbie
Activity: 19
Merit: 0
Посмотрите на https://github.com/blockstack/pybitcoin

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

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

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


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

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

member
Activity: 108
Merit: 250
Посмотрите на https://github.com/blockstack/pybitcoin

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

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

PS код библиотеки не смотрел, если совсем параноить, то посмотрите сами, там не должно быть слишком сложно. Ну или хотя бы отключите инет при запуске
newbie
Activity: 7
Merit: 0
Как вариант - заиметь второй телефон на андроиде с отключенным инетом и установать туда кошель функционалом cold wallet, например Bither.
В таком варианте можно даже платежи совершать, по прежнему не засвечивая приватный ключ.
newbie
Activity: 19
Merit: 0
Добрый вечер! Возможно, кто то сможет подсказать:
Допустим я сгенерировал бумажный кошелек с помощью скачиваемого клиента с сайта bitaddress. Как можно, без добавления бумажного кошелька в онлайн кошелек проверить валидность приватного ключа, т.е. подойдет ли приватный ключ именно к этому бумажному кошельку. Вопрос появился в связи с тем, что хочу хранить биткоины в бумажном кошельке, но опасаюсь, что существует вероятность, что приватный ключ в дальнейшем может не подойти. Сейчас проверить приватный ключ представляется возможным только когда уже непосредственно в blockchain добавил бумажный кошелек и в процессе транзакции с него требуется ввести приватный ключ , после ввода биткоины отправляются. В этом случае, приватный ключ уже засвечен в онлайне, а это не есть гуд.


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