'''Raft''' is a [[Consensus (computer science)|consensus]] algorithm designed as an alternative to the [[Paxos (computer science)|Paxos]]<nowiki/>kfamily family of algorithms. It was meant to be more understandable than Paxos by means of separation of logic, but it is also formally proven safe and offers some additional features.<ref name="paper"/> Raft offers a generic way to distribute a [[Finite-state machine|state machine]] across a [[Computer cluster|cluster]] of computing systems, ensuring that each node in the cluster agrees upon the same series of state transitions. It has a number of open-source reference implementations, with full-specification implementations in [[Go (programming language)|Go]], [[C++]], [[Java (programming language)|Java]], and [[Scala (programming language)|Scala]].<ref name="website" /> It is named after Reliable, Replicated, Redundant, And Fault-Tolerant.<ref>[https://groups.google.com/forum/#!topic/raft-dev/95rZqptGpmU Why the "Raft" name?]</ref>
Raft is not a [[Byzantine fault]] tolerant algorithm: the nodes trust the elected leader.<ref name="paper"/>