<p>That is possible, you could use a custom P2SH contract with redeem script like:</p>
<pre><code>&lt;key1.public_key&gt;
OP_CHECKSIGVERIFY
OP_1
&lt;key2.public_key&gt;
&lt;key3.public_key&gt;
OP_2
OP_CHECKMULTISIG
</code></pre>
<p>This script always requires a signature from key1, and a signature from either key2 or key3, making this a <code>1 AND 1/2</code> scheme. It would be spent using:</p>
<pre><code>OP_0
&lt;key2.signature.all_outputs&gt;
&lt;key1.signature.all_outputs&gt;
&lt;redeem_script&gt;
</code></pre>
<p>but it could be extended to any <code>L AND M/N</code>, as long as it can fit inside Script VM limits.</p>

CC BY-SA 4.0
2022-11-01T16:26:34.807Z
2022-11-01T16:26:34.807Z
bca-0353f40e
<p>Normally when you use <code>OP_CHECKMULTISIG</code> you're basically setting up something like x-of-y, where any x of the y key holders can carry out a transaction.</p>
<p>I want to know, if you can repurpose this operation in some way, so that its not just any x, but one of those x-keys needs be a specific party. How could you define a scriptPubKey such that the specific party is required <em>and</em> any 1 one of the remaining parties.</p>

<script><multi-signature>
How to use bitcoin multisig to prioritize one of the parties?
linniiin
# How to use bitcoin multisig to prioritize one of the parties?

(Asked by: username_0 on 2021-10-10)

Normally when you use `OP_CHECKMULTISIG` you're basically setting up something like x-of-y, where any x of the y key holders can carry out a transaction.

I want to know, if you can repurpose this operation in some way, so that its not just any x, but one of those x-keys needs be a specific party. How could you define a scriptPubKey such that the specific party is required *and* any 1 one of the remaining parties.

**Tags:** script, multi-signature


---

## 1 answers

### Answer by username_1 on 2022-11-01. Score: 0

That is possible, you could use a custom P2SH contract with redeem script like:

```
<key1.public_key>
OP_CHECKSIGVERIFY
OP_1
<key2.public_key>
<key3.public_key>
OP_2
OP_CHECKMULTISIG

```

This script always requires a signature from key1, and a signature from either key2 or key3, making this a `1 AND 1/2` scheme. It would be spent using:

```
OP_0
<key2.signature.all_outputs>
<key1.signature.all_outputs>
<redeem_script>

```

but it could be extended to any `L AND M/N`, as long as it can fit inside Script VM limits.


---

