I am trying to understand Bitcoin addresses, but it does not seem to be easy at all.
As far as I know, a Transaction uses one or more addresses as input and one or more addresses as output. Is this correct?
As I understand it a bitcoin address is a hash of your public key. So it is not completely collision resistant. So how do you prove, that you are the owner of a bitcoin address?
Also, since everybody can make an address from your public key and the recipient of a transaction does not have to sign the transaction, how do you make sure no one can send you Bitcoins without your consent? (I don't really know if this is a problem to be honest)