Journal of King Saud University: Computer and Information Sciences (Jul 2024)
TortoiseBFT: An asynchronous consensus algorithm for IoT system
Abstract
Traditional partial synchronous Byzantine fault tolerant (BFT) protocols are confronted with new challenges when applied to large-scale networks like IoT systems, which bring about rigorous demand for the liveness and consensus efficiency of BFT protocols in asynchronous network environments. HoneyBadgerBFT is the first practical asynchronous BFT protocol, which employs a reliable broadcast protocol (RBC) to broadcast transactions and an asynchronous binary agreement protocol (ABA) to determine whether transactions should be committed. DumboBFT is a follow-up proposal that requires fewer instances of ABA and achieves higher throughput than HoneyBadgerBFT, but it does not optimize the communication overhead of HoneyBadgerBFT.In this paper, we propose TortoiseBFT, a high-performance asynchronous BFT protocol with three stages. We can significantly reduce communication overhead by determining the order of transactions first and requesting missing transactions after. Our two-phase transaction recovery mechanism enables nodes to recover missing transactions by seeking help from 2f+1 nodes. To improve the overall throughput of the system, we lower the verification overhead of threshold signatures in HoneyBadgerBFT, DumboBFT, and DispersedLedger from On3 to On2. We develop a node reputation model that selects producers with stable network conditions, which helps to reduce the number of random lotteries. Experimental results show that TortoiseBFT improves system throughput, reduces transaction delays, and minimizes communication overhead compared to HoneyBadgerBFT, DumboBFT, and DispersedLedger.