6 quorums from an example consensus I consider interesting
6 quorums from an example consensus I consider interesting

Heterogeneous Paxos

In distributed systems, a group of learners achieve consensus when, by observing the output of some acceptors, they all arrive at the same value. Consensus is crucial for ordering transactions in failure-tolerant systems. Traditional consensus algorithms are homogeneous in three ways:

  • all learners are treated equally,
  • all acceptors are treated equally, and
  • all failures are treated equally.

These assumptions, however, are unsuitable for cross-domain applications, including blockchains, where not all acceptors are equally trustworthy, and not all learners have the same assumptions and priorities. We present the first consensus algorithm to be heterogeneous in all three respects. Learners set their own mixed failure tolerances over differently trusted sets of acceptors. We express these assumptions in a novel Learner Graph, and demonstrate sufficient conditions for consensus. We present Heterogeneous Paxos: an extension of Byzantine Paxos. Heterogeneous Paxos achieves consensus for any viable Learner Graph in best-case three message sends, which is optimal. We present a proof-of-concept implementation, and demonstrate how tailoring for heterogeneous scenarios can save resources and latency.

Isaac Sheff
Senior Research Scientist

Senior Research Scientist at heliax, Typhon product lead.


We use the Decentralized Label Model to show how distributed algorithms, like Bosco and Nysiad, can be generalized from more complex trust environments.


The first consensus algorithm with heterogeneous failures, heterogeneous acceptors, and heterogeneous learners.

With Charlotte, we can append one block onto multiple blockchains, solving the atomic commit problem.

A work-in-progress talk about our Heterogeneous Consensus algorithm.

We’ve been looking at modeling distributed system failures with information flow tools, and expressing heterogeneous trust.