Spark's Trust Model Explained: Statechain Operators, Key Deletion, and Liveness Guarantees
Spark relies on statechain operators who must delete old key shares. Breaking down the trust model, liveness requirements, and failure modes.
Every Bitcoin Layer 2 makes tradeoffs. Lightning requires channel management and online presence. Liquid trusts a federation of functionaries. Rollups depend on sequencers and data availability layers. Spark takes a different approach: it uses statechain operators who collectively hold one half of a two-of-two signing arrangement, distributing that key across multiple independent parties via FROST threshold signatures. The result is a trust model where no single operator can steal funds, and users retain a unilateral exit to Bitcoin L1 at all times.
But this model rests on a critical assumption: operators must delete old key shares after every transfer. That assumption cannot be proven cryptographically. This article examines exactly what Spark's trust model guarantees, where the assumptions lie, and how it compares to other Bitcoin L2 protocols.
How Spark's Two-of-Two Signing Works
Spark secures funds using a two-of-two multisig structure. One key belongs to the user. The other belongs to the Spark Entity: a collective of independent operators who never individually possess the complete key. Instead, the Spark Entity's key share is generated and managed through FROST (Flexible Round-Optimized Schnorr Threshold) signatures, a threshold signing scheme built on Schnorr signatures.
Neither the user nor the operators can move funds alone. The user cannot spend without the Spark Entity co-signing. The Spark Entity cannot spend without the user's signature. This preserves self-custody: operators never have unilateral control over user funds.
FROST and Distributed Key Generation
The Spark Entity does not hold a single private key. Instead, each operator holds a key share generated through distributed key generation (DKG). The complete operator key never exists in one place at any time. When co-signing is required, operators participate in a threshold signing ceremony: a subset of operators (meeting the threshold) can produce a valid signature without reconstructing the full key.
FROST is particularly well-suited for this because it requires only two rounds of communication for signing, making it practical for real-time transfers. It is also compatible with Taproot and BIP-340 Schnorr signatures, meaning Spark transactions are indistinguishable from regular single-signature Taproot spends on-chain.
Why FROST over multisig: Traditional on-chain multisig reveals the number of signers and the threshold to anyone inspecting the blockchain. FROST produces a single aggregated signature that looks identical to an ordinary Schnorr signature, preserving privacy and reducing on-chain footprint.
The Key Deletion Assumption
When Alice transfers funds to Bob on Spark, no on-chain transaction occurs. Instead, the Spark Entity generates a new key share for Bob and mathematically adjusts its own key share to match. Alice's old key share becomes cryptographically useless, but only if the operators actually delete their corresponding old shares.
This is the central trust assumption in Spark's statechain model: after each transfer, every operator must destroy the key material associated with the previous owner. If they do, the previous owner has no way to produce a valid co-signature, even if they collude with operators. The protocol achieves what Spark's documentation calls moment-in-time trust: trust is required only during the transfer itself, not perpetually.
Why Key Deletion Cannot Be Proven
There is no cryptographic mechanism to prove that a piece of data has been deleted. This is a fundamental limitation of computer science, not a flaw in Spark's design. An operator could copy key material to an air-gapped device, back it up to external storage, or simply retain it in memory. No protocol can verify the absence of data on a machine it does not control.
This makes key deletion a trust assumption rather than a cryptographic guarantee. The original statechain proposal by Ruben Somsen acknowledged this directly. Spark mitigates the risk through distribution: with multiple independent operators running FROST, an attacker would need a threshold number of operators to all retain old shares and then collude with a previous owner.
What Happens If Operators Retain Old Keys
If a threshold of operators secretly retains old key shares, the worst case is a double-spend: a previous owner could collude with those operators to produce a valid co-signature and attempt to move funds that now belong to someone else. However, this scenario requires:
- A threshold number of operators to all independently decide to retain key material (not just one rogue operator)
- Those operators to then actively collude with a specific previous owner
- The current owner to not have already exited to L1 using their pre-signed exit transaction
The 1-of-n honesty assumption means that as long as a single operator honestly deletes its key share, no threshold can be reached for reconstructing the old operator key. With the current operator set of Lightspark and Flashnet, this means one honest operator is sufficient to prevent double-spending.
Perfect forward security: Once key shares are deleted, the transfer is final even if an operator is later compromised. An attacker who gains access to an operator after the fact finds no useful key material for past transfers: only the current key shares exist.
Liveness Requirements and Failure Modes
Liveness in Spark refers to the operators being online and responsive. Unlike safety (protecting funds from theft), liveness concerns whether the system can process new transactions. These are distinct failure modes with different consequences.
What Operators Must Be Online For
Operators must be available to co-sign any new Spark transfer. Every transfer requires the Spark Entity to participate in the FROST signing ceremony to generate the new owner's key arrangement. Without operator participation, no new transfers can occur on Spark.
Operators also serve as watchtowers, monitoring the Bitcoin blockchain for fraudulent exit attempts by previous owners. If a previous owner attempts to broadcast an old exit transaction, operators detect this and can alert the current owner or intervene.
What Happens When Operators Go Offline
If the entire Spark Entity goes offline, two things happen:
- New Spark transfers stop: users cannot send or receive on the Spark layer
- Existing funds remain safe: users can exit to Bitcoin L1 at any time using pre-signed exit transactions
The distinction matters. Operator downtime is an availability problem, not a security problem. Users never lose access to their Bitcoin: they lose access to the speed and cost advantages of transacting on Spark. The fallback is always the Bitcoin base layer.
Partial Operator Failure
Because FROST uses threshold signing, the system can tolerate some operators going offline as long as the threshold is still met. If Spark runs a 2-of-3 threshold and one operator goes down, the remaining two can continue processing transfers. This is a significant advantage over a single statechain entity model, where one operator failure halts everything.
Unilateral Exit: The Safety Valve
Every user who receives funds on Spark also receives a pre-signed exit transaction. This transaction can be broadcast to the Bitcoin blockchain at any time, without needing operator cooperation. It is the mechanism that makes Spark non-custodial: regardless of what operators do, users can always reclaim their Bitcoin on L1.
How Exit Transactions Work
When funds are deposited or transferred to a user on Spark, the protocol creates a time-locked exit transaction signed by both the user and the Spark Entity. This transaction spends from the on-chain UTXO back to an address controlled solely by the user. The timelock ensures an ordering priority: the most recent owner has the shortest timelock, guaranteeing they can claim funds before any previous owner.
Decreasing timelocks create a natural ownership hierarchy. If Alice transfers to Bob, Bob's exit transaction has a lower timelock than Alice's. If Bob then transfers to Carol, Carol's timelock is lower still. In a dispute, the current owner always wins the race.
Exit Constraints and Costs
Unilateral exits are not free. They require broadcasting an on-chain transaction and paying the prevailing Bitcoin fee rate. During periods of high on-chain congestion, exit costs can be significant, particularly for small balances. This is a limitation shared by all Bitcoin L2 solutions: the base layer's fee market determines the cost of falling back to L1.
Additionally, the exit process involves multiple stages for Spark's leaf structure. A user with funds spread across multiple leaves may need to broadcast several transactions to fully exit, increasing the total cost. Cooperative exits (where operators assist) are faster and cheaper, but unilateral exit ensures users are never trapped.
Trust Model Comparison Across Bitcoin L2 Protocols
No Bitcoin Layer 2 achieves the same trust guarantees as the base layer. Each protocol makes distinct tradeoffs between trust requirements, functionality, and user experience. The following table compares the trust models of major Bitcoin L2 approaches.
| Property | Spark | Lightning | Fedimint | Liquid | Ark |
|---|---|---|---|---|---|
| Trust model | 1-of-n operators (key deletion) | Peer-to-peer (channel counterparty) | t-of-n guardians (e.g. 3-of-4) | 11-of-15 functionaries | ASP (Ark Service Provider) |
| Custody | Self-custodial | Self-custodial | Custodial (federated) | Federated custody | Self-custodial |
| Theft scenario | Threshold operators + previous owner collude | Counterparty broadcasts revoked state | Threshold guardians collude | 11+ functionaries collude | ASP withholds co-signatures |
| Unilateral exit | Yes (time-locked) | Yes (force close) | No | No | Yes (time-locked) |
| Liveness requirement | Operators for new transfers | Counterparty for cooperative close | Threshold guardians for all operations | 11 functionaries for peg-out | ASP for new rounds |
| Penalty mechanism | None (timelock ordering) | Justice transaction (full channel balance) | None | None | None (timelock ordering) |
| Channel/liquidity management | Not required | Required | Not required | Not required | Not required |
Spark vs Lightning: Channels and Counterparties
Lightning is fully trustless in theory: it relies on game-theoretic incentives rather than trusted third parties. Each payment channel is a two-of-two multisig between two peers, and either party can force-close the channel at any time. If one party broadcasts a revoked state, the other can claim the entire channel balance via a justice transaction.
The tradeoff is operational complexity. Channel liquidity must be actively managed. Users need inbound liquidity to receive payments. Receiving requires being online. And routing payments across multiple hops introduces routing fees and reliability concerns. Spark eliminates all of these at the cost of trusting that at least one operator deletes key shares honestly.
Spark vs Fedimint: Federation Trust
Fedimint uses a federation of guardians who collectively custody user funds. Users deposit Bitcoin into the federation and receive ecash tokens in return. The guardians operate a threshold multisig (typically 3-of-4 or similar), and a threshold of colluding guardians could steal all deposited funds.
The key difference: Fedimint is explicitly custodial. Users trust the federation with their Bitcoin. Spark's operators never have unilateral control: the two-of-two structure means the user's key is always required. Additionally, Fedimint users cannot unilaterally exit: they must request a withdrawal from the federation. Spark users can always broadcast their pre-signed exit transaction without permission.
Spark vs Liquid: Functionary Model
Liquid operates with 15 functionaries running hardware security modules. An 11-of-15 threshold is required for peg-outs and block signing. Like Fedimint, this is a federated custody model: users trust that fewer than 11 functionaries will collude. Liquid's advantage is a broader federation (87 members participate in governance), but the core signing set remains 15 entities.
Spark's model differs structurally. Even if all Spark operators collude, they cannot move user funds without the user's key. In Liquid, a threshold of colluding functionaries controls the federation's multisig and could theoretically redirect peg-out funds.
Operator Selection and Rotation
Spark currently operates with two operators: Lightspark (the protocol's creator) and Flashnet. Lightspark has publicly committed to expanding the operator set, and Breez has been announced as an additional Spark Service Provider. The broader goal is to include operators across diverse jurisdictions and organizational structures, reducing the risk of coordinated coercion or single points of failure.
How Operator Expansion Works
Adding a new operator to the FROST threshold scheme requires a new key ceremony. Through DKG, the existing operator set and the new operator collectively generate new key shares such that the group key changes but the underlying on-chain UTXO does not need to move. The threshold parameter (how many operators must participate to sign) can be adjusted during this process.
Operator rotation follows a similar procedure. If an operator needs to be removed (whether voluntarily or due to misbehavior), the remaining operators and any replacement can run a new DKG ceremony. The old operator's key shares become useless after the ceremony completes, and the same key deletion assumption applies: the departing operator must delete its old material.
Open Questions on Decentralization
The current operator set is small, and operators are selected by Lightspark rather than through a permissionless process. This raises legitimate questions: can anyone run an operator, or is there a gatekeeping function? The Spark protocol is open source, and the technical barrier to running an operator node is not prohibitive. However, being included in the active operator set requires coordination with existing operators for the DKG ceremony.
This is an area where Spark is expected to evolve. A larger and more diverse operator set strengthens the 1-of-n honesty assumption significantly. With two operators, the assumption requires trusting that at least one of two specific entities is honest. With ten operators across different jurisdictions, legal systems, and organizational incentives, the assumption becomes substantially stronger.
Failure Mode Analysis
Understanding a protocol's trust model means understanding precisely what can go wrong. The following table maps Spark's failure modes to their consequences and mitigations.
| Failure Mode | Consequence | User Recourse | Severity |
|---|---|---|---|
| Single operator goes offline | No impact if threshold still met | Transfers continue normally | Low |
| All operators go offline | No new Spark transfers | Unilateral exit to L1 | Medium |
| Operator censors specific user | User cannot transact on Spark | Unilateral exit to L1 | Medium |
| Threshold operators retain old keys | Potential double-spend with previous owner | Exit to L1 before attack executes | High |
| All operators collude (without old keys) | Censorship only, no theft possible | Unilateral exit to L1 | Medium |
| High on-chain fees during exit | Small balances uneconomical to exit | Wait for lower fees or consolidate | Low to Medium |
The highest-severity scenario (operators retaining old keys) is also the hardest to execute. It requires multiple independent operators to simultaneously violate the protocol, then coordinate with a specific previous owner, all without detection. The 1-of-n assumption means this becomes exponentially harder as the operator set grows.
Comparing Trust Assumptions Honestly
Every trust model involves assumptions. Lightning assumes your counterparty will not broadcast a revoked state, or that your watchtower will catch it. Fedimint assumes a threshold of guardians will remain honest. Liquid assumes the same of its functionaries. Spark assumes operators will delete key shares.
The question is not which model has zero trust assumptions: none do, including Bitcoin L1 (which assumes a majority of mining hash power is honest). The question is which assumptions are most appropriate for a given use case.
The honest assessment: Spark's key deletion assumption is unverifiable but mitigated by distribution. Lightning's assumptions are cryptographically enforceable but operationally demanding. Fedimint and Liquid offer simplicity at the cost of full custody. There is no universally superior trust model: only tradeoffs appropriate to different users and use cases.
For users who prioritize simplicity and are comfortable trusting that at least one operator in a distributed set behaves honestly, Spark offers instant transfers with self-custody and a guaranteed exit path. For users who want cryptographic enforcement of every state transition, Lightning remains the most trustless option, with the associated complexity.
Building on Spark's Trust Model
Developers integrating with Spark should understand these trust assumptions and communicate them clearly to their users. The Spark SDK documentation provides implementation details for key management, transfer flows, and exit transaction handling. For a practical example of a wallet built on Spark's trust model, General Bread demonstrates how these guarantees translate into a consumer-facing product.
For deeper background on the underlying cryptographic primitives, see our explainers on FROST threshold signatures and statechains as a Bitcoin scaling approach. For a broader comparison of Layer 2 tradeoffs, see the Bitcoin L2 trust model comparison.
This article is for educational purposes only. It does not constitute financial or investment advice. Bitcoin and Layer 2 protocols involve technical and financial risk. Always do your own research and understand the tradeoffs before using any protocol.

