摘要

共识算法作为区块链底层的关键技术,可以解决分布式系统中由于节点分散而导致的共识难以达成的问题.现在联盟链中普遍使用的实用拜占庭容错共识算法,在准备阶段和提交阶段需要所有备份节点间互相交换信息,出现网络故障或者遭遇分布式拒绝服务攻击的时候,会出现活性差、可扩展性不强、鲁棒性不足等问题.针对上述问题,本文以联盟链在高校学生信息存储和管理运用为背景,在实用拜占庭容错算法基础上,提出一种融合可验证随机函数和门限签名的拜占庭容错共识算法.算法利用可验证随机函数的随机特性和零知识证明的特性来构造匿名选主算法,达到隐藏主节点,模糊敌手攻击对象,增强抵抗网络自适应攻击的能力.同时通过基于代表法定人数投票意愿的门限签名机制,使备份节点只通过验证门限签名,就能确认共识达成,从而保证在高丢帧率的网络环境下,增加达成共识的概率,提升拜占庭容错共识算法的鲁棒性.实验分析表明,系统在f个节点宕机、网络数据发送成功率只有80%的情况下,达成共识的概率依然超过90%,在提高共识概率的同时,降低签名验证的次数,提升了可扩展性,有效保证了系统的活性.