Bitcoin Forum
June 26, 2024, 05:23:22 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Вопрос про бумажный кошелек и bitaddress  (Read 143 times)
Andrey831 (OP)
Newbie
*
Offline Offline

Activity: 19
Merit: 0


View Profile WWW
January 24, 2018, 09:24:35 PM
 #1

Добрый вечер! Возможно, кто то сможет подсказать:
Допустим я сгенерировал бумажный кошелек с помощью скачиваемого клиента с сайта bitaddress. Как можно, без добавления бумажного кошелька в онлайн кошелек проверить валидность приватного ключа, т.е. подойдет ли приватный ключ именно к этому бумажному кошельку. Вопрос появился в связи с тем, что хочу хранить биткоины в бумажном кошельке, но опасаюсь, что существует вероятность, что приватный ключ в дальнейшем может не подойти. Сейчас проверить приватный ключ представляется возможным только когда уже непосредственно в blockchain добавил бумажный кошелек и в процессе транзакции с него требуется ввести приватный ключ , после ввода биткоины отправляются. В этом случае, приватный ключ уже засвечен в онлайне, а это не есть гуд.


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

Activity: 7
Merit: 0


View Profile
January 25, 2018, 01:58:25 AM
 #2

Как вариант - заиметь второй телефон на андроиде с отключенным инетом и установать туда кошель функционалом cold wallet, например Bither.
В таком варианте можно даже платежи совершать, по прежнему не засвечивая приватный ключ.
quantum
Member
**
Offline Offline

Activity: 108
Merit: 250


View Profile
January 25, 2018, 05:16:56 AM
 #3

Посмотрите на https://github.com/blockstack/pybitcoin

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

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

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

Activity: 19
Merit: 0


View Profile WWW
January 27, 2018, 12:19:06 PM
 #4

Посмотрите на https://github.com/blockstack/pybitcoin

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

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

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


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

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

fulinov
Full Member
***
Offline Offline

Activity: 231
Merit: 100


View Profile
January 27, 2018, 07:46:46 PM
 #5

Вот, допустим, публичный ключ 1Mc6cKqdfaSemxVtrhbjLnSNEQoFRwFsTS,   KwSeqhUB6JhQDMrFV7qDnX4a3rEPFA4vRyeyRhJ6tY9sYoDDqL6E - это приватный. Как проверить, что приватный подходит к публичному?
Нахрена тебе публичный ключ проверять? Импортируй приватник в кошелек и посмотри, какой покажет адрес. Адрес - это хеш публичного ключа. Если адрес правильный, значит и публичный ключ тоже правильный.
Coin-1
Legendary
*
Offline Offline

Activity: 2492
Merit: 2232



View Profile
January 27, 2018, 07:50:29 PM
Last edit: January 27, 2018, 08:03:30 PM by Coin-1
 #6

Вот, допустим, публичный ключ 1Mc6cKqdfaSemxVtrhbjLnSNEQoFRwFsTS,
Это не публичный ключ, а 160-битный Bitcoin-адрес.

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

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

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

Activity: 19
Merit: 0


View Profile WWW
January 27, 2018, 10:28:17 PM
 #7

Спасибо всем, вроде разобрался!
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!