# Total-Order Broadcast

Record: `arch:total-order-broadcast`
Kind: mechanism
Layer: [Causality Core](https://banes-lab.com/records/layer/causality-core.md)
Severity: mandatory for distributed systems
Scope: event, distributed state, ordering
Canonical: https://banes-lab.com/ontology#arch-total-order-broadcast

## Repair

- Refactored by: Introduce Total-Order Broadcast
- Detected by: state divergence across nodes given same events
- Violated by: replicas applying events in divergent orders
- Measured by: cross-node order divergence rate
- Enforced by: distributed-systems review

## requires

- [Consensus](https://banes-lab.com/records/arch/consensus.md)

## reinforces

- [Event Ordering](https://banes-lab.com/records/arch/event-ordering.md)
- [Consistency](https://banes-lab.com/records/arch/consistency.md)

## enables

- [Identical Delivery Order Across Nodes](https://banes-lab.com/records/lex/identical-delivery-order-across-nodes.md)

## conflicts-with

- [Per-Node Independent Ordering](https://banes-lab.com/records/lex/per-node-independent-ordering.md)

## tensions-with

- [Latency](https://banes-lab.com/records/arch/latency.md)

## tensions

- [Total-Order Broadcast Latency](https://banes-lab.com/records/tension/latency-total-order-broadcast.md)
