摘要
因选举冲突而引发的选举效率问题及主节点的隐私安全问题已经成为Raft共识算法的研究热点.针对这两个问题,该文提出了一种结合Schnorrkel签名和信用值机制的Raft共识算法——SRaft.首先,在选举阶段,集群中的所有节点会根据当前自身信用值,在不同的范围内进行随机选举超时,这样能够保证高效节点更快完成超时,成为主节点.其次,通过在日志复制阶段引入Schnorrkel签名,主节点与部分高信用值从节点共同对客户端消息生成一个聚合签名,隐匿主节点信息,参与生成聚合签名的从节点可以对消息中的客户端数字签名进行验证,确保消息未经主节点篡改,避免拜占庭主节点更改日志.最后,通过本地多节点仿真实验表明:SRaft算法能有效降低选举冲突发生的概率,提高选举效率;通过理论分析验证了SRaft算法可以隐匿主节点信息,提升了算法的可靠性和集群的稳定性.
基金项目
2020 年湖北省科技重大专项(2020AEA012)