1. The Distributed Consensus Challenge

In an open decentralized network, thousands of independent computers must agree on the exact order and validity of state changes without a central clock or master authority. Because network packets travel across global fiber cables at varying speeds, different nodes observe transactions at slightly different times.

Dime implements a Proof-of-Stake consensus framework combined with Byzantine Fault Tolerant (BFT) voting to guarantee that once a block is finalized, it cannot be reversed or reorganized without the collusion of more than one-third of the active network stake.

+-------------------------------------------------------------------------+
|                         VALIDATOR CONSENSUS ROUND                       |
+-------------------------------------------------------------------------+
|  [ Epoch Start ] -> [ Slot Leader Proposes Block B_k ]                  |
|                           │                                             |
|                           ▼                                             |
|  [ Committee Gossip: Validate Signatures & State Roots ]               |
|                           │                                             |
|                           ▼                                             |
|  [ Phase 1: Pre-Vote (2/3+ Stake Weight Required) ]                     |
|                           │                                             |
|                           ▼                                             |
|  [ Phase 2: Pre-Commit / Finality Lock (2/3+ Signatures Appended) ]    |
|                           │                                             |
|                           ▼                                             |
|  [ Block B_k Permanently Committed to Distributed Ledger ]              |
+-------------------------------------------------------------------------+

2. Slashing Conditions: Enforcing Cryptographic Honesty

To prevent validator operators from acting maliciously or running reckless failover scripts, the consensus protocol enforces automated slashing penalties:

  1. Equivocation (Double Signing): If a validator node signs two different block proposals for the exact same slot height, cryptographic proofs of both signatures can be submitted by any network observer. The consensus engine instantly burns a substantial portion of the validator’s bonded stake and permanently removes the node from the active set.
  2. Surround Voting: A validator must not sign a vote that surrounds or is surrounded by another vote they previously made in a historical consensus epoch.
  3. Liveness Faults (Downtime): Nodes that remain offline for extended epochs suffer small, continuous inactivity penalties to incentivize high operational availability and redundant power systems.

3. Remote Signer Infrastructure for Node Operators

To eliminate the danger of double-signing during automatic cloud failovers, professional validator operators deploy Remote Signers:

  • The public-facing validator node does not store the consensus private key in its local file system.
  • When the validator needs to sign a block or attestation, it sends an RPC request over an encrypted TLS connection to an isolated internal remote signing server.
  • The remote signer maintains a persistent Slashing Protection Database (PostgreSQL / SQLite) that records the highest block slot ever signed.
  • If a backup node mistakenly comes online and attempts to sign a block at an already-signed slot height, the remote signer rejects the signature request, saving the operator from slashing.