Post
Topic
Board Bitcoin Technical Support
Merits 27 from 4 users
Re: When is a BTC address actually created?
by
DannyHamilton
on 23/04/2024, 09:18:41 UTC
⭐ Merited by ABCbits (9) ,hosseinimr93 (8) ,LoyceV (6) ,RickDeckard (4)
Presume I create a new key, then calculate a public address from that key.  So far, it is just on my computer and is not what I would call a real address.  If I then send some coins to that address, does that automatically create the address in the real bitcoin world?  Maybe I go to Gemini and enter that public address as the receiving address and move some coins.  Does that result in the new address being created?  Are there other methods worth mentioning?

I suspect, that new addresses are created, in the real BTC world, when some amount of coin is sent to the address.  Is there more to it than this?

A bitcoin address is simply a representation of a number. Asking when it is "created in the real world" is a bit like asking when the number 5 is created in the real world?

The number that a Bitcoin address represents is just a way to make it easier for us humans to talk about transferring control over value. There aren't any actual addresses in the electronic form of transactions or in the blockchain itself. Instead, using a standard set of rules, data that does exist in binary form in those places (specifically, a pre-defined set of output scripts) are converted into "addresses" by our wallet software and by block explorers whenever that data is to be displayed to humans.

So, for the old bitcoin addresses that start with a 1, when you say "please send 2 bitcoins to the following address 1PMycacnJaSqwwJqjawXBErnLsZ7RkXUAs" you are essentially saying:

"Create transaction that includes in one of its outputs a requirement that: to be allowed to use the output as an input to a future transaction, the spender must supply a binary representation of an ECDSA public key from the secp256k1 elliptic curve such that when hashed with SHA256 and RIPEMD160 hashing algorithms will result in a binary value of 1111010101001010010110000101000111101001001101110010101110000111100000010000101 0100011100110000011001101110100101110011111001111110110000000101101101110001100 01 and the spender must also supply a binary representation of an ECDSA digital signature of that future transaction which can be validated with that same public key on that same curve. Of the sum of the value found in all of the inputs of this transaction, assign to this requested output a binary value of 1011111010111100001000000000.

Perhaps you can see how the request using the "address" is easier than asking literally for what you want.  As a community, we've all implicitly agreed to a standardized way to convert back and forth between what's actually being requested and the more simplified way of requesting it.  Then, creators of wallet software, custodial accounts, and block explorers have all written software that handles that conversion for us.

So, to try and answer your question:
  • A bitcoin address is just a number, so any given address has always "existed" for as long as numbers have existed.
  • Within your wallet software, your bitcoin addresses "exist" as soon as your wallet has chosen it's private keys, since it can generate those addresses for display to you from those private keys whenever you want to see them.
  • Within the wider Bitcoin network, other software (other wallets, block explorers, etc) can display the addresses you use in your transactions by converting the transaction output scripts into an address representation via the standardized rules of how to represent that information as a number