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

Consensus Protocol

PreviousDAG StructureNextDecision Steps

Last updated 11 months ago

Mysticeti introduces the concept of a proposer slot as a tuple (validator, round), which can either be empty or contain the validator’s proposal for the respective round. Unlike Bullshark, which has a proposer slot every two rounds resulting in high latencies, Mysticeti addresses this by introducing multiple proposer slots with three states: to-commit, to-skip, and undecided for each round. The default state of proposer slots is undecided.

The end goal of Mysticeti is to mark all proposer slots as either to-commit or to-skip by detecting specific DAG patterns:

  • Skip Pattern: The skip pattern is identified if for all proposals, we observe 2f+1 subsequent blocks that do not support it. The skip pattern, illustrated by Figure 2 (left), where at least 2𝑓 + 1 blocks at round π‘Ÿ + 1 do not support a block (𝐴, π‘Ÿ, β„Ž).

  • Certificate Pattern: The certificate pattern, illustrated by Figure 2 (right), where at least 2𝑓 +1 blocks at round π‘Ÿ +1 support a block 𝐡 ≑ (𝐴, π‘Ÿ, β„Ž). We then say that 𝐡 is certified. Any subsequent block (illustrated at π‘Ÿ + 2) that constrains in its history such a pattern is called a certificate for the block 𝐡.