I understand that Bitcoin is a distributed system based on the blockchain, and I understand that transfers/transactions are stored in the blockchain, which exists on many servers around the internet.

But where are wallet/account addresses stored?

I understand that there are different kinds of wallet apps, local, online, etc. But the number/string that represents the wallet address within the Bitcoin ecosystem: where does that primarily live? When you create a wallet and produce that address number, do you take dibs on it in some way such that nobody else can get the same address number? What prevents duplication? Is there a null transaction recorded in the blockchain everytime a new wallet is created for the purpose of taking dibs on the wallet address?

I have no idea what I'm saying or talking about--please elucidate!


3 Answers 3


When you create an address, it is stored in your wallet. It is not recorded on the blockchain until someone executes a transaction that includes the address.

It is not necessary to reserve your address since it is statistically impossible that someone else will generate the same address (with some caveats, see below). Here is what happens when you create a new address in your wallet:

  1. Your private key (for spending funds) is derived from a random number between 1 and 115792089237316195423570985008687907852837564279074904382605163141518161494337. Assuming the number was truly random, you don't need to worry about someone guessing this number since the number of possibilities is so ridiculously large.

  2. The matching public key (for receiving funds) is derived from the private key in a way that is irreversible, and is used to generate the address where you can receive payments. There are 2^160 possible addresses (1461501637330902918203684832716283019655932542976).

  3. The private and public keys are saved together as a "pair" in your wallet.


To make this as simple as possible: When you create an address, you're the only one who knows how you created it. To spend funds sent to an address, you must know how that address was created.

To be a little more precise, Bitcoin uses an irreversible operation in the address generation process. You take a large random number and store that number anywhere you like. You then apply that irreversible operation to generate the address. Now, if anyone sends Bitcoins to that address, you use the large random number to claim them.

  • Wait. If I generate a 3-digit number, the irreversibe operation would be to erase the last digit. It is irreversible because I do not know which of 3-ditit nums was used to produce my (2-digit) address. Now, somebody sends a sum to the 2-digit address. Which of the 3-digits numbers are suitable to claim the transfer?
    – Val
    Aug 8, 2014 at 13:26

Bitcoin addresses are stored wherever you like. In your wallet, with an exchange, on your paper napkin. The same with the private keys that give access to the value linked to those addresses. Those too can be stored wherever you like (but you'll want to store those securely).

You have ownership of the funds tied to your address by sole virtue of the fact that it is nearly impossible for anyone else to generate the private key for that address. There is no central place which says your address is legally yours. It isn't yours in that sense. Someone else could take control of it easily if they knew your private key. Then it is just as much theirs as yours. Until that time when your key is compromised the address is simply defacto yours because no-one else is ever going to be able to access the funds tied to it, except you.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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