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

DAG-based Consensus

PreviousBackgroundNextNarwhal: Achieving Scalability and Throughput

Last updated 11 months ago

In the context of blockchain technology, Byzantine Fault Tolerant (BFT) consensus involves n validators, up to f of whom may act maliciously, working to agree on an ever-expanding sequence of transactions. The concept behind DAG-based BFT consensus, as seen in protocols like and , is to decouple the network communication layer from the consensus logic. Each message comprises a set of transactions and references to previous messages. Collectively, these messages form a continuously expanding Directed Acyclic Graph (DAG) – with each message as a vertex and its references as edges.

One of the key advantages of DAG-based consensus is that it introduces zero additional communication overhead. Each validator independently examines its local view of the DAG and fully orders all vertices without sending any extra messages. The structure of the DAG itself is interpreted as the consensus protocol, where a vertex represents a proposal and an edge signifies a vote.

A significant challenge in this context arises from the asynchronous nature of the network, meaning that different validators may see slightly different DAGs at any given time. The primary difficulty lies in ensuring that all validators ultimately agree on the same total order of transactions.

HashGraph
Aleph