MPC Committee Architecture

GoDark uses Secure Multi-Party Computation (MPC) with a 5-party committee to provide cryptographic order privacy while maintaining sub-millisecond matching latency.

How MPC Protects Your Orders

When you submit an order to GoDark, it is never sent as plaintext to any single server. Instead:

  1. Secret sharing — Your order is split into 5 cryptographic shares using Shamir Secret Sharing
  2. Distributed computation — Each share is sent to a different, independently operated node
  3. Encrypted matching — The 5 nodes compute on these shares directly — matching orders, checking prices, updating positions — without ever reconstructing the original data
  4. Threshold output — Results are only revealed when the protocol's output step combines at least 3 shares

Any single share — or even any two shares — is mathematically indistinguishable from random noise.

Shamir Secret Sharing

The 5-Party Committee

5-Party Committee & Operator Pool

PropertyDetail
Active committee size5 nodes
Threshold3-of-5 (any 3 nodes can complete a computation)
Operator poolLarge pool of vetted, bonded node operators
Operator independenceDifferent organizations, different countries, different legal jurisdictions
Fault toleranceAny 2 nodes can crash or go offline without interrupting matching

Why 5 Parties?

BenefitExplanation
Collusion resistanceAn attacker must compromise 3 independent operators (across jurisdictions) to see any order
Fault tolerance2 nodes can fail simultaneously with zero downtime — superior to single-sequencer architectures
Performance5-party Shamir with preprocessing achieves sub-millisecond latency per order
Practical threshold3-of-5 balances security (majority required) with liveness (only 3 needed to operate)

What This Means for You

Offline / Online Computation Model

GoDark uses a preprocessing model to achieve low-latency matching:

Offline/Online Phases

PhaseWhat HappensWhen
Offline (preprocessing)Nodes collaboratively generate cryptographic material in the background. This is computationally expensive but runs continuously ahead of time.Always running in background
Online (matching)When your order arrives, the matching engine consumes pre-generated material to execute comparisons and fills. Each operation requires only lightweight share arithmetic and a small number of communication rounds.At order submission time

This split is what allows GoDark to match orders in sub-millisecond latency despite running a full MPC protocol.

What Runs Inside MPC (And What Doesn't)

Not everything needs to be private. GoDark places only the privacy-sensitive operations inside the MPC boundary:

MPC Boundary

Inside MPC (Private)Outside MPC (Public)
Order content (price, size, direction)Authentication
Order matchingRate limiting
Position calculationsInput validation
Margin/risk checksSettlement to Solana (see Margin & Liquidation)

Rolling Rotation & Warm Standby

GoDark's MPC nodes are co-located (in the same datacenter) for sub-millisecond latency. To prevent this co-location from becoming a single point of failure, GoDark employs rolling rotation with warm standby across geographically distributed datacenter clusters.

Within-Cluster Rotation

Within-Cluster Rotation

PropertyDetail
Scope1 node replaced per rotation epoch
Matching downtimeZero — share refresh (Proactive Secret Sharing) happens while matching continues
EffectBreaks any forming collusion; continuously changes which operators hold active shares

After a full rotation cycle, every committee seat has been held by a different operator than when the cycle started.

Cross-Cluster Migration

Periodically, the entire active committee migrates to a different datacenter cluster in a different geographic region:

Cross-Cluster Migration

PropertyDetail
ScopeAll 5 active nodes transition to a new cluster
Matching downtimeMilliseconds (with warm standby)
EffectSystem is never in one jurisdiction long enough to be a static target

Warm Standby

To minimize disruption during cross-cluster migration, GoDark uses warm standby clusters that continuously shadow the active cluster's state. At switchover time, only a small delta needs to transfer — resulting in near-zero matching gaps that are imperceptible to traders.

Collusion Resistance

Collusion Resistance

ScenarioDifficulty
1 operator compromisedNo impact — 1 share reveals nothing
2 operators colludingNo impact — 2 shares reveal nothing (3-of-5 threshold)
3 operators colludingTheoretically possible — but operators are from different jurisdictions and rotate continuously
All 5 operators colludingWould break privacy — requires coordinated compromise of 5 independent organizations across multiple jurisdictions with continuous rotation

Fault Tolerance

Fault Tolerance

Failure ScenarioImpactRecovery
1 node crashesNone — matching continues with 4 of 5 nodesCrashed node rejoins and re-syncs
2 nodes crash simultaneouslyNone — matching continues with 3 of 5 nodes (threshold met)Nodes rejoin and re-sync
3 nodes crash simultaneouslyBrief pause — warm standby cluster takes overAutomatic failover in ~20–50ms
Active datacenter goes offline~20–50ms blip — warm standby cluster takes overAutomatic failover; no manual intervention
Network partition between nodesNodes on the majority side continue; minority side pausesAutomatic healing when partition resolves

This is a meaningful improvement over single-sequencer architectures, where any failure of the sequencer halts the entire exchange.