Multi-Signature Wallets: Shared Control for Enhanced Security
Multi-signature (MultiSig) wallets provide a foundational layer of enhanced security by requiring multiple approvals for any transaction. Instead of a single private key controlling a wallet, a MultiSig wallet mandates that a threshold number of authorized parties must sign a transaction before it can be executed. This is analogous to requiring multiple signatures on a check or multiple keys to open a safe. Each MultiSig wallet is configured with n authorized signers and a threshold t (where t ≤ n). A transaction requires at least t valid signatures to be considered valid and executed. These signers use independent generation of their unique keys that are non-shared with other users. In order to send a transaction, the following steps need to be followed:- A user (or an automated process) initiates a transaction, specifying details like the recipient address and the amount. This transaction request is presented to each of the n authorized signers.
- Signers who approve the transaction use their unique private key to generate a digital signature specific to that transaction, using ECDSA (Elliptic Curve Digital Signature Algorithm).
- Once the threshold of t signatures is collected, the transaction is ready for submission to the blockchain.
- the contract stores details like ‘v,r,s.’
- Retrieval is easy, as every wallet member can sign the details using
ecrecover.
- Verifying is performed by the
verifySignature
function that validates the signature.
Threshold Signature Scheme (TSS): Advanced Security Through Distributed Key Management
Going beyond MultiSig, OmniSafe offers Threshold Signature Schemes (TSS) as an advanced cryptographic approach for distributing signing authority. TSS takes security a step further: instead of each signer holding a separate private key, it splits a single private key into multiple shares. No single party holds the complete key, and a threshold number of shares must be combined to create a valid signature. Key Splitting & Distribution:- The private key is split into n shares using cryptographic techniques like Shamir’s Secret Sharing (SSS), as discussed previously.
- A threshold t (where t ≤ n) is defined, representing the minimum number of shares required to sign a transaction.
- These shares are distributed among independent parties or devices. Each party securely stores their share.
- When a transaction needs to be signed, a secure multi-party computation (MPC) protocol is initiated among the participating parties.
- Each party uses their individual key share as input to the MPC protocol, along with a random number.
- The MPC protocol allows these parties to collaboratively generate a digital signature that is valid under the original public key corresponding to the split private key.
- Importantly, the private key itself is never reconstructed during this process, ensuring that it remains protected at all times. This removes the risk of human involvement and is a mathematical procedure.
- No Single Point of Failure: At no point does a single entity possess the entire private key. An attacker must compromise at least t shares to create a valid signature.
- Robustness in Adverse Conditions: Even if some participants are offline or compromised, as long as the threshold t is met, the system can still generate valid signatures.
- Forward Secrecy: By rotating key shares periodically, even if an attacker compromises shares at one point in time, they cannot use these shares to sign transactions indefinitely.