<p>Technically speaking, these are not identical hashes, because they are not hashes. They're just addresses someone created by encoding the value 0000...0000 into a P2PKH and a P2SH address.</p>

<p>Funds sent to those addresses cannot be spent, for two reasons.</p>

<ol>
<li><p>It would require finding a public key or script whose hash is 0000...0000, which is assumed to be impossible (SHA256 or RIPEMD160 would be broken if that was the case).</p></li>
<li><p>Even the value wasn't 0000...0000, but the hash of an actual public key, it would still be impossible to find a script whose hash was equal. Alternatively, if it was the hash of a script, it would be impossible to find a public key with the same hash.</p></li>
</ol>

CC BY-SA 4.0
2018-08-25T04:03:36.997Z
Finding a pubkey which shares a hash160 with a valid script should be easy :
`02****1D**********************************************************` , `03******1C********************************************************` , and `04********3B**********************************************************************************************************************`.  Replace `**` with any byte and there you have a valid pubkey which is also a valid script, although it is not a very interesting script :)
arubi
CC BY-SA 4.0
2018-08-24T22:23:55.947Z
2018-08-24T22:23:55.947Z
Pieter Wuille
<p>It just means someone created 2 different address types with the same hash160 value. They are still valid addresses, and would be considered different (because of the different prefix, see below). I was amazed for a moment, but it looks like the 2 addresses have never spent any bitcoin :) It's almost certain the creator did not create this from a valid key pair.</p>

<p>If you take the hash160 value <code>0000000000000000000000000000000000000000</code> and append <code>00</code>, the standard <a href="https://en.bitcoin.it/wiki/List_of_address_prefixes" rel="nofollow noreferrer"><code>P2PKH</code></a> address prefix, and then <code>BASE58CHECK</code> encode it, you get the first address <code>1111111111111111111114oLvT2</code>.</p>

<p>Then, change that prefix to <code>05</code>, the standard <a href="https://en.bitcoin.it/wiki/List_of_address_prefixes" rel="nofollow noreferrer"><code>P2SH</code></a> address prefix, you get the second address: <code>31h1vYVSYuKP6AhS86fbRdMw9XHieotbST</code>.</p>

<pre><code>$ printf "000000000000000000000000000000000000000000" | xxd -r -p | base58 -c
1111111111111111111114oLvT2
$ printf "050000000000000000000000000000000000000000" | xxd -r -p | base58 -c
31h1vYVSYuKP6AhS86fbRdMw9XHieotbST
</code></pre>

CC BY-SA 4.0
2018-08-24T17:09:49.407Z
2018-08-24T18:41:46.987Z
2018-08-24T18:41:46.987Z
JBaczuk
<p>There are two bitcoin address:
(A) 1111111111111111111114oLvT2
(B) 31h1vYVSYuKP6AhS86fbRdMw9XHieotbST
which has the same hash160:<br>
0000000000000000000000000000000000000000
How is this possible and what are the consequences?</p>

<p><a href="https://www.blockchain.com/btc/address/1111111111111111111114oLvT2" rel="nofollow noreferrer">https://www.blockchain.com/btc/address/1111111111111111111114oLvT2</a>
and 
<a href="https://www.blockchain.com/btc/address/31h1vYVSYuKP6AhS86fbRdMw9XHieotbST" rel="nofollow noreferrer">https://www.blockchain.com/btc/address/31h1vYVSYuKP6AhS86fbRdMw9XHieotbST</a></p>

<address>
What happens when hash160 is same
Join Free
# What happens when hash160 is same

(Asked by: username_0 on 2018-08-24)

There are two bitcoin address:
(A) 1111111111111111111114oLvT2
(B) 31h1vYVSYuKP6AhS86fbRdMw9XHieotbST
which has the same hash160:  
0000000000000000000000000000000000000000
How is this possible and what are the consequences?

<https://www.blockchain.com/btc/address/1111111111111111111114oLvT2>
and
<https://www.blockchain.com/btc/address/31h1vYVSYuKP6AhS86fbRdMw9XHieotbST>

**Tags:** address


---

## 2 answers

### Answer by username_1 on 2018-08-24. Score: 4

Technically speaking, these are not identical hashes, because they are not hashes. They're just addresses someone created by encoding the value 0000...0000 into a P2PKH and a P2SH address.

Funds sent to those addresses cannot be spent, for two reasons.

1. It would require finding a public key or script whose hash is 0000...0000, which is assumed to be impossible (SHA256 or RIPEMD160 would be broken if that was the case).
2. Even the value wasn't 0000...0000, but the hash of an actual public key, it would still be impossible to find a script whose hash was equal. Alternatively, if it was the hash of a script, it would be impossible to find a public key with the same hash.

> **Comments:**
> **username_2**: Finding a pubkey which shares a hash160 with a valid script should be easy : `02****1D**********************************************************` , `03******1C********************************************************` , and `04********3B**********************************************************************************************************************`.  Replace `**` with any byte and there you have a valid pubkey which is also a valid script, although it is not a very interesting script :)  

---

### Answer by username_3 on 2018-08-24. Score: 2

It just means someone created 2 different address types with the same hash160 value. They are still valid addresses, and would be considered different (because of the different prefix, see below). I was amazed for a moment, but it looks like the 2 addresses have never spent any bitcoin :) It's almost certain the creator did not create this from a valid key pair.

If you take the hash160 value `0000000000000000000000000000000000000000` and append `00`, the standard [`P2PKH`](https://en.bitcoin.it/wiki/List_of_address_prefixes) address prefix, and then `BASE58CHECK` encode it, you get the first address `1111111111111111111114oLvT2`.

Then, change that prefix to `05`, the standard [`P2SH`](https://en.bitcoin.it/wiki/List_of_address_prefixes) address prefix, you get the second address: `31h1vYVSYuKP6AhS86fbRdMw9XHieotbST`.

```
$ printf "000000000000000000000000000000000000000000" | xxd -r -p | base58 -c
1111111111111111111114oLvT2
$ printf "050000000000000000000000000000000000000000" | xxd -r -p | base58 -c
31h1vYVSYuKP6AhS86fbRdMw9XHieotbST

```


---

