Можно ли использовать адрес Bitcoin для проверки подписи, сделанной с использованием данного закрытого ключа? - PullRequest
0 голосов
/ 06 марта 2020

Проблема: У меня есть Bitcoin адрес, т.е. 1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm. И у меня есть список закрытых ключей, которые я не уверен, откуда этот адрес был получен. Я хочу выяснить, какой из этих закрытых ключей получил этот адрес (через ключ publi c). Для указанного выше адреса закрытый ключ - 1 (00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01).

Насколько я понимаю, существуют разные способы получения открытых ключей c из закрытого ключа (наиболее распространенным является ECDSA, но также HD / BIP 32 | https://en.bitcoin.it/wiki/Private_key). И затем из ключа publi c может быть сгенерирован адрес BT C (с помощью множественного хеширования и других операций | https://en.bitcoin.it/wiki/Address), что делает невозможным поиск publi c ключ от Bitcoin адреса.

Если мои предположения выше верны, мой вопрос: все еще возможно проверить связь между закрытым ключом и Bitcoin адресом?

Я хотел подписать сообщение закрытым ключом и использовать ключ publi c для проверки этого. Поскольку у меня нет ключа publi c, мне придется извлечь его из закрытого ключа, а затем сгенерировать адрес Bitcoin для сравнения с тем, который у меня есть. Но тогда, что, если адрес был сгенерирован методом HD / BIP 32?

PS: я использую библиотеки BouncyCastle и N Bitcoin для запуска тестов.

1 Ответ

0 голосов
/ 20 марта 2020

Если вы используете Bitcoin Core и хотите узнать закрытый ключ, который принадлежит одному из ваших адресов, go для консоли или используйте RP C и позвоните dumpprivkey "myaddress".

И выбросить закрытый ключ в формате WIF.

...