Editable on-chain contracts, the most powerful way to secure funds and enable joint accounts.
From that moment on, the multisig account cannot announce transactions by itself. A multisig cosignatory has to propose a transaction involving the multisig, wrapping it in an aggregate transaction.
To record the transaction in the block, the other cosignatories will have to agree.
Minimum approval and removal
It is not always necessary to force all cosignatories to cosign transactions associated with the multisig account. Sirius Chain allows to set up the minimum number of cosignatory agreements. These properties can be edited afterward to suit almost all needs.
Sirius Chain’s current implementation of multisig is “M-of-N”. This means that M can be any number equal to or less than N, i.e., 1-of-4, 2-of-2, 4-of-9, 9-of-10 and so on.
Similarly, cosignatories can invite other accounts to take part in the multisig, or propose to remove others when the defined conditions are fulfilled.
Multisig accounts are a powerful tool, but please use this tool with caution. If the cosignatories keys get lost and minimum approval is not reached, it would result in the permanent loss of access to the funds held by the multisig account. Choose wisely
minimum removal parameter to avoid this situation.
- Multisig accounts can have up to
- An account can be cosigner of up to
- Multisig accounts can have as a cosigner another multisig, up to
3levels. Multi-level multisig accounts add “AND/OR” logic to multi-signature transactions.
- Multisig modification transactions must be wrapped in an aggregate transaction. New cosignatories added to the multisig must opt-in by cosigning the aggregate.
Examples of Using Multisig Accounts
There is a broad range of useful applications for multisig accounts. Let’s take a look at some of the most common use cases.
Several families are members of the local philatelist society and use a shared account to buy stamps.
To ensure that all agree on which educational material they should buy and at the right price, they use a multisig account. This way, all members need to approve the transaction before it is included in the blockchain.
Alice wants to make sure her funds are not totally compromised. Therefore, she sets up a multisig account with her funds and attaches two accounts called "signer accounts" to control her multisig account as a form of two-factor authentication.
Both of her "signer accounts" need to approve the transaction, and her signer accounts are located on different computer platforms with different passwords. This means that when a hacker or computer virus compromise one of her accounts, the funds will be kept secure.
Example of Assets Ownership
Multisig accounts can be used to represent the ownership of assets.
A company could create a 1-of-1 multisig account for each of their products, adding themselves as the cosignatory. When the company sells the product to Alice, she becomes the owner through the action of being added as the cosigner, and the company is removed in the same transaction.
Manufacturing and supply chains
A manufacturer delivers a a pharmaceutical product by freight.
The product receives its quality approval mosaic only when its blockchain record shows it has a production date, safety inspection date, and shipping condition at the correct temperature.
Sensors in the shipping container report the temperature data every five minutes and consolidate them into a daily report.
Example of Fraud Detection
Transactions are only approved from a hardware wallet or your phone and a fraud detection artificial intelligence (AI) system. Multi-level multisig account or MLMA allows a variety of security configurations at the protocol level to keep businesses and their customers free from hackers.
Guides for Using Multisig Accounts
What to do when all required consigners have not signed the aggregate bonded transaction.
How to create a one-of-two multisig account adding two co-signatories.
How to modify an existing multisig account.
How to create a multi-level multisig account.
How to send a transaction involving a multisig. How an aggregate bonded transaction works.
Configuration parameters are editable . Public network configuration may differ.
Modify Multisig Transaction
Ways of how announcing a modify multisig account transaction to:
Transform an account to multisig.
Change the configurable properties of a multisig account.
Entity type: 0x4155
|minRemovalDelta||int8||The number of signatures needed to remove a cosignatory. If we are modifying an existing multisig account, this indicates the relative change of the minimum cosignatories.|
|minApprovalDelta||int8||The number of signatures needed to approve a transaction. If we are modifying an existing multisig account, this indicates the relative change of the minimum cosignatories.|
|modificationsCount||uint8||The number of modifications.|
|modification||array(CosignatoryModification, modificationsCount)||The array of cosignatory accounts to add or delete.|
|modificationType||CosignatoryModificationType||The cosignatory modification type.|
|cosignatoryPublicKey||32 bytes (binary)||The public key of the cosignatory.|