Path: blob/main/frontier/12-mpc/connect/threshold-wallets.ipynb
483 views
Connect: Threshold Wallets in Cryptocurrency
Module 12 | Real-World Connections
Split a signing key across multiple devices so no single point of compromise exists.
Introduction
A cryptocurrency wallet is controlled by whoever holds the private signing key. If that key lives on a single device, it is a single point of failure: theft, hardware failure, or a compromised employee means total loss.
Threshold wallets solve this using Shamir secret sharing (Notebook 12a): split the signing key into shares distributed across different devices or custodians, with a threshold of required to produce a signature.
For example, a 2-of-3 threshold wallet might distribute shares to:
A hardware wallet (cold storage)
A mobile phone (hot wallet)
A cloud backup (recovery)
Any 2 of these can sign a transaction; losing any 1 does not compromise the funds.
The key insight: the full private key is never reconstructed on any single device. Instead, parties compute partial signatures using their shares and combine them via Lagrange interpolation.
Shamir Sharing of the Signing Key
We start by splitting a "signing key" into Shamir shares. In real threshold ECDSA/Schnorr, the key is a scalar in the elliptic curve group. Here we work over a small prime field to see the mechanics clearly.
Threshold Signing (Simplified)
In a real threshold signature scheme (e.g., threshold Schnorr or GG20 for ECDSA), each party computes a partial signature using their key share, and the partial signatures are combined using Lagrange coefficients.
Here we simulate this with a simplified "signature" where is a hash of the message. Each party computes:
where is the Lagrange coefficient for party 's evaluation point. The full signature is .
The critical property: no party ever sees the full key .
Security: One Compromised Device Is Not Enough
If an attacker steals one device (one share), they cannot sign because they hold fewer than shares. From a single share, the key could be any value in --- the share reveals nothing.
Real-World Threshold Wallet Deployments
| Company | Protocol | Threshold | Use Case |
|---|---|---|---|
| Fireblocks | MPC-CMP (GG20 variant) | Configurable | Institutional custody |
| ZenGo | 2-party threshold Schnorr | Consumer wallet | |
| BitGo | Multi-sig + threshold | Exchange custody | |
| Coinbase | Threshold ECDSA | Institutional clients |
The shift from traditional multi-sig (which requires on-chain support) to threshold signatures (which look like regular signatures on-chain) is one of the biggest practical applications of MPC.
Concept Map: Module 12 Threshold Wallets
| Module 12 Concept | Threshold Wallet Application |
|---|---|
| Shamir secret sharing | Splitting the signing key into shares |
| Lagrange interpolation | Combining partial signatures into a full signature |
| threshold property | -of- signing policy (e.g., 2-of-3) |
| Information-theoretic security | One stolen share reveals nothing about the key |
| Feldman VSS | Verifying share consistency during key generation |
| Beaver triples / SPDZ | Multiplications needed in threshold ECDSA |
Every building block from this module has a direct role in real threshold wallet implementations.
Summary
| Concept | Key idea |
|---|---|
| Key splitting | The signing key is divided into Shamir shares across multiple devices |
| Partial signatures | Each device independently computes a signature fragment using its share |
| Lagrange combination | Partial signatures are combined into the full signature via interpolation |
| No key reconstruction | The full key never exists on any single device at any point |
| Theft resistance | Losing up to devices reveals nothing about the key (information-theoretic security) |
| Availability | Losing up to devices still leaves enough shares to sign |
This is one of the most successful real-world deployments of MPC, protecting billions of dollars in cryptocurrency across institutional and consumer wallets.