В некоторых упрощенных объяснениях биткойна говорится, что биткойн-адрес является открытым ключом, и любой может легко проверить, что подписанная транзакция действительна, поскольку она была подписана соответствующим закрытым ключом.
Но на самом деле адрес — это хеш другого хэша открытого ключа.
Таким образом, невозможно получить открытый ключ только из адреса.
Как же тогда майнеры получают мой открытый ключ? Включен ли открытый ключ в транзакцию, которую я отправляю?
Да, транзакция включает открытый ключ. Таким образом, только когда вы тратите монеты с адреса, открытый ключ становится общедоступным (если только вы не поделились им с кем-либо иным образом).
Таким образом, пока вы не используете адреса повторно, открытый ключ становится известен только после транзакции, которая обычно находится всего в нескольких подтверждениях от баланса адреса, равного 0.
Включен ли открытый ключ в транзакцию, которую я отправляю?
Да, это часть процесса подписи, а точнее сигскрипта - посмотрите здесь: Как работает алгоритм проверки ECDSA во время транзакции?
Ник Оделл
Мартин Вегтер