Guys, please try to be clear about when you're talking about Raft
(which handles omission failures) and when you're talking about other
approaches that handle Byzantine=arbitrary failures.
Blaž, if you're worried about undetected corruptions in
memory/CPU/disk, those failures are considered Byzantine. Since Raft
doesn't address Byzantine faults, Raft cannot guarantee that they will
not affect correctness (but you might get lucky, or a checksum might
catch it). On the other hand, Byzantine fault tolerant algorithms
typically guarantee correctness even if up to f of the servers
experience arbitrary failures for a cluster size >= 3f+1.
If we could all get Byzantine fault tolerance for free, we'd be doing
it. There's a cost in complexity and performance, however, so many
people settle for simpler algorithms that only handle omission
failures instead.
-Diego