<p>There is no restriction on what the public keys of the multisig are (assuming they are valid public keys as defined by a particular SegWit version). If you want two of the four public keys in a 2-of-4 to be the same there is nothing to stop you with OP_CHECKMULTISIG and the new Taproot multisig opcode OP_CHECKSIGADD.</p>
<p>You can achieve something similar with a script that effectively says &quot;Alice signs OR 2-of-3 signs&quot; without repeating Alice's key in a 2-of-4.</p>
<p>You can also repeat the same public key in threshold key aggregation schemes like FROST assuming you treat the two public keys that are the same as independent public keys for the purposes of nonce generation (Thanks to nickler for confirming).</p>

CC BY-SA 4.0
2022-05-21T06:28:48.050Z
Thank you. Is there a good source for getting started with FROST? I found a paper but seemed rather dense, would be good to see something where its applied or examples of use cases.
miketery
CC BY-SA 4.0
2022-05-21T09:51:18.170Z
@miketery: Still a work in progress PR at this point. Links to various FROST resources are here: https://btctranscripts.com/sydney-bitcoin-meetup/2022-03-29-socratic-seminar/ The use case is saving block space (only one signature goes onchain when spending from it) and updating the threshold sig arrangement without needing an onchain transaction.
Michael Folkson
CC BY-SA 4.0
2022-05-20T16:01:59.080Z
2022-05-23T11:54:45.070Z
2022-05-23T11:54:45.070Z
Michael Folkson
<p>In a multi-sig wallet, each of the public keys is unique. Is it possible to create weighted multi-sig wallet, such that one private key has more power than the others?</p>
<p><strong>Case 1:</strong> typical Example (need 2 of 3 to spend):</p>
<pre><code>2 PubKeyAlice PubKeyBob PubKeyChris 3 CHECKMULTISIG
</code></pre>
<p><strong>Case 2:</strong> Duplicate public key for weighted signing (need 2 of 4 to spend):</p>
<pre><code>2 PubKeyAlice PubKeyAlice PubKeyBob PubKeyChris 4 CHECKMULTISIG
</code></pre>
<p>In this case, Alice could sign on her own (she has 2 of 4), or Bob and Chris can come together to sign.</p>
<p><strong>Case 3:</strong> No duplicate public keys, but multiple public keys controlled by one person.</p>
<p>In this case Alice would control two private keys, and then the wallet would look like:</p>
<pre><code>2 PubKeyAliceA PubKeyAliceB PubKeyBob PubKeyChris 4 CHECKMULTISIG
</code></pre>
<p>Certainly Case 3 works today. And Case 1 is the basic unweighted implementation.</p>
<p>Does Case 2 work? Or is there some alternative to make Case 2 work? (i.e. a single Private Key holder has more power / shares then others).</p>

<script><multi-signature><frost>
Is weighed multi-sig wallet possible?
miketery
# Is weighed multi-sig wallet possible?

(Asked by: username_0 on 2022-05-20)

In a multi-sig wallet, each of the public keys is unique. Is it possible to create weighted multi-sig wallet, such that one private key has more power than the others?
Case 1: typical Example (need 2 of 3 to spend):
2 PubKeyAlice PubKeyBob PubKeyChris 3 CHECKMULTISIG

Case 2: Duplicate public key for weighted signing (need 2 of 4 to spend):
2 PubKeyAlice PubKeyAlice PubKeyBob PubKeyChris 4 CHECKMULTISIG

In this case, Alice could sign on her own (she has 2 of 4), or Bob and Chris can come together to sign.
Case 3: No duplicate public keys, but multiple public keys controlled by one person.
In this case Alice would control two private keys, and then the wallet would look like:
2 PubKeyAliceA PubKeyAliceB PubKeyBob PubKeyChris 4 CHECKMULTISIG

Certainly Case 3 works today. And Case 1 is the basic unweighted implementation.
Does Case 2 work? Or is there some alternative to make Case 2 work? (i.e. a single Private Key holder has more power / shares then others).

**Tags:** script, multi-signature, frost


---

## 1 answers

### Answer by username_1 on 2022-05-20. Score: 1 | Accepted answer

There is no restriction on what the public keys of the multisig are (assuming they are valid public keys as defined by a particular SegWit version). If you want two of the four public keys in a 2-of-4 to be the same there is nothing to stop you with OP\_CHECKMULTISIG and the new Taproot multisig opcode OP\_CHECKSIGADD.

You can achieve something similar with a script that effectively says "Alice signs OR 2-of-3 signs" without repeating Alice's key in a 2-of-4.

You can also repeat the same public key in threshold key aggregation schemes like FROST assuming you treat the two public keys that are the same as independent public keys for the purposes of nonce generation (Thanks to nickler for confirming).

> **Comments:**
> **username_0**: Thank you. Is there a good source for getting started with FROST? I found a paper but seemed rather dense, would be good to see something where its applied or examples of use cases.  
> **username_1**: @username_0: Still a work in progress PR at this point. Links to various FROST resources are here: https://btctranscripts.com/sydney-bitcoin-meetup/2022-03-29-socratic-seminar/ The use case is saving block space (only one signature goes onchain when spending from it) and updating the threshold sig arrangement without needing an onchain transaction.  

---

