I'm looking for information about distributed consensus algorithms that:
- maintain a consistent transaction log across all healthy nodes
- have similar high-availability properties to Paxos (i.e. not liveness, but practically very likely to terminate in reasonable time)
- make progress with 2F+1 nodes despite F simultaneous node failures
- where failures can include complete/partial/simplex network partitions
- work over a reliable, unicast-ordered, but potentially non-timely network
- do not use system/wall clock time
Paxos and Raft both fulfil all criteria but the last – I'm wondering if there are any variants or other algorithms that fulfil all? I have looked but all variants I've come across seem to use some form of timeouts.