Author: Ali Sherief 2022-08-20 13:49:05
Published on: 2022-08-20T13:49:05+00:00
The proposed solution aims to improve the privacy provided by Taproot script paths when constructing Multisig outputs and spends. Currently, using OP_CHECKMULTISIG has drawbacks that compromise the privacy of co-signers and is not compatible with Taproot. The proposed algorithm addresses these issues and takes an integer value m and an array of m TapScripts as byte-arrays as inputs to construct K-of-N Multisig outputs. In this algorithm, the included scripts are written in a specific format, representing a unique combination of K public keys from the total set of N public keys. This BIP fills a gap in existing BIPs and can be useful for Layer 2 protocols that use multisig and BIP322 message signatures if UTXO delegation is desired.The Taproot Multisig Construction algorithm is used to construct Taproot outputs with multisignature spending conditions. It takes as inputs an integer value m representing the number of scripts, an array of m TapScripts as byte-arrays, and returns a scriptPubKey including the hash of the generated witness program and push bytes. To spend K-of-N Multisig outputs, an integer value m greater than 0, an array scripts of m TapScripts, an integer value j indicating which multisignature TapScript will be used to spend the output, and the witness stack inputs of the script scripts[i] as an array of byte-arrays are required. A table of output sizes is provided for the first few values of N and K, where 1-of-N Multisig TapScripts have the smallest witness output, and K-of-N Multisig Tapscripts with K > 1 and progressively increasing to N-1 have increasingly larger sizes.Delegation schemes like Lightning Network channels use only a combination of 1-of-N and N-of-N multisig transactions, with small N > 1. Overall, the proposed solution offers improved privacy and compatibility with Taproot, making it a useful addition to the existing BIPs.
Updated on: 2023-05-22T21:05:07.771716+00:00