Abstract

Asynchronous or partially synchronous Byzantine fault-tolerant (BFT) protocols can tolerate up to one-third Byzantine faults, while synchronous Byzantine fault-tolerant protocols can tolerate up to one-half Byzantine faults. The existing synchronous Byzantine fault-tolerant protocols are leader-based protocols, which may lead to unbalanced load between nodes, and constitute a bottleneck that influences the performance of the whole system. In addition, the synchronous BFT protocols rely on a strong assumption: every message sent by an honest node will arrive at its destination within a known bounded time. In this work, in order to obtain better fairness and allow some degree of asynchrony while tolerating one-half faults, we designed LWSBFT, a leaderless BFT protocol in a weakly synchronous model where the synchronous assumption does not have to hold for all nodes all the time. The leaderless BFT protocol is comprised of the weakly synchronous Byzantine reliable broadcast (RBC) protocol and the weakly synchronous binary Byzantine agreement (BA) protocol, both of which can tolerate one-half faults. The weakly synchronous RBC protocol is used by each node to propose its input, and the weakly synchronous binary BA protocol is used to make a decision for each proposed value. The proposed leaderless BFT protocol can ensure both safety and liveness in a weakly synchronous model. We implement our consensus mechanism in Go, and evaluate the proposed consensus mechanism’s performance in terms of throughput and latency.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call