Just wondering how do get the address given that we store only a public key? What is the relation between them? Is address a simple hash of private key? If yes, what hashing algorithm is used?
A Bitcoin address is a hash of the public key. The Bitcoin wiki explains the exact (complicated) procedure in great detail. In brief, it involves hashing the public key and includes a checksum. The private key and public key are mathematically related.
- If you have the private key, you can easily calculate the public key and address.
- If you have the public key, you can easily calculate the address, but not the private key.
- If you have the address, you cannot calculate either key.