<p>It is considered a bad practice to reuse addresses (which are representative of specific output scripts). Reused addresses reveal that a recipient in otherwise unrelated transactions is the same entity. Additionally, it is considered good practice to provide a fresh address for each payment attempt, as it allows the addresses to take the character of invoices and uniquely identify the context of the payment executed by the transaction output.</p>
<p>In practice, addresses unfortunately frequently get reused. In a <a href="https://blog.bitmex.com/bitcoin-address-re-use-statistics/" rel="nofollow noreferrer">blog post</a> from February 2022, BitMEX Research details that at the time of writing about 50% of transaction outputs were being sent to previously used addresses. The blog post goes into additional statistics surrounding the topic.</p>

CC BY-SA 4.0
2022-12-29T22:29:41.593Z
2022-12-29T22:29:41.593Z
Murch
<p>Let's look at an <a href="https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#p2wsh-nested-in-bip16-p2sh" rel="nofollow noreferrer">example</a> of this type of transaction:</p>

<p>The following example is the same 1-of-2 multi-signature P2WSH script, but nested in a BIP16 P2SH output.</p>

<pre><code>witness:      0 &lt;signature1&gt; &lt;1 &lt;pubkey1&gt; &lt;pubkey2&gt; 2 CHECKMULTISIG&gt;
scriptSig:    &lt;0 &lt;32-byte-hash&gt;&gt;
              (0x220020{32-byte-hash})
scriptPubKey: HASH160 &lt;20-byte-hash&gt; EQUAL
              (0xA914{20-byte-hash}87)
</code></pre>

<p>So, let's say the user that created this script accepts multiple payments to this same script. In order to spend the Bitcoin received at the script, they must provide the same <code>redeemScript</code>, but one thing will change with each transaction, and that is the <code>&lt;signature1&gt;</code>. Since the transactions are not exactly the same each time, the data being signed will change, and even though it was signed with potentially the same key (could use key2), it will produce a different signature.</p>

<p>This isn't necessarily bad, but it is more common to see a business or vendor generate new script/addresses for each payment they receive so it can be easily tracked and verified.</p>

CC BY-SA 4.0
2019-07-17T14:22:34.967Z
2019-07-17T14:22:34.967Z
JBaczuk
<p>In regards to P2SH-P2WSH transactions, are Txout-script values identical between transactions?  Is it reasonable to expect a business or vendor that accepts bitcoin to be using the same redeemScript for all transactions and use the same Txout-script value? Would users benefit from this value rotating?</p>

CC BY-SA 4.0
2019-07-15T20:07:17.843Z
Do you mean the same *policy* being reused, or the actual script being reused? (usually the keys will change, but all of them will be 2-of-3 or something like that)
Pieter Wuille
CC BY-SA 4.0
2019-07-15T22:07:52.067Z
@PieterWuille Both, but this is a technical question.
Rook
<segregated-witness><script><p2sh><address-reuse><p2wsh>
In practice, are redeemScripts commonly reused?
Rook
# In practice, are redeemScripts commonly reused?

(Asked by: username_0 on 2019-07-15)

In regards to P2SH-P2WSH transactions, are Txout-script values identical between transactions? Is it reasonable to expect a business or vendor that accepts bitcoin to be using the same redeemScript for all transactions and use the same Txout-script value? Would users benefit from this value rotating?

**Tags:** segregated-witness, script, p2sh, address-reuse, p2wsh

> **Comments:**
> **username_1**: Do you mean the same *policy* being reused, or the actual script being reused? (usually the keys will change, but all of them will be 2-of-3 or something like that)  
> **username_0**: @username_1 Both, but this is a technical question.  

---

## 2 answers

### Answer by username_2 on 2022-12-29. Score: 1

It is considered a bad practice to reuse addresses (which are representative of specific output scripts). Reused addresses reveal that a recipient in otherwise unrelated transactions is the same entity. Additionally, it is considered good practice to provide a fresh address for each payment attempt, as it allows the addresses to take the character of invoices and uniquely identify the context of the payment executed by the transaction output.

In practice, addresses unfortunately frequently get reused. In a [blog post](https://blog.bitmex.com/bitcoin-address-re-use-statistics/) from February 2022, BitMEX Research details that at the time of writing about 50% of transaction outputs were being sent to previously used addresses. The blog post goes into additional statistics surrounding the topic.


---

### Answer by username_3 on 2019-07-17. Score: 0

Let's look at an [example](https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#p2wsh-nested-in-bip16-p2sh) of this type of transaction:

The following example is the same 1-of-2 multi-signature P2WSH script, but nested in a BIP16 P2SH output.

```
witness:      0 <signature1> <1 <pubkey1> <pubkey2> 2 CHECKMULTISIG>
scriptSig:    <0 <32-byte-hash>>
              (0x220020{32-byte-hash})
scriptPubKey: HASH160 <20-byte-hash> EQUAL
              (0xA914{20-byte-hash}87)

```

So, let's say the user that created this script accepts multiple payments to this same script. In order to spend the Bitcoin received at the script, they must provide the same `redeemScript`, but one thing will change with each transaction, and that is the `<signature1>`. Since the transactions are not exactly the same each time, the data being signed will change, and even though it was signed with potentially the same key (could use key2), it will produce a different signature.

This isn't necessarily bad, but it is more common to see a business or vendor generate new script/addresses for each payment they receive so it can be easily tracked and verified.


---

