打赏

区块链共识算法|RAFT和PBFT的区别

这里有个很形象的比喻:

 

一个团队一定会有一个老大和普通成员。对于 raft 算法,共识过程就是:只要老大还没挂,老大说什么,我们(团队普通成员)就做什么,坚决执行。那什么时候重新老大呢?只有当老大挂了才重选老大,不然生是老大的人,死是老大的鬼。

对于 pbft 算法,共识过程就是:老大向我发送命令时,当我认为老大的命令是有问题时,我会拒绝执行。就算我认为老大的命令是对的,我还会问下团队的其它成员老大的命令是否是对的,只有大多数人 (2f+1) 都认为老大的命令是对的时候,我才会去执行命令。那什么时候重选老大呢?老大挂了当然要重选,如果大多数人都认为老大不称职或者有问题时,我们也会重新选择老大。

 

对于 老大(leader)选举这块, raft 算法本质是谁快谁当选,而 pbft 算法是按编号依次轮流做主节点。

posted @ 2019-06-21 08:49  gyc567  阅读(712)  评论(0编辑  收藏  举报