Glossary

Key Share

A key share is one fragment of a cryptographic private key, distributed among multiple parties so that a threshold number must cooperate to sign.

Key Takeaways

  • A key share is a fragment of a private key, split so that no single share reveals the underlying secret. A minimum threshold of shares must cooperate to produce a valid digital signature.
  • Modern threshold signature schemes like FROST allow key shares to generate partial signatures that combine into a valid signature, without ever reconstructing the full private key.
  • Spark uses key shares to manage virtual UTXOs across a federated Statechain Entity, enabling off-chain Bitcoin transfers with no single point of compromise.

What Is a Key Share?

A key share is one piece of a cryptographic private key that has been divided among multiple participants. On its own, a single key share reveals zero information about the original secret. Only when a predetermined minimum number of shares (the threshold) are brought together can the group reconstruct the key or, in modern protocols, produce a valid signature without reconstructing the key at all.

The concept originates from Adi Shamir's 1979 paper "How to Share a Secret," which introduced Shamir's Secret Sharing (SSS). In a t-of-n scheme, a secret is split into n shares such that any t shares can recover it, but t-1 or fewer shares provide no information whatsoever. This property is information-theoretic: it holds even against an adversary with unlimited computing power.

Key shares solve a fundamental problem in cryptography: eliminating single points of failure. Instead of one device or one person holding the entire private key, the key material is distributed across multiple parties, locations, or devices. An attacker must compromise the threshold number of shares to gain control.

How It Works

Key share schemes rely on polynomial interpolation over finite fields. The underlying math ensures that the threshold property is exact: t shares always suffice, and t-1 shares never do.

Splitting a Secret

In Shamir's Secret Sharing, a dealer constructs a random polynomial of degree t-1 where the constant term equals the secret:

f(x) = secret + a₁·x + a₂·x² + ... + aₜ₋₁·xᵗ⁻¹

// The coefficients a₁ through aₜ₋₁ are random
// Each participant i receives their share: sᵢ = f(i)
// Any t shares can recover f(0) = secret via Lagrange interpolation
// Fewer than t shares are consistent with every possible secret value

Lagrange interpolation reconstructs the polynomial from t evaluation points. Given shares from a subset S of t participants, the secret is recovered as:

secret = Σᵢ sᵢ · λᵢ

// where λᵢ = ∏(j≠i) (-j) / (i - j)
// All arithmetic is modulo a large prime p

From Secret Sharing to Threshold Signatures

Classic SSS has a critical limitation: reconstruction brings the full secret into a single location, creating a temporary single point of failure. Modern threshold signature protocols solve this through "interpolation in the exponent."

In FROST (Flexible Round-Optimized Schnorr Threshold Signatures, standardized as RFC 9591 in 2024), each signer uses their key share to compute a partial signature. These partial signatures are aggregated into a complete Schnorr signature that is mathematically valid and indistinguishable from a single-signer signature. The full private key never exists in any location during this process.

FROST signing works in two rounds:

  1. Commitment: each signer generates a nonce pair, computes commitments, and broadcasts them to the coordinator
  2. Signature share: each signer computes a partial signature using their key share, their nonce, and the Lagrange coefficient for their position in the signing subset

The coordinator sums the partial signatures into a final signature. Verification uses standard Schnorr verification against the group public key: no observer can tell that multiple signers were involved.

Generating Key Shares Without a Dealer

Classic SSS requires a trusted dealer who knows the entire secret during share distribution. Distributed Key Generation (DKG) eliminates this requirement. In a DKG protocol:

  1. Each participant generates their own random polynomial of degree t-1
  2. Participants exchange shares of their polynomials with each other privately
  3. Each participant publishes commitments to their polynomial coefficients using Feldman's Verifiable Secret Sharing, allowing others to verify received shares
  4. Each participant sums all received shares to compute their final key share

The group secret key is implicitly the sum of all participants' constant terms, but no single participant ever knows it. The group public key is computed from the published commitments. This approach underpins FROST's key generation and is essential for protocols like statechains where no party should hold the complete key.

Key Shares vs. Multisig

Both key shares and multisig wallets distribute signing authority, but they differ in fundamental ways:

PropertyKey Shares (Threshold Signatures)On-Chain Multisig
On-chain footprintSingle signature (64 bytes for Schnorr)Multiple signatures and a script
PrivacyIndistinguishable from single-signer transactionsReveals number of signers and threshold
Threshold flexibilityAny t-of-n without on-chain changesThreshold encoded in script
CostSame fee as a single-signature transactionHigher fees due to larger transaction size
CoordinationOff-chain communication required during signingSignatures can be collected independently

With Taproot, threshold-signed transactions using FROST appear as standard key-path spends. An observer sees a single 64-byte Schnorr signature and cannot determine whether one party or twenty produced it. This privacy and efficiency advantage is why protocols like Spark chose threshold key shares over on-chain multisig. For a detailed comparison, see the research article on MPC vs. multisig custody.

Use Cases

Institutional Custody

Custodians like Fireblocks, Coinbase, and BitGo use threshold key shares (commonly 2-of-3 or 3-of-5) to secure digital assets. Different shares reside on separate hardware security modules in different data centers or jurisdictions. An attacker who breaches one facility gains nothing: they need the threshold number of shares. Key share refresh allows custodians to rotate shares periodically, invalidating any previously compromised material without changing the public key or moving funds on-chain.

Statechain Transfers

Statechains use key shares to transfer Bitcoin ownership off-chain without broadcasting transactions. In Spark's model, each virtual UTXO is controlled by a 2-of-2 arrangement: one key share belongs to the user, and the other is collectively held by the Statechain Entity (SE) federation using FROST threshold signatures.

When Alice transfers to Bob:

  1. The SE generates a new key share for Bob
  2. The SE adjusts its own share so that the combined public key remains unchanged
  3. The SE deletes its old key share that corresponded to Alice
  4. Alice's key share becomes cryptographically useless

The on-chain UTXO never moves. From Bitcoin's perspective, nothing happened. But ownership transferred securely off-chain. For a deeper look at this architecture, see the Spark Layer 2 overview and the statechains deep dive.

Distributed Backup and Recovery

Key shares provide resilient backup for private keys. A user can split their key into 3 shares with a threshold of 2, storing shares in separate locations: a home safe, a bank deposit box, and with a trusted family member. Losing any single share does not compromise the key, and any two shares reconstruct it. This is more flexible than seed phrase backups, which are all-or-nothing. For more on this approach, see the research on Shamir backup strategies.

MPC Wallets

MPC wallets use key shares distributed between the user's device and one or more servers. A typical 2-of-3 setup places one share on the user's phone, one on the wallet provider's server, and one in cold storage for recovery. The wallet provider cannot move funds unilaterally (they hold only one share), and the user can transact normally with their device share plus the server share. This model improves key management UX while preserving user control.

Key Share Refresh

One powerful property of key share schemes is refreshability. Participants can run a "zero-secret DKG": a DKG protocol where the implicit secret is zero. Each participant adds the resulting new share to their existing share.

After refresh:

  • All key shares have new values
  • The group public key and secret key remain unchanged
  • Any previously leaked or compromised shares become useless
  • No on-chain transactions or key migrations are needed

This is critical for long-lived keys. Even if an attacker obtained a share months ago, a refresh renders it worthless. Spark's SE federation can refresh shares periodically to maintain security without requiring users to take any action.

Risks and Considerations

Nonce Management

In FROST and similar threshold signing protocols, each signer must generate fresh, random nonces for every signing session. Reusing a nonce leaks the signer's key share, just as nonce reuse in standard Schnorr signatures leaks the full private key. Implementations must use cryptographically secure random number generators and never persist nonces across sessions.

DKG Security Assumptions

During distributed key generation, the protocol assumes that fewer than t participants are malicious. If an adversary controls t or more parties during DKG, they can bias the resulting key or learn the group secret. After DKG completes, the threshold property holds: an attacker still needs t shares to sign. The vulnerability window is limited to the generation ceremony itself.

Key Deletion Cannot Be Proven

In statechain protocols, security relies on operators deleting old key shares after ownership transfers. This deletion is an operational promise: there is no cryptographic proof that data has been destroyed. Spark mitigates this through federation: the Statechain Entity consists of multiple independent operators, and security requires only that one operator honestly deletes its share. This 1-of-n trust model is significantly stronger than relying on a single operator.

Communication Overhead

Unlike multisig, where signers can produce signatures independently, threshold signing requires interactive communication rounds. Signers must exchange commitments and partial signatures in real time, introducing latency and requiring reliable networking. If a signer goes offline during a signing session, the remaining signers can still complete the signature only if they still meet the threshold.

Implementation Complexity

Threshold cryptography implementations are notoriously difficult to get right. Subtle bugs in share verification, nonce handling, or Lagrange coefficient computation can create catastrophic vulnerabilities. Independent cryptographic audits are essential for any production deployment of key share infrastructure.

This glossary entry is for informational purposes only and does not constitute financial or investment advice. Always do your own research before using any protocol or technology.