спасибо за ваши ответы, я понимаю, что вы говорите, но когда я отправляю сделку по сети, я понял, что я также отправить свой открытый ключ, потому что я подписал сделку с моим секретным ключом и поэтому каждый должен был проверить сделка с моей общественной.
Так что каждый может знать свой открытый ключ, это не правда?
Нет. Вы заключаете сделку, когда вы проводите выходные, не тогда, когда вы его получите. Поэтому, когда вы будете давать новый адрес Bitcoin, отправитель не знает открытый ключ, и не нужно знать свой открытый ключ. Они просто направить вывод хэша RIPEMD-160 (Bitcoin адрес), который вы предоставляете им.
Неизрасходованный выход тогда остается unspendable, пока кто-то с закрытым ключом не может обеспечить правильную подпись. Только тогда, когда вы проводите этот вывод, что вы затем подписать сделку, которая проводит его и включают в себя открытый ключ сети для проверки подписи. Однако, как только вы передаете эту транзакцию с подписью, выход не тратится и больше не доступны для тех, кто взять, если есть слабость в ECDSA.
Это одна из нескольких причин, почему Bitcoin адреса не должны быть повторно использованы. Если вы повторно использовать Bitcoin адрес для получения более чем одной операции, то любые неизрасходованные выходы, которые по-прежнему связаны с Bitcoin адрес после публичного ключа транслировались становятся уязвимы для атак, если ECDSA когда-либо ослаблен. Если вы используете новый адрес для каждой транзакции, то вы не подвержены этому риску.
Может быть, я не понял, как транзакции работают. Если он работает таким образом, проблема все еще остается, и с использованием адреса не скрывает открытый ключ.
Может быть, вы понимаете, лучше?