Multisignature vs TSS
In 2013, BitGo pioneered multisignature technology for cryptocurrency wallets. Today, BitGo offers both multisignature and threshold signature scheme (TSS) wallets, depending on the asset. The 2 methods both enable the same level of security that comes with requiring multiple signatures to transact. However, their integrations differ due to differences in their keys and signing mechanisms.
Multisignature
- The private user key exists in a complete, usable form (such as a 256-bit string for BTC).
- Keys are independent from each other.
- Each key holder has their own public key.
- Transaction signing between wallet users and BitGo doesn't need to occur in tandem.
- Multisignature cryptography occurs on chain.
- Transactions can cost more since each signature needs to broadcast to the blockchain for verification.
TSS
- The private user key doesn't exist in a complete form - it only exists in pieces called key shares.
- Key creation is a multi-step process, requiring interactions between key holders.
- All key holders share the same public key.
- TSS cryptography occurs off chain.
- Key creation uses hardened derivation (HD).
- Signing uses multiparty computation (MPC).
- Transactions can cost less since only 1 signature is communicated on the blockchain.
Key Sharing vs Key Sharding
With BitGo TSS wallets, you create key shares that, when combined, function like a private key. However, even when the key shares combine to complete a transaction, they don't construct a private key. You can't produce a private a key from you key shares.
Key sharing with BitGo is distinctly different than key sharding, because with key sharding, you can construct a viewable private key when you combine the key shards. BitGo does not use key sharding.