Извлечение идентификаторов кошелька (открытых ключей) из структур данных цепочки биткойнов
Я пытаюсь найти открытые ключи, связанные с входными и выходными данными транзакций блока Биткойн.
Может кто-нибудь сказать мне, где они закодированы?
Спасибо.
1 ответ
Проще говоря, в общем, вы не можете.
В зависимости от схемы подписи все, что вы можете получить, это хеш этого открытого ключа или, что еще хуже, хеш скрипта погашения.
В частности, вы можете получить некоторые открытые ключи в некоторых случаях. Это неполный список того, что вы можете получить:
- Скрипты Pay-to-pubkey-hash (P2PKH): вы получаете открытый ключ от scriptSig для входного адреса BTC
- Pay-to-pubkey (P2PK): вы получаете открытый ключ от scriptPubKey для выходного адреса BTC
- Скрипты Pay-to-script-hash (P2SH): вы получаете открытые ключи от scriptSig для входного адреса BTC
Существуют и другие схемы подписи, и в стандартных транзакциях вы сможете получить либо открытый исходный ключ, либо целевой открытый ключ.
Что вы можете сделать, это проиндексировать всю цепочку блоков и заполнить пробелы в транзакциях, где адреса BTC не включены вместе с их открытым ключом. Но, например, если ваш адрес BTC появляется только на выходах P2PKH, у вас нет средств найти этот открытый ключ.