As i've read on many websites and papers, the bitcoin address is made by hashing the public key. And i've read that that's done because we don't want the public key to be public until money is spent.

I want to know:

1) How does the miners know the public key of the sender if they have only it's bitcoin address? 2) Some said that each transaction has a unique public key/bitcoin address? How is that? And if it's true, how can sender knows the address of a user each time? 3)If Alice wants to send 1BTC to Bob, how does she do that? But writing "Alice sends Bob 1BTC" then signing the message with it's private key and send it to all miners? But then how can the miners verify the transactions if they don't know the public key? "Alice sends Bob 1BTC" == "AddressofAlice sends AddressofBob 1BTC" ?

Thank you

marked as duplicate by Pieter Wuille, Andrew Chow Apr 22 at 20:41

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.