ThyHBB Prototype Proposal

Jamie, Isaac, and I have met regarding interest in prototyping the Heterogeneous Bracha Broadcasting algorithms designed by Jamie and Isaac.

The reasons for such a proposal are as follows:

  1. We would like a prototype of the ThyHBB algorithms in their own right to investigate their properties, since it will evolve into heterogeneous paxos
  2. We can utilise ThyHBB in the same way that we have been doing with Narwhal, that is, to inform the design and development of concurrent AL
  3. We can perhaps slot such an implementation into Anoma/Anoma in the future.

We agreed on the following desirata:

  • We don’t care about implementation language, but we do want it to be sensible and natural
  • Ideally, we would implement all three of the algorithms
  • We do not want to take the perspective of the ‘omniscient observer’ but instead come from the perspective of the actor
  • For ThyHBB3 we will specifically need to implement correlation, which is a function of observed failures and the participant that is being correlated.

We agreed on the following plan:

  • We use Elixir as implementation language
  • We implement the ThyHBB algorithms incrementally, that is, ThyHBB2 → ThyHBB1 → ThyHBB3
  • We should implement send/receive messages over history structures first, optimising the performance via hashing histories.
  • We can begin with assuming non-forgeability, then add crypto requirements later.
  • We would like to use network interfaces
  • Jam will make an attempt with continuing advice from Jamie and Isaac

Time Estimate: 2 weeks for ThyHBB2

3 Likes

Specific request: we should be able to benchmark the prototype, and assess:

  1. Whether the performance characteristics in practice match the expected algorithmic performance, and
  2. Measurements of important practical performance parameters (e.g. latency)

I expect that this would be useful both in considering the utility of HBB for potential products in the future and in explaining why the prototype might be interesting to external parties.

1 Like