Welcome to Hard Fork Basics, a collection of tips, tricks, guides, and advice to keep you up to date in the cryptocurrency and blockchain world.
Bitcoin addresses are not all that complicated, but they are a little strange. Let’s demystify the whole thing by explaining what actually happens when you interact with Bitcoin addresses.
(Hint: You don’t store Bitcoin in an address!)
A Bitcoin address is a destination
A Bitcoin address is a string of letters and numbers that represents a destination on the Bitcoin network, nothing more.
There are a few different kinds of Bitcoin addresses, and all do the same thing: Point to where Bitcoin needs to be sent.
Bitcoin addresses are only really used when receiving Bitcoin. Unlike our real-world addresses, they are only meant to be used once. The idea is that for each Bitcoin transaction, receivers will generate a unique, single-use address to provide senders.
It’s much better to think of an address as a method of directing Bitcoin during a transaction, instead of where you store it. Let’s step through an example.
I want to send some Bitcoin to Matt, who has a reputable Bitcoin wallet app installed on his phone. He has requested that I pay him some Bitcoin that I owe.
Matt uses his Bitcoin wallet app to generate a new, unique address. This function is available in almost every good Bitcoin wallet. Keep in mind, it’s specifically for this occasion. Bitcoin addresses are single-use.
Matt should feel comfortable in sharing his newly-generated Bitcoin address, as they don’t actually contain any sensitive information (as long as you generate a new one for every transaction).
Now that I have Matt’s brand-new, one-time Bitcoin address, I simply plug it into my own Bitcoin wallet when prompted during the sending process. It’s worth copy pasting the address – it needs to be exact, as transactions can’t be undone!
Et voila! That’s it, your transaction has been sent off for confirmation and the life-cycle of Bitcoin address is complete.
You can’t return to sender
One curious aspect of Bitcoin is it doesn’t actually track from where transactions are sent.
Unlike a typical letter, which includes a return address, Bitcoin transactions do not.
In Bitcoin, the closest thing to a from address is the last address the Bitcoin was sent to. But that doesn’t always point to the right person.
This is a design choice decided by Satoshi Nakamoto, geared towards protecting the the privacy of Bitcoin users by removing the ability to link transactions to each other.
To explain, let’s return to the example. A week after the original transaction, I notice that I have accidentally sent Matt too much Bitcoin. Now, he actually owes me some Bitcoin.
If Matt simply returns the Bitcoin to the previous address it was sent to (before him), believing it actually would actually lead back to my Bitcoin wallet, Matt would be relying on dangerous assumptions, particularly as to whether I am still using that Bitcoin address.
For instance, I could have lost my phone, or had it stolen. In this case, the last-sent-to Bitcoin address no longer belongs to me, but the phone-thief.
This is exactly why it’s necessary to generate brand new Bitcoin address for every transaction – it eliminates dangerous assumptions and keeps Bitcoin from being lost in cyberspace (remember, Bitcoin transactions cannot be reversed!).
The smart thing would be to create my own unique Bitcoin address, just for the occasion, providing it to Matt for safe, one-time use, and then never again.
Remember: For Bitcoin transactions to be robustly secure and without reliance on assumptions, you have to request a fresh, unique Bitcoin address for each transaction – especially for repeat recipients!
Published November 5, 2018 — 16:36 UTC