Scalaris | An upgraded version of Tendermint
Scalaris | An upgraded version of Tendermint
Scalaris | An upgraded version of Tendermint
  • Scalaris: High-Performance, Leaderless, Parallel, and MEV-Mitigated Consensus Framework
  • Overview
    • What is Scalaris?
    • Introduction
    • Background
    • DAG-based Consensus
    • Narwhal: Achieving Scalability and Throughput
    • The Bullshark Protocol
      • Fairness and Garbage Collection in DAG-Based BFT
    • Mysticeti: Enhanced Consensus Protocol for Scalaris
      • DAG Structure
      • Consensus Protocol
        • Decision Steps
        • Commit Phase
        • Summary
    • Scalaris Framework
      • Parallel Consensus
      • Scalaris Architecture
        • Compatibility with ABCI and Cosmos SDK
        • Support for EVM Execution
        • Support for Move Language
      • MEV Mitigation in the Scalaris Framework
        • Understanding MEV Attacks
        • MEV in Old BFT-Based Blockchains
        • Scalaris Framework Mitigation
      • Parallel Transaction Execution for EVM in Scalaris Framework
        • Challenges with Parallel Execution
        • Parallel Transaction Executor (PTE)
        • General Scheme
        • Modular Architecture
        • Construction Process of Transaction DAG
        • DAG Execution Process
    • Conclusion
  • Guides
    • Install Scalaris
    • Quick start
  • Apps
    • Using ABCI-CLI
    • Getting started
    • Indexing transactions
    • Application architecture guide
  • Core
    • Using Scalaris
    • Configuration
    • Running in production
    • Metrics
    • Validators
    • How to read logs
    • Subscribing to events via Websocket
    • Block structure
    • RPC
    • Block sync
    • State Sync
    • Mempool
    • Light client
  • Network
    • Docker compose
  • Tools
    • Debugging
    • Benchmarking
  • Spec
    • Core
    • ABCI++
    • Consensus
    • Light client
    • P2C
    • RPC
    • Blockchain
  • Scalaris Quality Assurance
  • RPC
Powered by GitBook
On this page
  1. Overview
  2. Mysticeti: Enhanced Consensus Protocol for Scalaris

DAG Structure

PreviousMysticeti: Enhanced Consensus Protocol for ScalarisNextConsensus Protocol

Last updated 11 months ago

Similar to the Narwhal DAG, Mysticeti builds its DAG in a sequence of logical rounds. For each round, every honest validator proposes a unique signed block. Byzantine validators may attempt to equivocate by sending multiple distinct blocks to different parties or none at all. These equivocated blocks make the Mysticeti DAG uncertified, contrasting with the certified version in the Narwhal DAG. Each block in the Mysticeti DAG contains:

  1. Creator Authority: Identifies the creator, includes a round number, and a digest (reference for the block).

  2. Base Statements: Transaction payloads received from users or transaction votes.

  3. Included References: References that the block depends on, which must be processed before this block is processed.

  4. Signature: A signature from the creator over all the data.

A block is valid if it satisfies the following conditions:

  1. Includes the authority and its signature on the block contents.

  2. Contains a round number.

  3. Lists transactions (can be empty).

  4. Has at least 2f+1 distinct block references from the previous round, or empty references for blocks from the first round.

Validators broadcast their block to others to include as references in proposed blocks in the next round.