Protocol Overview
Protocol Overview
first level title
HotStuff's key innovations
The star communication network enables HotStuff BFT/LibraBFT to achieve consensus with reduced communication complexity but increased round complexity. The key innovations worth noting are the following:
1. HotStuff participants send signed messages to the leader through a p2p channel (star topology communication network).
2.HotStuff uses a threshold digital signature scheme that can achieve linear authenticator complexity regardless of whether the leader is right or wrong.
first level title
The Importance of Credible Leaders
The importance of message propagation is particularly prominent in the vulnerability of the HotStuff BFT protocol, because it lacks a clear decision-making message propagation process. Problems arise when the leader cannot reliably broadcast decision messages in HotStuff. Like the following situation:
According to the agreement, the task of the leader is to expand the path to (a0->a1->…->->b). Assuming the execution went well, we continue with the next view v+1. We want the leader to propagate commands to all participants, which should all execute the commands associated with extended leaf nodes b and c. The HotStuff BFT protocol states: "Effectively, lagging receivers can catch up by fetching missing nodes from other replicas." This means that, at the end of view v+1, lagging participants can catch up with (a0-> a1->...->->b->c) corresponding prepareQC.
However, a participant trying to catch up has no way of knowing whether all participants actually executed the command (i.e., whether the leader propagated node b's command to everyone, a node or some subset). According to the HotStuff BFT protocol, the nodes on the tree only contain the hash value of the parent node and the client command. As a result, the leaf nodes maintained by each actor contain no information about whether the command was executed or not.
Finally, this analysis reveals that HotStuff's original overview leaves participants on the network prone to inconsistencies, such that it must be considered whether a given command has been executed or not is included in a tree node.
