Skip to content

Latest commit

 

History

History
42 lines (30 loc) · 1.13 KB

block-creation.md

File metadata and controls

42 lines (30 loc) · 1.13 KB

Continuous Block Creation Flow

The purpose of consensus is to continuously commit new blocks. Blocks are populated with transactions waiting in TransactionPool.

We currently support leader-based consensus algorithms, meaning a leader node is elected and creates a block proposal which is then passed to validator nodes (members of the block committee) for approval.

Participants in this flow

  • Committee nodes

    • ConsensusAlgo
    • ConsensusContext
    • TransactionPool
    • VirtualMachine
    • Processor
    • StateStorage
    • CrosschainConnector
    • BlockStorage
    • Gossip
  • All nodes

    • ConsensusAlgo
    • ConsensusContext
    • BlockStorage
    • StateStorage
    • TransactionPool
    • Gossip
    • PublicApi

Assumptions for successful flow

  • BlockStorage is synchronized to latest committed block.
    • A node cannot participate in a consensus committee unless this is the case.

Flow