<p>You can insert two OP_HASH160 after the OP_DUP and then push the hash of your pubKeyHash. Nobody can tell the recipient address this way.</p>

<p>Example:</p>

<pre><code>OP_DUP OP_HASH160 OP_HASH160 double_double_hash OP_EQUALVERIFY OP_CHECKSIG 
</code></pre>

<p>Where</p>

<pre><code>double_double_hash = RIPEMD160(SHA256(RIPEMD160(SHA256(pubKey))))
</code></pre>

CC BY-SA 3.0
2014-03-14T01:26:13.077Z
Of course, this only works once. When you use the same trick to send more coins to the same address, it will be obvious that they are going to the same place.
Nate Eldredge
CC BY-SA 3.0
2014-03-14T02:47:36.867Z
You can always use fancier opcodes, for example add a random constant and an 'OP_ADD' between two OP_HASH160 opcodes. Of cource it is still very obvious that nobody else is using such crazy scripts.
uminatsu
CC BY-SA 3.0
2014-03-13T20:25:05.063Z
2014-03-13T20:46:32.203Z
2014-03-13T20:46:32.203Z
uminatsu
<p>Is it possible to hide the balance of an address from standard clients who may be watching blockchain?</p>

<p>I'm thinking about using script to modify the the key that is to be verified, but am having trouble concocting such a script.</p>

<p>Is there any prior work that does obfuscate the RIPE160 address?</p>

CC BY-SA 3.0
2014-03-13T19:20:15.453Z
Why? I don't see why this is preferable to simply not reusing addresses.
Tim S.
CC BY-SA 3.0
2014-03-13T19:23:58.853Z
It's a thought experiment, perhaps it's useful to someone. Perhaps not.
makerofthings7
<script><privacy><ripemd160>
What are some valid ways to obfuscate the scriptPubKey?
makerofthings7
# What are some valid ways to obfuscate the scriptPubKey?

(Asked by: username_0 on 2014-03-13)

Is it possible to hide the balance of an address from standard clients who may be watching blockchain?

I'm thinking about using script to modify the the key that is to be verified, but am having trouble concocting such a script.

Is there any prior work that does obfuscate the RIPE160 address?

**Tags:** script, privacy, ripemd160

> **Comments:**
> **username_1**: Why? I don't see why this is preferable to simply not reusing addresses.  
> **username_0**: It's a thought experiment, perhaps it's useful to someone. Perhaps not.  

---

## 1 answers

### Answer by username_2 on 2014-03-13. Score: 1

You can insert two OP\_HASH160 after the OP\_DUP and then push the hash of your pubKeyHash. Nobody can tell the recipient address this way.

Example:

```
OP_DUP OP_HASH160 OP_HASH160 double_double_hash OP_EQUALVERIFY OP_CHECKSIG 

```

Where

```
double_double_hash = RIPEMD160(SHA256(RIPEMD160(SHA256(pubKey))))

```

> **Comments:**
> **username_3**: Of course, this only works once. When you use the same trick to send more coins to the same address, it will be obvious that they are going to the same place.  
> **username_2**: You can always use fancier opcodes, for example add a random constant and an 'OP_ADD' between two OP_HASH160 opcodes. Of cource it is still very obvious that nobody else is using such crazy scripts.  

---

