We are building an ordering and execution engine for blockchains that enables heterogeneous trust and Chimera Chains.
The first
[consensus](https://en.wikipedia.org/wiki/Consensus_(computer_science))
algorithm with
[heterogeneous failures](http://plan9.bell-labs.co/who/garay/continuum.ps),
heterogeneous acceptors, and heterogeneous learners.
The first
[consensus](https://en.wikipedia.org/wiki/Consensus_(computer_science))
algorithm with
[heterogeneous failures](http://plan9.bell-labs.co/who/garay/continuum.ps),
heterogeneous acceptors, and heterogeneous learners.
We invented and implemented a Consensus algorithm in which not all participants agree on who may fail, and how.
With Charlotte, we can append one block onto multiple blockchains,
solving the
[atomic commit problem](https://github.com/ethereum/wiki/wiki/Sharding-FAQ#what-is-the-train-and-hotel-problem).
A work-in-progress talk about our Heterogeneous Consensus algorithm.
We use the
[Decentralized Label Model](http://www.cs.cornell.edu/andru/papers/iflow-tosem.pdf)
to show how distributed algorithms, like
[Bosco](https://www.cs.cornell.edu/projects/Quicksilver/public_pdfs/52180438.pdf)
and
[Nysiad](https://www.usenix.org/legacy/events/nsdi08/tech/full_papers/ho/ho.pdf),
can be generalized from more complex trust environments.
We've been looking at modeling distributed system failures with
information flow tools, and expressing heterogeneous trust.