摘要

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