mcpField
M
midnight-consensus

midnight-consensus

github.com/kali-decoderDevelopment18123 installsUpdated 1d ago
Repository

About midnight-consensus

A skill explaining Midnight Network’s modified Substrate consensus, for readers studying its validator and block-finality design. It covers AURA block production, GRANDPA finality, and validator selection using Cardano SPO delegation and optional permissioned operators.

Key features

  1. 01AURA round-robin block production
  2. 02Asynchronous GRANDPA finality
  3. 03Validator selection with SPO delegation
  4. 04Optional permissioned validators

Use cases

  1. 01Understand Midnight block production
  2. 02Examine how Midnight finalizes blocks
  3. 03Review validator eligibility models

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/kali-decoder/midnight-skills --skill midnight-consensus

After installing, type/midnight-consensusin Claude Code to confirm it loaded.

Details

From the project README

Midnight Consensus

The Midnight Network uses a modified Substrate consensus stack: AURA for block production and GRANDPA for finality. Both are extended for Midnight as a Cardano Partnerchain.

Architecture overview

flowchart TB
  subgraph Selection["Validator selection"]
    SPO["Cardano SPO stake delegation"]
    Perm["Optional permissioned validators"]
    VS["Custom validator set function"]
    SPO --> VS
    Perm --> VS
  end

  subgraph Production["Block production — AURA"]
    VS --> Slots["Round-robin slots + session keys"]
    Slots --> Block["New block proposed"]
  end

  subgraph Finality["Finality — GRANDPA"]
    Block --> Votes["Validator votes on chain"]
    Votes --> Final["Provable finality"]
  end

Validator selection

Unlike standard Substrate chains, Midnight uses a custom validator set selection function that:

  • Accounts for stake delegation from Cardano Stake Pool Operators (SPOs), letting existing Cardano validators participate in Midnight consensus.
  • Supports optional permissioned validators for hybrid public/private network deployments.
ModelRole
SPO delegationBridges Cardano stake into Partnerchain validator eligibility
Permissioned setAdds known operators for regulated or consortium networks
Custom selectionCombines both into the active session validator set

AURA: Block production

AURA (Authority Round) is a proof-of-authority (PoA) algorithm that determines which validator produces each block.

  • Validators take turns in round-robin order.
  • Scheduling uses predefined slots and session keys.
  • Properties: simple, fast, deterministic — suited to high-throughput chains with known validator sets.

AURA is not Midnight-specific; it originated in OpenEthereum. See the Polkadot protocol glossary — AURA.

sequenceDiagram
  participant V1 as Validator 1
  participant V2 as Validator 2
  participant V3 as Validator 3
  participant Chain as Chain

  Note over V1,V3: Slot N — Validator 1's turn
  V1->>Chain: Produce block N
  Note over V1,V3: Slot N+1 — Validator 2's turn
  V2->>Chain: Produce block N+1
  Note over V1,V3: Slot N+2 — Validator 3's turn
  V3->>Chain: Produce block N+2

Signing: Block authorship messages in AURA are signed with sr25519 (see the Cryptography skill).


GRANDPA: Finality

GRANDPA (GHOST-based Recursive ANcestor Deriving Prefix Agreement) provides asynchronous, provable finality.

  • Operates independently of block production.
  • Validators vote on chains; blocks finalize when they receive sufficient support.
  • General-purpose Polkadot component — formal specification and Polkadot glossary.
flowchart LR
  A["Blocks produced (AURA)"] --> B["GRANDPA voters observe chain"]
  B --> C{"≥ threshold support?"}
  C -->|Yes| D["Block finalized — irreversible"]
  C -->|No| E["Remains unfinalized / fork possible"]

Signing: GRANDPA finality messages use Ed25519.


How AURA and GRANDPA work together

LayerResponsibilityMidnight extension
AURAWho builds the next blockStandard PoA over Partnerchain validator set
GRANDPAWhich blocks are finalStandard async finality gadget
Validator setWho may participateSPO delegation + optional permissioned operators

Key insight: Block production can continue while GRANDPA finalizes earlier blocks asynchronously — throughput and safety are decoupled.


Related skills

  • midnight-cryptography/ — signature schemes used by AURA and GRANDPA
  • midnight-onchain-logic/ — runtime pallets (pallet-aura, pallet-grandpa, session management)
  • midnight-p2p-networking/ — how validators discover and communicate

Comments

Markdown supported