栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

pbft共识协议

pbft共识协议

pbft协议可以处理拜占庭错误,即可以处理以下错误:

    节点故意不回复节点故意发送误导的信息
    拜占庭错误的协议不仅要在多个节点之中确定一个提议,还要防止这个提议是假的,例如:这个提议的发送者是一个坏的节点,故意给一些节点发送A提议,给另外一些节点发送B提议,这样这个集群就产生了不一致,俗称脑裂。这是共识协议最严重的错误。
如何才能处理拜占庭错误

非拜占庭错误需要:

    二阶段协议n >= 2f + 1,即错误节点不能超过一半,集群要有大多数是正确的。

拜占庭错误需要:

    三阶段协议。可以理解为,其中的两阶段用于确定一个值,第三阶段用于验证这个值是否与其他人一致。n >= 3f + 1。可以理解为,只有大多数并不能确定一个值,因为这个大多数中可能有恶意节点故意装的。我们需要另外的f节点再帮我们验证。
流程

pbft是一个leader-based协议,即集群中有一个leader节点,也主节点。主节点发送错误后,重新选择一个主节点,这个过程叫view-change。
正常的协议有下面三个阶段:

pre-prepare

主节点将请求发送给所有其他节点

prepare

其他节点收到后,验证消息有效性。然后将请求发送给所有其他节点

commit

其他节点收到后,验证消息有效性。然后将请求发送给所有其他节点

当主节点收到2f+1的commit消息后,就可以返回确定信息给客户端。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/745139.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号