serai-dex / serai

Other
265 stars 49 forks source link

Implement an asynchronous BFT algorithm #333

Open kayabaNerve opened 1 year ago

kayabaNerve commented 1 year ago

HoneyBadgerBFT (https://eprint.iacr.org/2016/199.pdf) is a BFT protocol which notably can be run over Tor. If we ever want to hide the IP addresses of multisig participants, we would need to move Tributaries over Tor which Tendermint would not be viable for. An asynchronous BFT algorithm, such as HoneyBadgerBFT, would be viable.

Since HoneyBadgerBFT, the field has been improved with:

I cannot comment on which is preferable at this time.

HoneyBadgerBFT specifically requires a trusted setup or synchronously performed DKG. Accordingly, we'd have to perform a DKG over Serai itself (preferably with off-chain blobs) to set up each Tributary.

Tributary itself would also have to be rewritten over a TX stream.

Supersedes #276, complicates #286, see #271 for a discussion of some relevance.

kayabaNerve commented 1 year ago

Narwhal/Tusk would also be a candidate: https://arxiv.org/abs/2105.11827

kayabaNerve commented 9 months ago

https://eprint.iacr.org/2024/142 has the lowest round complexity thus-far.

kayabaNerve commented 6 months ago

https://eprint.iacr.org/2024/653 is a new work on the matter.

kayabaNerve commented 3 months ago

https://eprint.iacr.org/2024/1235 on the liveness of Tusk and a necessary modification to prevent their posited attack.

kayabaNerve commented 1 month ago

My criteria for which we move forward with will probably whichever is simplest to understand and audit so long as it doesn't have unbearable performance. Tributaries are fine with latency on the scale of a few minutes so long as we have sufficient throughput.