<p>Multisignature and threshold signature schemes deal with keys: private and public keys. Addresses before Taproot were hashes of the public key (if it required a single signature from a single key) or the script (if it required a scriptSig to satisfy this script). If you wanted to use n addresses for a threshold signature scheme you would set it up using the n public keys associated with those n addresses (i.e. before they were hashed).</p>
<p>Similarly a Taproot threshold signature (k-of-n) would be constructed using public keys rather than addresses. (In Taproot's case the address is the internal public key tweaked by the Merkle root of the Taproot tree.) It would require k signatures associated with k of the n public keys to be spent. The difference with Taproot is that the OP_CHECKMULTISIG opcode has been deprecated and replaced with OP_CHECKSIGADD (discussed in <a href="https://github.com/bitcoin/bips/blob/master/bip-0342.mediawiki" rel="nofollow noreferrer">BIP 342</a>). But you can set up threshold signature schemes with this opcode that are comparable to the threshold signature schemes you could with SegWit version 0 (ECDSA).</p>

CC BY-SA 4.0
2021-11-15T18:11:01.123Z
2021-11-15T18:37:31.057Z
2021-11-15T18:37:31.057Z
Michael Folkson
<p>Assuming we have N taproot addresses, is it possible to create an output that requires the signatures of t out N of those taproot addresses to be spent? I'm looking at a non-interactive protocol (i.e., t of the taproot addresses can independently sign the transaction and then the t signatures are all provided in the script when spending).
Just like we would have t-out-of-N threshold signatures for ECDSA public key but with taproot addresses instead.</p>

<multi-signature><taproot>
Is it possible to combine a native threshold-signature script with taproot?
sa8
# Is it possible to combine a native threshold-signature script with taproot?

(Asked by: username_0 on 2021-11-15)

Assuming we have N taproot addresses, is it possible to create an output that requires the signatures of t out N of those taproot addresses to be spent? I'm looking at a non-interactive protocol (i.e., t of the taproot addresses can independently sign the transaction and then the t signatures are all provided in the script when spending).
Just like we would have t-out-of-N threshold signatures for ECDSA public key but with taproot addresses instead.

**Tags:** multi-signature, taproot


---

## 1 answers

### Answer by username_1 on 2021-11-15. Score: 1 | Accepted answer

Multisignature and threshold signature schemes deal with keys: private and public keys. Addresses before Taproot were hashes of the public key (if it required a single signature from a single key) or the script (if it required a scriptSig to satisfy this script). If you wanted to use n addresses for a threshold signature scheme you would set it up using the n public keys associated with those n addresses (i.e. before they were hashed).

Similarly a Taproot threshold signature (k-of-n) would be constructed using public keys rather than addresses. (In Taproot's case the address is the internal public key tweaked by the Merkle root of the Taproot tree.) It would require k signatures associated with k of the n public keys to be spent. The difference with Taproot is that the OP\_CHECKMULTISIG opcode has been deprecated and replaced with OP\_CHECKSIGADD (discussed in [BIP 342](https://github.com/bitcoin/bips/blob/master/bip-0342.mediawiki)). But you can set up threshold signature schemes with this opcode that are comparable to the threshold signature schemes you could with SegWit version 0 (ECDSA).


---

