Multi Sign on Savitri
When managing valuable digital assets, it’s risky to rely on a single individual holding the account key, as it might be lost or compromised. To enhance security, we use multi-signature (multisig) features. This allows the creation of accounts that need a certain number of signatures from a group to authorize transactions. For instance, in a group of 10 people, any 4 can sign to approve a transaction.
Multisig Addresses
These are special addresses created from a hash of details, known as multisig info, defining who can sign transactions. This setup keeps signer identities private until needed.
Multisig Info Object
MinSigs: Minimum signatures required to execute a transaction.
Nonce (“Access Code”): A unique number to differentiate multisig addresses with the same participants.
Addresses: A list of account addresses authorized to sign, sorted alphabetically. These can also be multisig addresses, allowing for a hierarchy.
Multisig Transaction Type
Savitri handles multisig through a single transaction type, accommodating both on-chain and off-chain behaviors without revealing signer identities prematurely. The transaction includes optional components: multisig info, the transaction details (or its hash), and signatures from co-signers.
Nodes manage multisig operations using three tables: multisig info, pending transactions, and pending signatures. Transactions are executed once all necessary components are present and valid, maintaining anonymity until execution.
Use Cases
Off-Chain Multisig: Similar to traditional multisig, where a transaction prepared off-chain is broadcast for immediate network validation.
On-Chain Multisig: Allows for sequential on-chain signature collection, useful when not all signers can coordinate off-chain.
Anonymizing Multisig Addresses: Keeps asset controllers anonymous until action is needed, with the option for many to submit signatures for plausible deniability.
Concealing Pending Transactions: Protects transaction details until enough support is gathered, enhancing privacy.
Hierarchical Multisig: Supports complex organizational decision-making structures, allowing for multiple layers of multisig requirements.
This simplified approach ensures asset security and flexibility in transaction authorization, catering to various operational needs while preserving privacy and integrity.