incubator-resilientdb icon indicating copy to clipboard operation
incubator-resilientdb copied to clipboard

[Engine] Support Hotstuff Consensus Protocol [PODC 2019]

Open cjcchen opened this issue 2 years ago • 1 comments

cjcchen avatar Oct 27 '23 05:10 cjcchen

HotStuff is a highly influential and widely studied consensus protocol in academia. A basic implementation of HotStuff is available in the following branch: https://github.com/apache/incubator-resilientdb/tree/hotstuff

However, to build a fully resilient HotStuff implementation, several additional mechanisms are required. In the current version, the protocol progresses solely based on messages received — that is, replicas advance to the next round upon receiving either a valid proposal or a sufficient number of valid Vote messages.

To improve robustness, the following recovery mechanisms should be implemented:

  1. Timeout mechanism — allows replicas to advance to the next view if no valid messages are received before a specified timeout period.

  2. Catch-up mechanism — enables a replica to fetch missing proposals or transactions from other replicas when it receives a quorum certificate (QC) for a proposal it has not yet received.

  3. (Optional) View synchronization mechanism — as described in Lewis Pye’s work , which ensures progress and coordination across replicas under adverse network conditions.

DakaiKang avatar Oct 21 '25 17:10 DakaiKang