PBFT是一种常用于联盟链的共识算法,中文名是实用拜占庭容错算法。
首先用户发送交易到区块链网络中,主节点接收到交易并向其他节点进行广播,其他节点收到广播后记录下交易并广播给其他节点,当各节点收到相同交易的广播次数(包括节点自己本身一次)达到一定阈值后,则共识通过。
这个阈值为2F+1,F为可以容错的节点数量,总节点数达到3F+1。为什么需要达到2F+1的节点通过,共识才能达成呢?因为在最差的情况下F个错误节点全部回复错误的信息,节点收到的广播仍然有F+1个可信节点的正确消息,节点因此可以做出正确的判断而不会影响共识。
而为什么总节点数必须达到3F+1呢?因为共识必须有2F+1个节点回复消息,那么在最优的情况下F个节点全部宕机(不回复),如果要保证共识正常进行,那么总节点数必须达到2F+1+F=3F+1,总节点数可以更多,不能更少。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)