Multisig
A multisig account is an Aura account with a special key that can require more than one signature to sign transactions. This can be useful for increasing the security of the account or for requiring the consent of multiple parties to make transactions. Multisig accounts can be created by specifying:
- Threshold number of signatures required
- The public keys involved in signing
To sign with a multisig account, the transaction must be signed individually by the different keys specified for the account. Then, the signatures will be combined into a multi-signature which can be used to sign the transaction. If fewer than the threshold number of signatures needed are present, the resultant multi-signature is considered invalid.
Here are all the steps:
📄️ Generate a Multisig key
K is the minimum number of private keys that must have signed the transactions that carry the public key's address as signer.
📄️ Create multisig transaction
To send a transaction using the multisig wallet, first, you must create a transaction with the flag --generate-only. This will build an unsigned transaction encoded and write it to the file. You can create a transaction that has a different message type as examples below:
📄️ Signing a multisig transaction
To sign a transaction with a multisig wallet, you need to send the transaction file to each member and which in turn will generate their respective signature. For example, a multisig wallet is created with a threshold of 2/3. You need at least 2 signatures and then combine them into to a multi-signature. That signature will be used to broadcast in the next step.
📄️ Broadcast multisig transaction
When you have enough signatures of owners and combine them into a multi-signature, you need to broadcast it. The transaction will execute and add to the block.