CoinPools based on m-of-n Schnorr aggregated signatures [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2020-11-16T01:32:11+00:00


Summary:

The author presents a model for m-of-n multisig transactions using Schnorr aggregate signatures to facilitate CoinPools for off-chain scalability. The model involves the creation of a pool containing all N public keys, with a specified threshold M. Deposits can be made to this pool using an OP_LOAD_POOL_AGG_PUB_KEY OP_CHECKSIG script. The redeem script requires an aggregated signature from all signers and a bitmap of signers. To support this scheme, the author proposes two new opcodes: OP_POOL and OP_LOAD_POOL_AGG_PUB_KEY.The OP_POOL opcode allows the creation of a new coin pool, while the OP_LOAD_POOL_AGG_PUB_KEY opcode loads the pool, checks if there are at least 'm' signers, aggregates the public key of the signers, and verifies the SIGNERS_BITMAP. This bitmap is a 32-byte value that represents which public keys from the pool have signed the transaction.By utilizing a large pool of signers, the proposed scheme enables scalability of m-of-n multisig transactions and provides trust-minimized off-chain scalability solutions. However, a drawback of this approach is that it requires exposing the public keys of the pool members. In addition, the author discusses the possibility of generating an m-of-n aggregated pubkey, which would involve an interactive setup and extra data storage. The current plan is to implement an OP_CHECKSIGADD, where the script would be: OP_CHECKSIGADD OP_CHECKSIGADD OP_CHECKSIGADD OP_EQUAL. However, OP_POOL would have a single m-of-m signature.Overall, the proposal seeks feedback on whether this scheme is suitable for enabling CoinPool for the Bitcoin network, considering the potential exposure of public keys.


Updated on: 2023-08-02T02:51:30.572504+00:00