<p>An address is an encoding of a 20 byte value. This value is just a number, from 0 to 2^160 (there are 8 bits in a byte, so a 20 byte value has 160 bits and a bit can be 2 values). Because we know what all of those numbers are, all possible addresses are known beforehand and already exist; they are just a number.</p>

CC BY-SA 3.0
2017-10-22T09:19:35.893Z
Not all of them could be addresses, there might exist some set of bytes for which no hash160 of a sha256 can equal
Claris
CC BY-SA 3.0
2017-10-22T16:25:42.400Z
@Bitcoin They would still be valid addresses for which you can send money to. It would just be that no one is able to spend from them.
Ava Chow
CC BY-SA 3.0
2017-10-22T16:26:40.547Z
I’m really just arguing semantics.
Claris
CC BY-SA 3.0
2017-10-22T16:30:39.643Z
But you are still wrong. An address does not need to have a valid public or private key behind it. It is just a 20 byte value and it can be any 20 byte value. You can still send to an address even if there is no public key which hashes to that value. It's still an address as it can still be validly represented by the Base58 Check Encoding of that 20 byte value. This is actually how a lot of burn addresses are made; the creator generated a 20 byte value and encoded it with Base58 Check Encoding. If there is a private key associated with that address, no one knows it. It could also not have one.
Ava Chow
CC BY-SA 3.0
2017-10-22T16:32:00.177Z
I’m arguing that validity means you really want to be able to know there’s a way of spending the money again- this couples with the parents question thinking they are all pre allocated. This is again, semantics.
Claris
CC BY-SA 3.0
2017-10-21T05:02:45.507Z
2017-10-21T05:02:45.507Z
Ava Chow
<p>I would argue that the wording of that is so poor that it should be considered incorrect.</p>

<p>Yes, an address is a result of a calculation.  However <em>all</em> numbers can be the result of a calculation.  The quote you gave could be paraphrased "all addresses already exist because addresses are numbers, and numbers exist".  Phrased this way, it's easy to see that the quote contains no useful information, and is potentially misleading.</p>

CC BY-SA 3.0
2017-10-21T14:39:09.460Z
2017-10-21T14:39:09.460Z
Jestin
<p>As Andrew said, first you choose a number between 0 and 2^160 (inclusive). (1 byte has 2^8 combinations, so 20 bytes is (2^8)^20, 2^160). Then you (or, the software) calculate corresponding private key, then the public key and the address. So theoretically, a computer can find all BTC addresses. (But that's actually impossible - <a href="https://www.reddit.com/r/Bitcoin/comments/1rurll/on_the_subject_of_listing_all_possible_private/" rel="nofollow noreferrer">https://www.reddit.com/r/Bitcoin/comments/1rurll/on_the_subject_of_listing_all_possible_private/</a>)</p>

CC BY-SA 3.0
2017-10-21T08:11:13.270Z
2017-10-21T08:18:17.510Z
2017-10-21T08:18:17.510Z
MCCCS
<p>I read the following statement somewhere on the web:
"Every blockchain address possible already existed, long before a wallet found it. The reason is that blockchain addresses are the result of a mathematical operation."
Can somebody explain this to me as they would to a child. I have no computer science background. </p>

<blockchain>
How are blockchain addresses pre-existent?
loredonrj
# How are blockchain addresses pre-existent?

(Asked by: username_0 on 2017-10-21)

I read the following statement somewhere on the web:
"Every blockchain address possible already existed, long before a wallet found it. The reason is that blockchain addresses are the result of a mathematical operation."
Can somebody explain this to me as they would to a child. I have no computer science background.

**Tags:** blockchain


---

## 3 answers

### Answer by username_1 on 2017-10-21. Score: 1

An address is an encoding of a 20 byte value. This value is just a number, from 0 to 2^160 (there are 8 bits in a byte, so a 20 byte value has 160 bits and a bit can be 2 values). Because we know what all of those numbers are, all possible addresses are known beforehand and already exist; they are just a number.

> **Comments:**
> **username_2**: Not all of them could be addresses, there might exist some set of bytes for which no hash160 of a sha256 can equal  
> **username_1**: @Bitcoin They would still be valid addresses for which you can send money to. It would just be that no one is able to spend from them.  
> **username_2**: I’m really just arguing semantics.  
> **username_1**: But you are still wrong. An address does not need to have a valid public or private key behind it. It is just a 20 byte value and it can be any 20 byte value. You can still send to an address even if there is no public key which hashes to that value. It's still an address as it can still be validly represented by the Base58 Check Encoding of that 20 byte value. This is actually how a lot of burn addresses are made; the creator generated a 20 byte value and encoded it with Base58 Check Encoding. If there is a private key associated with that address, no one knows it. It could also not have one.  
> **username_2**: I’m arguing that validity means you really want to be able to know there’s a way of spending the money again- this couples with the parents question thinking they are all pre allocated. This is again, semantics.  

---

### Answer by username_3 on 2017-10-21. Score: 1

I would argue that the wording of that is so poor that it should be considered incorrect.

Yes, an address is a result of a calculation. However *all* numbers can be the result of a calculation. The quote you gave could be paraphrased "all addresses already exist because addresses are numbers, and numbers exist". Phrased this way, it's easy to see that the quote contains no useful information, and is potentially misleading.


---

### Answer by username_4 on 2017-10-21. Score: 0

As Andrew said, first you choose a number between 0 and 2^160 (inclusive). (1 byte has 2^8 combinations, so 20 bytes is (2^8)^20, 2^160). Then you (or, the software) calculate corresponding private key, then the public key and the address. So theoretically, a computer can find all BTC addresses. (But that's actually impossible - <https://www.reddit.com/r/Bitcoin/comments/1rurll/on_the_subject_of_listing_all_possible_private/>)


---

