Consensus (computer science) - Wikipedia

This Wikipedia page provides a comprehensive overview of the consensus problem in computer science. It delves into the definition, challenges, and various algorithms used to achieve agreement in distributed systems, making it a valuable resource for understanding fault tolerance and reliability in computing.

概览

收录于

2026年3月17日

学科与领域

computer-science-advanced · distributed-systems

年级范围

九年级(高一)–十二年级(高四)

页面类型

Wiki

简介

Consensus in Distributed Computing

  • Definition: The consensus problem involves multiple processes or agents in a distributed system agreeing on a single data value, despite potential process failures.
  • Core Requirements:
    • Termination: Every correct process eventually decides on a value.
    • Integrity: The decided value must have been proposed by a process (prevents trivial/arbitrary outputs).
    • Agreement: All correct processes must decide on the same value.
  • Performance Metrics: Evaluated by running time (rounds of message exchange) and message complexity (total traffic generated).
  • Failure Types:
    • Crash Failure: A process abruptly stops and does not resume.
    • Byzantine Failure: A process behaves arbitrarily, potentially sending contradictory or malicious data. These are more disruptive and harder to mitigate.
  • Key Protocols & Models:
    • Single-value: Paxos (agrees on one value).
    • Multi-valued: Multi-Paxos and Raft (agree on a series of values/history).
    • Communication: Can be synchronous (rounds) or asynchronous (no timing guarantees).
  • Impossibility Result: The FLP impossibility result (1985) proves that deterministic consensus is impossible in a fully asynchronous system if at least one process can suffer a crash failure. Randomized algorithms are often used to circumvent this.
  • Permissioned vs. Permissionless:
    • Permissioned: Fixed, known set of authenticated participants.
    • Permissionless: Open participation; requires mechanisms like Proof of Work (Bitcoin), Proof of Stake, or Proof of Space to mitigate Sybil attacks.
  • Real-world Applications: Cloud computing, blockchain, database transaction ordering, state machine replication, clock synchronization, and control of multi-agent systems (UAVs, robots).

用户评价

暂无已发布的评价,欢迎率先分享您的使用体验。