Skip to main content

Midnight Node Overview

The Midnight Node provides the foundational infrastructure for operating on the Midnight network. It implements core protocol logic, manages P2P networking, and supports decentralized operations through integration with the Cardano network as a Partnerchain.

Functions

The Midnight Node is responsible for:

  • Running the Midnight Ledger (as a separate component), enforcing protocol rules and maintaining internal state integrity.
  • Enabling peer-to-peer (P2P) capabilities: node discovery, connection establishment, and state gossip.
  • Enabling decentralization by supporting both trustless and permissioned nodes, and fulfilling the criteria for a Cardano Partnerchain.

Characteristics

  • Built on Polkadot SDK.
  • Implements Partnerchain components and the Midnight Ledger.
  • Acts as a Partnerchain node, with defined mechanisms to connect to Cardano.

Architecture

Node Architecture

Core Parameters

ParameterValue
Block Time6 seconds
Session Length1200 slots
Ledger Transactions per BlockTBD
Hash Functionblake2_256
Account Typesr25519 public key

Genesis Configuration

Ledger

  • Initial coin supply (testnet only): 100,000,000,000,000,000 units.
  • Distribution: Split into five outputs each across four wallets (4 × 5 × 5,000,000,000,000,000).
  • Note: This configuration is for testnet use only and does not reflect the final mainnet supply.

Consensus

  • Initial validator set: 12 trusted nodes operated by Shielded and many more registered nodes operated by the community.
  • The 'D' parameter controls the split of permissioned to registered nodes.

Onchain Governance

  • A master ("sudo") key with elevated privileges — temporary placeholder for a future governance system.
  • Support for tx-pause functionality: governance-authorized transactions can pause specific transaction types.

Signature Schemes

Different cryptographic schemes are used for various node operations:

  • ECDSA – used for Partnerchain consensus message signing.
  • ed25519 – used for finality-related message signing.
  • sr25519 – used for AURA block authorship signing (based on Schnorrkel / Ristretto / x25519).

Refer to the Cryptography section for more on this.