Episode 25 - Multi-Signature Wallets (MultiSigs)
Every transaction in a blockchain is signed by the sender. The signing of transactions is done using cryptographic signing algorithms, as described in episode 6 of the podcast.
In some scenarios, to perform an operation on the blockchain, there is a need to have more than one signatures on a transaction. Think of bank accounts with joint holders. Similarly, blockchain wallets could also be owned jointly by a group of accounts. These wallets are called multi-signature wallets or multi-sigs.
Multi-signature wallets are generally implemented using smart contracts. One of the smart-contract function acts as a gatekeeper for other functions and keeps track of the number of accounts needed to call a function. Once enough accounts have called this gatekeeper function, it then forwards the call to the intended function. This is how, in simple terms, multi-sigs work.
Because they are implemented using custom logic on the blockchain, multi-signature wallets can have any combination of signatures configured to use. We can have a threshold, majority, super-majority, specific accounts, and many other kinds of signature configurations in multi-signature wallets as per the need of our application.
Multi-sigs are useful in scenarios where a joint decision is needed to make a transfer or execute a function on a blockchain. For example, the transfer of funds from an organizational account where all or some of the board members must sign the transaction individually.