<p>Yes, if you provide too many signatures, it will fail on the <code>OP_EQUAL</code>. Luckily, you can easily fix it by just dropping one of the signatures and replacing it with the empty byte vector instead.</p>
<p>You could permit additional signatures by replacing <code>OP_2 OP_EQUAL</code> with <code>OP_1 OP_GREATER_THAN</code>, or with <code>OP_2 OP_GREATERTHANOREQUAL</code>, however additional signatures would increase your input’s weight, so it seems preferable to just drop superfluous signatures.</p>

CC BY-SA 4.0
2024-06-14T15:04:31.140Z
2024-06-14T17:26:39.197Z
2024-06-14T17:26:39.197Z
Murch
<p>For <a href="https://bitcoin.stackexchange.com/questions/123347/help-about-how-to-spend-op-checksigadd-multi-sig">this</a> CHECKSIGADD script for a 2-of-3 multisig:</p>
<pre><code>&lt;pk1&gt; OP_CHECKSIG &lt;pk2&gt; OP_CHECKSIGADD &lt;pk3&gt; OP_CHECKSIGADD OP_2 OP_EQUAL
</code></pre>
<p>What happens if you provide more than the 2 required signatures, in this case 3 valid signatures for the 3 associated public keys? 3 is not equal to the required 2 so the OP_EQUAL would cause the unlocking script to fail? Would you need to use a greater than or equal opcode instead of OP_EQUAL if you are going to provide more valid signatures than required?</p>

<script><multi-signature><taproot><opcodes>
Does a OP_CHECKSIGADD and OP_EQUAL script for a threshold signature fail if you provide too many valid signatures in the unlocking script?
Michael Folkson
# Does a OP_CHECKSIGADD and OP_EQUAL script for a threshold signature fail if you provide too many valid signatures in the unlocking script?

(Asked by: username_0 on 2024-06-14)

For [this](https://bitcoin.stackexchange.com/questions/123347/help-about-how-to-spend-op-checksigadd-multi-sig) CHECKSIGADD script for a 2-of-3 multisig:

```
<pk1> OP_CHECKSIG <pk2> OP_CHECKSIGADD <pk3> OP_CHECKSIGADD OP_2 OP_EQUAL

```

What happens if you provide more than the 2 required signatures, in this case 3 valid signatures for the 3 associated public keys? 3 is not equal to the required 2 so the OP\_EQUAL would cause the unlocking script to fail? Would you need to use a greater than or equal opcode instead of OP\_EQUAL if you are going to provide more valid signatures than required?

**Tags:** script, multi-signature, taproot, opcodes


---

## 1 answers

### Answer by username_1 on 2024-06-14. Score: 2 | Accepted answer

Yes, if you provide too many signatures, it will fail on the `OP_EQUAL`. Luckily, you can easily fix it by just dropping one of the signatures and replacing it with the empty byte vector instead.

You could permit additional signatures by replacing `OP_2 OP_EQUAL` with `OP_1 OP_GREATER_THAN`, or with `OP_2 OP_GREATERTHANOREQUAL`, however additional signatures would increase your input’s weight, so it seems preferable to just drop superfluous signatures.


---

