I understand that when using a paper wallet to spend bitcoin, it is impossible to simply spend a portion and have the remainder stay where it is. The entire contents are extracted, the amount you wish to spend is spent as you wish and the remainder goes into a “change address” OR “change wallet”? Do I have this right?
If so, I assume this means that you will have to sweep that balance (your “change” in effect) into a new wallet with a new private key? That being the case (and here’s my ACTUAL question — thank you for your indulgence), what happens to your public key? Does it stay the same while the private key changes? Do you have to generate a new public key? Is one created for you?
Thank you for your time. Your website has been incredibly helpful in enabling me to understand Bitcoin better.
first of all you are correct, you can’t spend just a portion of your paper wallet. When you want to use a paper wallet you will in fact import the private key into a digital wallet. What that wallet will do with the change depends on the wallet. Some will send it to a new “change” address that you can then use with that wallet. Others will send it back to the original address.
It’s important to check with the wallet provider what they do with change. In Blockchain.info for example you can specify where you want the change to go. MyCelium I believe will send the change back to the paper address.
Here is some more reading about this matter:
http://bitzuma.com/posts/five-ways-to-lose-money-with-bitcoin-change-addresses/ (take a look at “spending from a paper wallet” at the lower part of the post).
Bottom line – check with the wallet you’re using how they handle it.
Well that depends on the wallet. A public key is derived from a private key. Depending on the wallet it will either:
- Send it back to the original address and the public key stays the same
- Send it to a new change address and then the public key is different
Just to make sure we are on the right page – a private key generates a public key which then allows you to generate a Bitcoin address. To quote a detailed answer from Reddit:
Private keys are 256bit random numbers. Private keys are never made public. They remain secret. Public keys are derived from private keys and are mathematically related to them. You can’t derive a private key from a public key. Each private key has just one public key. They are called a key pair. The public key is revealed to the world and the world uses it to verify transaction signatures generated by your secret private key without you having to expose said private key to the world. Bitcoin public keys are also 256bits. Hash functions – Hash functions take arbitrary sized data and output numbers of a fixed size. They are one way functions. You can’t take the output of a hash function and determine the input. Hash functions are used to create “fingerprints” of data. If even a single bit in the data changes the output of the hash function will change. Bitcoin addresses are public keys run through hash functions. The hash functions used result in 160bit addresses. Because 256bits is greater than 160bits all addresses can be unlocked by more than one public/private key pair. That’s where the 296 comes from. But this refers to key pairs behind bitcoin addresses not private keys behind public keys. An address is not the same as a public key. It is the public key run through hash functions. There is such a thing as a deterministic wallet and that uses a single random number to generate a whole tree of addresses. We don’t call that random number a private key though. We call it a seed. Each address there has its own private key and they are indistinguishable from randomly generated keys to anyone who doesn’t have the seed.
That’s exactly what you should do. Always keep only a fraction of your Bitcoins in hot wallets (i.e. on your phone or computer) and the rest in cold storage (i.e. paper wallet or hardware wallet).
Thanks for the prompt response. It is much appreciated. However, it didn’t quite answer my actual question (which to be fair, I kind of buried at the end :D) which was: “what happens to your public key?”
Wonderful and thanks. You clarified that beautifully and I am very grateful.
That leads me to my next question: is it possible for me to have two wallets (one on blockchain.info or Mycelium for instance) and a paper-only wallet? More specifically, can I use the hot wallet and periodically send some of the balance to the paper wallet (in effect, treating the paper wallet as a savings account?
Could you explain in detail the question? Pleeeeease….
If I’ve printed out a paper wallet using bitaddress, how on earth does the online world know that my specific private code and public address are in anyway linked??
Thanks for your cooperation
The online world (which is to say, the Bitcoin network) never knows your private key. However, the funds in your public address may only be spent with authorisation from your private key. So, any funds that move must have been properly authorised.
I hope that clarifies things? If you’re still confused, hopefully this metaphor will help: imagine a numbered row of storage lockers, all of which have sturdy padlocks. Anyone can see the number printed on the outside of each locker – this is like the Bitcoin public address. However, only someone with the specific key to the locker’s padlock may open their locker and remove its contents – this is like your private key.
So, if you see a locker is open and empty (or bitcoins have been spent from a public address), you can assume that it must have been the owner who accessed it. In both scenarios, the security of the storage depends entirely on keeping the key safe and secret.