Blockchain

A Byzantine Fault Tolerance Raft Algorithm Combines with BLS Signature

Expand
  • 1. School of Information and Control Engineering, Qingdao University of Technology, Qingdao 266520, Shandong Province, China;
    2. Ant Financial Services Group, Hangzhou 310012, China

Received date: 2019-11-01

  Online published: 2020-01-19

Abstract

Aiming at the problem of Byzantine fault tolerance (BFT) in the Raft algorithm, a Raft Byzantine fault tolerance (RBFT) algorithm combined with BLS signature is proposed. First, it uses BLS signatures to implement threshold signatures, converts the voting process into a threshold signature process, and combines this process with the Raft algorithm's AppendEntries message and RequestVote message to minimize the impact of the fault-tolerant process on consensus efficiency. Second, it introduces a safe status through the incremental Hash value to ensure the log's tamper-resistibility. Then it provides dynamical monitoring on the leader node so as to avoid the possible negative feedback of Byzantine leader and ensure the liveness of the algorithm. Finally, local multi-node simulation experiments show that the RBFT algorithm could improve the throughput and scalability, and reduce the latency of transactions effectively.

Cite this article

WANG Rihong, ZHANG Lifeng, ZHOU Hang, XU Quanqing . A Byzantine Fault Tolerance Raft Algorithm Combines with BLS Signature[J]. Journal of Applied Sciences, 2020 , 38(1) : 93 -104 . DOI: 10.3969/j.issn.0255-8297.2020.01.007

References

[1] Baird L. The Swirlds hashgraph consensus algorithm:fair, fast, Byzantine fault tolerance[R]. Swirlds-TR-2016-01, 2016.
[2] Swan M. Blockchain:blueprint for a new economy[M]. O0Reilly Media, Inc., 2015.
[3] Oki B M, Liskov B H. Viewstamped replication:a new primary copy method to support highly-available distributed systems[C]//Proceedings of the seventh annual ACM Symposium on Principles of Distributed Computing, 1988:8-17.
[4] Lamport L. The part-time parliament[J]. ACM Transactions on Computer Systems, 1998, 16(2):133-169.
[5] Ongaro D, Ousterhout J. In search of an understandable consensus algorithm[C]//2014{USENIX}Annual Technical Conference ({USENIX}{ATC}14), 2014:305-319.
[6] Morgan J. Quorum:a permissioned implementation of Ethereum supporting data privacy[EB/OL].[2016-09]. https://github.com/jpmorganchase/quorumdocs/raw/master/Blockchain_QuorumHyperledger_20160922.pdf.
[7] Cowling J, Myers D, Liskov B, et al. HQ replication:a hybrid quorum protocol for Byzantine fault tolerance[C]//Proceedings of the 7th Symposium on Operating Systems Design and Implementation, 2006:177-190.
[8] Kotla R, Alvisi L, Dahlin M, et al. Zyzzyva:speculative Byzantine fault tolerance[C]//ACM SIGOPS Operating Systems Review, 2007:45-58.
[9] Hendricks J, Sinnamohideen S, Ganger G R, et al. Zzyzx:scalable fault tolerance through byzantine locking[C]//2010 IEEE/IFIP International Conference on Dependable Systems&Networks (DSN), 2010:363-372.
[10] Veronese G S, Correia M, Bessani A N, et al. Spin one's wheels Byzantine fault tolerance with a spinning primary[C]//28th IEEE International Symposium on Reliable Distributed Systems, 2009:135-144.
[11] Chun B G, Maniatis P, Shenker S, et al. Attested append-only memory:making adversaries stick to their word[C]//ACM SIGOPS Operating Systems Review, 2007:189-204.
[12] Veronese G S, Correia M, Bessani A N, et al. Efficient Byzantine fault-tolerance[J]. IEEE Transactions on Computers, 2011, 62(1):16-30.
[13] Kwon J. Tendermint:consensus without mining[EB/OL]. https://tendermint.com/static/docs/tendermint.pdf
[14] Larimer D. Delegated proof-of-stake (DPoS)[R/OL]. Bitshare Whitepaper. 2014. https://whitepaper.io/document/388/bitshares-whitepaper
[15] Ahmed S. A scalable Byzantine fault tolerant secure domain name system[D]. Cambridge:Massachusetts:Massachusetts Institute of Technology, 2001.
[16] Kim Y, Jo J Y. Dynamically adjusting the mining capacity in cryptocurrency with binary blockchain[J]. International Journal of Networked and Distributed Computing, 2018, 6(1):43.
[17] Miller A, Xia Y, Croman K, et al. The honey badger of BFT protocols[C]//Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, 2016:31-42.
[18] Kurosawa K. Advances in cryptology[C]//ASIACRYPT 2007:13th International Conference on the Theory and Application of Cryptology and Information Security, Kuching, Malaysia, December 2-6, 2007.[S.l.]:Springer, 2007:4833-4839.
[19] Fox A, Brewer E A. Harvest, yield, and scalable tolerant systems[C]//Proceedings of the Seventh Workshop on Hot Topics in Operating Systems, 1999:174-178.
[20] Kokoris-kogias E, Jovanovic P, Gasser L, et al. Omniledger:a secure, scale-out, decentralized ledger via sharding[C]//2018 IEEE Symposium on Security and Privacy (SP), 2018:583-598.
[21] Fischer M J, Lynch N A, Paterson M S. Impossibility of distributed consensus with one faulty process[R]. Massachusetts Inst of Tech Cambridge lab for Computer Science, 1982.
[22] Shamir A. How to share a secret[J]. Communications of the ACM, 1979, 22(11):612-613.
[23] Cachin C, Guerraoui R, Rodrigues L. Introduction to reliable and secure distributed programming[M].[S.l.]:Springer Science&Business Media, 2011.
Outlines

/