1 微众银行PBFT共识算法原理和共识架构
1.1 共识系统架构
PBFT共识主要包括两个线程:
- PBFTSealer: PBFT打包线程,负责从交易池取交易,并将打包好的区块封装成PBFT Prepare包,交给PBFTEngine处理;
- PBFTEngine: PBFT共识线程,从PBFTSealer或者P2P网络接收PBFT共识消息包,完成共识流程,将达成共识的区块写入区块链,区块上链后,从交易池中删除已经上链的交易,区块验证器(Blockverifier)负责执行区块。
1.2 核心流程
PBFT共识主要包括Pre-prepare、Prepare和Commit三个阶段:
- Pre-prepare:负责执行区块,产生签名包,并将签名包广播给所有共识节点;
- Prepare:负责收集签名包,某节点收集满2*f+1的签名包后,表明自身达到可以提交区块的状态,开始广播Commit包;
- Commit:负责收集Commit包&#x