具有监督机制的高效拜占庭容错算法
2021-09-26王日宏邢聪颖徐泉清袁杉杉
王日宏,邢聪颖,徐泉清,袁杉杉
1.青岛理工大学 信息与控制工程学院,山东 青岛266520
2.蚂蚁金服,杭州310012
随着比特币[1]的兴起,区块链技术也逐渐引起各界人士的兴趣。区块链综合了密码学、分布式等原理,具有去中心化、可追溯、不可篡改等特性[2]。共识机制作为区块链技术不可或缺的环节,决定着区块链系统的安全性。全节点的交互不需要提前信任其他节点,当某节点提出区块数据后,各节点通过既定的共识机制共同认证和操作数据,通过认证的区块将被加入到区块链中。因此,共识机制在区块链领域占据至关重要的位置。
根据应用场景及用户需求不同,区块链分为公有链、私有链以及联盟链三种。私有链的网络系统归属于特定的组织或机构,数据受限于这些弱中心化机构;公有链对中心化要求最高,允许节点参加链上数据的读写,并能够自由进出网络,其典型共识算法有工作量证明(Proof of Work,PoW)、权益证明(Proof of Stake,PoS)[3]以及授权股份证明(Delegated Proof of Stake,DPoS)[4]等。
联盟链中的节点是事先确定的,并且节点数量较为固定,节点信用度更高。联盟链共识算法分为非拜占庭容错共识算法和拜占庭容错算法。前者主要应用于系统存在故障,但是不存在恶意节点的场景,典型共识算法有Paxos[5]、Raft[6]等;后者应用于伪造信息、恶意响应的场景,在此种情境下,消息可能会被丢失、延迟、重放以及伪造等,典型共识算法有PBFT[7]、HotStuff BFT[8]等。即便是在信任度极高的联盟链中,理论上并不能排除恶意节点或网络环境导致的恶劣行为,况且现有的共识机制大都建立在特定理论假设情况下,例如PBFT共识算法适用于部分同步模式,其在异步模型下仍然面临系统不协调情形[9]。……
