Cap Theorem hard
Standard Consensus (Raft/Paxos) tolerates 'Crash Failures'. 'Byzantine Failures' are different because:
- A They exclusively involve nodes that are processing requests much slower than the established system-wide latency SLA.
- B They involve nodes that send conflicting or intentionally malicious information (Lying) to different parts of the cluster.
- C They are a specialized type of failure that can only occur on public-facing internet clusters as a result of a DDoS attack.
- D They are caused by localized hardware bugs that result in the silent corruption of data stored on the persistent disk layer.
Answer: B. They involve nodes that send conflicting or intentionally malicious information (Lying) to different parts of the cluster.
Standard consensus algorithms (like Raft or Paxos) are 'Crash-Tolerant', meaning they assume a node either works correctly or stops entirely. A Byzantine failure is more complex: a node might stay online but behave erratically or maliciously—for example, telling Node A that a transaction committed while telling Node B it aborted. Handling such 'lying' nodes requires much more complex protocols (BFT) and higher redundancy (3f+1 nodes to tolerate f failures).
One system design question a day, with spaced repetition so the ones you miss come back.
Get the appRelated questions
- What is a 'Split Brain' scenario?
- The PACELC theorem extends CAP by stating: Even when there is NO partition (E), the system must choose between:
- Why is a CA (Consistent + Available) system generally considered impossible for distributed web applications?
- In CAP, 'Consistency' is equivalent to:
- In the CAP Theorem, what does the 'P' stand for?
- What causes a Network Partition?