Draft:Cerberus (consensus algorithm)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Cerberus is a family of consensus algorithms for distributed ledger technology (DLT) designed for parallel operation across multiple shards.[1] It was developed by Radix DLT in a research collaboration with the University of California, Davis. The protocol uses a parallelized Byzantine Fault Tolerance (BFT) model that allows independent sets of transactions to be processed concurrently on different shards.[2] A stated feature of the design is atomic composability, which ensures that transactions spanning multiple shards are treated as a single indivisible operation.[3]

The formal specification for Cerberus was published in 2023 in the peer-reviewed Journal of Systems Research.[1]

History

[edit | edit source]

The concept for Cerberus was developed within Radix DLT, which published an initial white paper in March 2020.[4] That same month, the company announced a research partnership with the ExpoLab group at the University of California, Davis, to formalize the protocol.[5]

An early version of the academic work appeared as an arXiv preprint in August 2020,[6] with the final peer-reviewed article being accepted for publication three years later.[7]

A simplified, single-shard implementation of Cerberus was deployed on the Radix public network with its "Olympia" release in July 2021.[8]

Protocol design

[edit | edit source]

A 2024 survey of consensus algorithms classifies Cerberus as a fragmented Byzantine Fault Tolerance protocol.[2] It employs state sharding, dividing the global state of the ledger into a large number of shards to enable concurrent processing.[1] In the Radix implementation, this address space is divided into 2^256 shards, and the consensus protocol is paired with a delegated proof-of-stake (DPoS) mechanism for selecting validators.[3]

The formal model is based on an UTXO-style data structure to minimize dependencies between shards. The academic paper demonstrates the protocol's safety in asynchronous networks and its liveness under conditions of partial synchrony.[1]

Protocol variants

[edit | edit source]

The 2023 paper by Hellings et al. defines three related protocols within the Cerberus family:[1]

  • Core-Cerberus: A foundational version with minimal coordination between shards.
  • Optimistic-Cerberus: A variant optimized for environments with rare adversarial behavior, which includes recovery procedures for attacks.
  • Resilient-Cerberus: A variant designed for environments with frequent adversarial behavior, which adds more coordination overhead to simplify recovery.

See also

[edit | edit source]

References

[edit | edit source]
  1. ^ a b c d e Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).