  The performance of partially synchronous BFT-based consensus protocols is
highly dependent on the primary node. All participant nodes in the network are
blocked until they receive a proposal from the primary node to begin the
consensus process.Therefore, an honest but slack node (with limited bandwidth)
can adversely affect the performance when selected as primary. Hermes decreases
protocol dependency on the primary node and minimizes transmission delay
induced by the slack primary while keeping low message complexity and latency.
Hermes achieves these performance improvements by relaxing strong BFT agreement
(safety) guarantees only for a specific type of Byzantine faults (also called
equivocated faults). Interestingly, we show that in Hermes equivocating by a
Byzantine primary is unlikely, expensive and ineffective. Therefore, the safety
of Hermes is comparable to the general BFT consensus. We deployed and tested
Hermes on 190 Amazon EC2 instances. In these tests, Hermes's performance was
comparable to the state-of-the-art BFT protocol for blockchains (when the
network size is large) in the absence of slack nodes. Whereas, in the presence
of slack nodes Hermes out performed the state-of-the-art BFT protocol by more
than 4x in terms of throughput as well as 15x in terms of latency.
