摘要:委员会共识和混合共识通过选举委员会来代替全网节点完成区块验证, 可有效加快共识速度, 提高吞吐量, 但恶意攻击和收买易导致委员会发生腐败问题, 严重时将影响共识结果甚至造成系统瘫痪. 现有工作虽引入信誉机制降低委员会节点腐败的可能性, 但开销大、可信度低且无法降低腐败问题对系统的影响. 提出一种带有预验证机制的区块链动态共识算法(DBCP), 通过预验证机制在较小开销的前提下对委员会进行可靠的信誉评估, 及时淘汰委员会中的恶意节点. 若腐败问题已影响到共识结果, DBCP会通过动态共识将区块验证权转移到全网节点, 并淘汰给出错误意见的委员会节点, 避免系统瘫痪. 若委员会通过迭代达到高可信状态, 则DBCP会将区块验证权交由委员会, 全网节点将认同委员会的共识结果, 并不再对区块进行验证, 进而加快共识速度. 经实验验证, DBCP的吞吐量与比特币相比提升了两个数量级, 且与Byzcoin相近, 可在一个出块周期内快速应对委员会腐败问题, 安全性优于Byzcoin.