区块链Fabric 之共识机制

区块链Fabric 之共识机制,第1张

什么是共识
什么是一致性?
分布式系统中,一致性是指对于系统中的多个服务节点,给定一系列 *** 作,在协议(往往通过某种共识算法) 保障下,试图使得它们对处理结果达成某种程度的一致。如果分布式系统能实现“一致”,对外就可以呈现是一个功能正常的,性能和稳定性都要好很多的“虚处理节点”

一致性并不代表结果正确与否,而是系统对外呈现的状态一致与否,例如,所有节点都达成失败状态也是一种一致 ,分布式系统实现了一致性之后,对外部看来就是一个单节点系统
什么是共识算法呢?
共识算法解决的是在一个分布式的网络中,各节点对某个提案(Proposal) ,大家达成一致意见的过程。提案的含义在分布式系统中十分宽泛,如多个事件发生的顺序、某个键对应的值、谁是领导……等等,可以认为任何需要达成一致的信息都是一个提案,共识的目的就是为了达成一致,一致是目的,共识是手段。

如果分布式系统中各个节点都能保证以十分强大的性能(瞬间响应、高吞吐) 无故障的运行,则实现共识过程并不复杂,简单通过多播过程投票即可。很可惜的是,现实中这样“完美”的系统并不存在,如响应请求往往存在时延、网络会发生中断、节点会发生故障、甚至存在恶意节点故意要破坏系统

共识算法类型
Fabric共识机制

Fabric共识机制 Solo模式
Solo:中心化网络,整个fabric网络依赖于一个order节点
Fabric共识机制 Kafka模式
Kafka:半中心化
Fabric网络中的数据一致性,由Zookeeper来保证,并实现共识;

Zookeeper的核心是原子广播机制,这个机制保证了各个server之间的同步。实现这个机制的协议叫做ZAB协议,ZAB协议和Raft类似;

当前Fabric1.x平台只实现了非拜占庭共识;

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/1298513.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存