应用科学学报 ›› 2020, Vol. 38 ›› Issue (1): 93-104.doi: 10.3969/j.issn.0255-8297.2020.01.007

• 区块链 • 上一篇    下一篇

一种结合BLS签名的可拜占庭容错Raft算法

王日宏1, 张立锋1, 周航1, 徐泉清2   

  1. 1. 青岛理工大学 信息与控制工程学院, 山东 青岛 266520;
    2. 蚂蚁金服, 杭州 310012
  • 收稿日期:2019-11-01 出版日期:2020-01-31 发布日期:2020-01-19
  • 作者简介:张立锋,硕士生,研究方向为区块链.E-mail:zhanglifeng1994@gmail.com
  • 基金资助:
    山东省研究生教育创新计划项目基金(No.SDYY16023)资助

A Byzantine Fault Tolerance Raft Algorithm Combines with BLS Signature

WANG Rihong1, ZHANG Lifeng1, ZHOU Hang1, XU Quanqing2   

  1. 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:2019-11-01 Online:2020-01-31 Published:2020-01-19

摘要: 针对Raft算法中的拜占庭容错问题,提出结合BLS签名的拜占庭容错(RaftByzantine fault tolerance,RBFT)算法.首先,利用BLS签名实现阈值签名,将投票过程转化为阈值签名过程,并将该过程与Raft算法的AppendEntries消息和RequestVote消息结合,尽可能地减弱容错过程对共识效率的影响;其次,通过增量哈希引入安全状态,保证了日志的不可篡改性;接着引入客户端对Leader节点的动态监控,以避免拜占庭Leader节点消极反馈的发生,进一步保证了算法的活性;最后,由本地多节点仿真实验表明:RBFT算法有效提升了数据吞吐量和可拓展性,并降低了交易延迟.

关键词: Raft算法, BLS签名, 拜占庭容错方法, 安全状态

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.

Key words: Raft algorithm, BLS signature, Byzantine fault tolerance (BFT) algorithm, safe status

中图分类号: