Pharos Docs
  • Introduction
    • About Pharos Network
    • Vision & Mision
    • Why Pharos Network
    • Concepts
      • Degree of Parallelism (DP)
  • Architecture
    • Pharos Modular Stack
    • Node Architecture
      • About Pharos Nodes
  • Core Technologies
    • Pharos Consensus
    • Pharos Execution
      • Why A New Blockchain Compute Model
      • Pharos VM
    • Pharos Pipelining
    • Pharos Store
      • Why We Need a Blockchain-Native Store
    • Pharos SPNs
  • Network Overview
    • Pharos Networks
      • Pharos Testnet Information
    • Pharos Gas Model
    • FAQ
  • Node & Validator Guide
    • Validator Requirements
    • Validator Node Deployment
      • Using Docker (Devnet)
      • Using Docker (Testnet)
    • Node Management
    • Rapid Node Initialization
      • Rapid Node Initialization(Testnet)
      • Rapid Node Initialization(Devnet)
    • Pharos Network Snapshots
    • Node Debugging & Configuration
  • Pharos Node Monitoring
  • Developer Guide
    • Foundry
      • Write Your First dApp
      • Write Your First Token
      • Write Your First NFT
      • Write Your First Uniswap Contract
    • Hardhat
      • Write Your First dApp
      • Write Your First Token
      • Write Your First NFT
      • Write Your First Uniswap Contract
    • Rust
    • Interoperability
      • Call EVM From WASM
  • API & SDK
    • JSON-RPC API Methods
  • Resources
    • EVM
    • Solidity
Powered by GitBook
On this page
Export as PDF
  1. Core Technologies

Pharos Consensus

PreviousAbout Pharos NodesNextPharos Execution

Last updated 21 days ago

Pharos employs a consensus protocol that delivers both high throughput and low latency. It is specifically designed for large-scale nodes in wide-area network, enhancing system robustness and consensus security.

There are two design goals of Pharos consensus: responsiveness and the efficient utilization of the whole network's bandwidth. The responsiveness refers to the property that the processing speed of the blockchain system is limited by the actual network delay, without introducing any timeouts or waiting interval. As for the resource utilization, the consensus nodes should have a symmetric communication pattern to work simultaneously.

Most existing blockchain consensus protocols, however, fails to achieve these two goals, resulting in performance and scalability issue. On the one hand, some blockchains set a time interval between two consecutive blocks, so that the block generation is at a fixed rate. As a result, there is an upper bound of the system throughput, no matter how we optimize the network or computing efficiency. On the other hand, the most common communication pattern is prosing-voting. In this pattern, a single proposer is in charge of building and broadcasting the block content, while the others are merely signing and sending the relatively small voting message. Thus, the proposer becomes the bottleneck. As the number of validators increases, more network resource of the proposer is consumed, leading to performance degradation. However, as more validators join, the available bandwidth resource also increases. If we can fully utilize the resource of all the validators, a scalable consensus network can be achieved.

To achieve this goal, Pharos consensus incorporates two innovative features. Firstly, it does not rely on fixed timing assumptions, allowing block generation to be responsive to actual network delays rather than being constrained by a predefined timeout. Secondly, Pharos consensus enables simultaneous proposals from all consensus nodes, eliminating the reliance on a single proposer. These two features significantly enhance scalability and substantially increase the system throughput of Pharos. Furthermore, Pharos consensus introduces a flexible advancement paradigm. Nodes in the new paradigm can propose and commit blocks in a more flexible manner to accommodate various workloads and network condition. For example, a slow and far-away node can propose less frequently, without worrying about its proposal to be suppressed. In our global testbed comprising 100 nodes, the prototype implementation achieves a throughput of over 130,000 transactions per second.

Left: blockchain consensus that generates blocks with fixed time slots and only one validator is allowed to propose within each slot. Right: Pharos consensus allow all validators to propose freely and simultaneously.