Проблема: У меня есть 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 для запуска тестов.