赞
踩
一、算法原理
实用拜占庭容错算法 (Practical Byzantine fault tolerance, PBFT)是一种状态机副本复制算法, 每个状态机的副本都保存了服务的状态, 同时也实现了客户端所有合法请求的操作, 能够保证在满足分布式系统活性和安全性的前提下, 允许 (n − 1)/3 个节点出错 (数据丢失、不工作等), 其中 n 为分布式系统中所有参与共识过程的节点数量. 即该算法能够保证系统在 (n − 1)/3 个节点出现故障或恶意操作的情况下, 依然能正确达成分布式共识.
PBFT 算法中存储副本的节点都在一个视图(View) 的轮换过程之中. 在编号为 v 的视图中, 一个副本节点是主节点, 其他副本节点是备份节点. 主节点主要用来接收客户端发送的请求消息, 由公式 p= v mod |R| 计算选出, |R| 表示存储副本节点的个数. 若主节点失效, 则启动视图更换, 更改当前的视图编号 v, 再根据上面的公式选出主节点.
二、算法过程
PBFT算法的过程如下:
PBFT 算法的三阶段过程如下图所示:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。