Consensus

The Local Blockchain implements a hybrid consensus mechanism that combines Byzantine Reliable Broadcast (BRB) for state updates with periodic weak synchronization for validator set management. This approach leverages the natural ordering properties of the transaction graph to minimize consensus overhead.

State Update Broadcast#

State updates flow through the hierarchy using Byzantine Reliable Broadcast (BRB), ensuring:

  1. Agreement: If one honest validator accepts an SDL, all honest validators will accept it
  2. Integrity: Each SDL is processed exactly once if valid
  3. Validity: Valid SDLs from honest domains will be accepted
QuorumEach SDL requires a Quorum Certificate (QC) - a collection of signatures from validators representing > 2/3 of total stake weight. The QC proves network acceptance and provides finality without requiring agreement on global transaction ordering.
Code
1Supergraph 2|3|-- Validator Set (600 total stake)4|   |-- V1 [stake: 100] [SDL_A ✓]5|   |-- V2 [stake: 150] [SDL_A ✓]6|   |-- V3 [stake: 200] [SDL_A ✓]7|   |-- V4 [stake: 150] [SDL_B pending]8|9|-- State Updates10    |-- SDL_A: {11        changes: {...},12        proof: zkSNARK,13        quorum_cert: {14            content_hash: 0x123...,15            signatures: [16                {v1: 0xabc..., stake: 100},17                {v2: 0xdef..., stake: 150},18                {v3: 0xghi..., stake: 200}19            ],20            total_stake: 450/600 (75% > 2/3 threshold)21        }22    }23    |-- SDL_B: {changes, proof} // Pending QC

Natural Partial Ordering#

The transaction graph itself provides natural ordering constraints through dependencies. Each State Diff List (SDL) includes references to its dependencies, creating an implicit Directed Acyclic Graph (DAG).

  1. Directed - edges between nodes have direction (→)
  2. Acyclic - no cycles/loops exist in the graph
Code
1SDL Dependencies DAG2|3|-- SDL_A (root)                  // No dependencies4|   |-- time: t15|   |-- deps: []6|   |-- seq: 17|   ↙           ↘8|-- SDL_B         SDL_C          // Both depend on A9|   |-- time: t2   |-- time: t210|   |-- deps: [A]  |-- deps: [A] 11|   |-- seq: 1     |-- seq: 112|   ↓              ↓13|-- SDL_D         SDL_E          // D depends on B, E on C14    |-- time: t3   |-- time: t315    |-- deps: [B]  |-- deps: [C]16    |-- seq: 2     |-- seq: 2

Leaderless Design#

The system operates without designated leaders at any level, reducing attack surface and potential bottlenecks. State updates and synchronization both use collective decision making through quorum certificates.

Code
1Parallel State Updates2|3|-- Shard (00)        |-- Shard (01)4|   |-- SDL_A         |   |-- SDL_B5|   |-- QC_A          |   |-- QC_B6|                     |7|-- Processing        |-- Processing8    |-- Parallel      |   |-- Parallel9    |-- Independent   |   |-- Independent

Next Steps#

This concludes the detailed breakdown of the Local Blockchain architecture. Explore further to understand how these concepts integrate with other features of the network.

Was this chapter helpful?