共识机制作为区块链的核心技术,决定了参与节点以何种方式对某些特定的数据 达成一致,关系到区块链的安全性、可扩展性和去中心化程度等许多重要特性。共识设计的 优劣是区块链自治能否进入良性循环的关键。共识机制可以分为区块链共识机制和经典分 布式共识机制两大类。现有的区块链共识机制虽然实现了非授权和最高程度的去中心化, 但其为了满足区块链系统的安全性,普遍存在性能低下的问题。以目前广泛应用的公链为 例,比特币的TPS(Transactions Per Second,每秒处理交易个数)不高于7,以太坊的TPS不 高于25,其交易处理能力远低于Visa等信用卡支付系统的处理能力(约每秒7000笔交易)。 低效的吞吐量限制了区块链系统在真实场景中的应用。为了增强区块链系统的可用性,人 们开始研究如何通过改进共识机制来提升区块链的性能。
[0004] 早在上世纪末,学术界已经对经典分布式共识机制有了较为系统的研究,例如,针 对网络中可能出现崩溃节点的情况而设计的Paxos、能够容忍一定数量拜占庭错误节点的 PBFT等,它们在区块链出现之前主要被应用在一些分布式数据库系统中。在节点数量较少 时,它们能提供优于PoW、PoS等非授权共识机制的吞吐量。目前,学术界和产业界已经将经 典分布式共识机制与区块链紧密结合,但是由于经典分布式共识机制的通信复杂度过高, 随着节点数量的增多,系统的吞吐量也会随着骤降。因此,经典分布式共识机制的可扩展技 术成为目前的研究热点。
[0005] 根据网络模型假设的不同可以将经典分布式共识机制分为三类:基于同步网络模 型的共识机制、基于部分同步网络模型的共识机制和基于异步网络模型的共识机制。同步 网络模型(Synchronous model)假设攻击者的能力很有限,所有消息都能在一个已知时间T 内到达,在同步网络模型的假设下,协议以“轮”(round)为单位来运作,每一轮的时间都是 T,所有的消息都能在T时间内完成传输,因此可以保证在每一轮结束之前,每个节点都收到 了来自其他节点的消息;部分同步网络模型(Partially synchronous model)是指在该网 络模型假设下,所有的节点都能在一个未知的时间点达成同步,并且从该时间点开始,消息 能在一个已知时间内完成端到端的传输;在异步网络模型(Asynchronous model)假设下, 无法保证节点与节点之间的所有消息传输一定成功。
[0006] 现有的联盟区块链系统所采用的共识机制都是基于部分同步网络模型的共识机 制实现的,包括三个重要组成部分:节点选择、共识达成、节点重配置。其中,节点选择和节 点重配置是保证共识机制活性的重要部分,用来确保领导节点是诚实节点,且网络内的诚实节点占比超过一定比例。共识达成是保证共识机制一致性的重要部分,用来确保所有诚 实节点对同一内容达成一致。
《基于多角色的可扩展共识机制的系统及方法》