does a generated private key, provide 1 public key? I mean, the pair is generated practically at once? Then this only public key is used to create multiples “adresses” which will be used to make transactions?

Thank you a lot.


Generally, it's one address per keypair. This is even true in deterministic wallets where you generate multiple keypairs based on a single seed. Remember that there are still multiple keypairs in this scenario. A private key is generated randomly (or deterministically from a seed), and then a public key is derived from it. After that, an address is derived from the public key.

However, it's not quite that simple. There are two different representations of elliptic curve public keys that bitcoin supports, meaning that you can generate two different address from the same private key...both of which can be claimed with that private key. Wallets generally only use a single public key format (usually compressed), so within a wallet, there's one private key to one public key to one address.

Also, there are different types of addresses (pay-to-public-key-hash, pay-to-script-hash, mainnet, testnet, etc...), which each could use the same public key to generate different addresses based on their corresponding prefix. This is why pay-to-public-key-hash addresses begin with '1' and pay-to-script-hash addresses begin with '3'. To my knowledge, no wallets will generate two types of addresses from the same public key. That would be similar to re-using addresses, and is generally considered to be a bad practice.

  • THANK YOU SO MUCH!!!!! I have another question thought, I read about this: To clarify, address A has 1 btc. You want to send 0.5 btc to some address B. What happens is, the balance of address A is fully spent into B (0.5) C (0.4999) fee (0.0001) total (1) < --- original balance. fully spent C is your change address, and when you spend your coins again you will spend from C and not from A.
    – Pierrew
    Feb 3 '17 at 20:51
  • What is that? Someone else told me you would just "send" the exact number of BTC and that's all. So if you use an online wallet, it means that at each transaction, a new private/public key will be created to received the change? Thank you :)
    – Pierrew
    Feb 3 '17 at 20:54
  • 1
    Yes, usually once A has been spent, then it will never be used again. However, it's possible to craft a transaction from A to B where you use A as the change address. This is discouraged, however, and no wallets I'm aware of will do this by default. This is true for both web wallets, and phone/desktop wallets. When you are using a wallet, you shouldn't be concerned with which addresses are being used to make which payments. That's the wallet's job to keep track of, not the users.
    – Jestin
    Feb 3 '17 at 21:00
  • THANKS! bottom line, a wise man would use an online wallet to buy BTC, sell, Trade, however, store most of his BTC (if he wants) on a paper wallet? which he can still use when he needs it? :) (but if he does use it, a new paper wallet have to be created since the last one has been swept)
    – Pierrew
    Feb 3 '17 at 21:14
  • Most of these questions already have great answers on this site. I recommend you browse through bitcoin.stackexchange.com/questions?sort=frequent and bitcoin.stackexchange.com/questions?sort=votes to get a better perspective on things.
    – Jestin
    Feb 3 '17 at 21:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.