Fabric v1.x Orderer的共识算法


Fabric Orderer的共识算法是可插拔的,包括Solo、Kafka、Raft,其中Raft算法是在Fabric v1.4版本中新增的,未来还将加入BFT算法。本文会对已实现的3个共识算法进行剖析。

一、Solo

Solo算法中只有一个orderer节点,用于开发阶段的实验。一个Orderer节点不存在共识的问题,该节点接收所有来自客户端的交易,然后将其排序并产生区块,如下图所示:
在这里插入图片描述

二、Kafka

所有的orderer都会连接kafka集群,而orderer之间并没有直接的连接,如下图所示:
在这里插入图片描述
所有trasaction的排序依赖于kafka,kafka的partition里面的数据均是按时间进行排序的,因此可以帮助Orderer集群进行排序。

那么基于kafka排序,是如何做到orderer集群上的所有节点都产生相同区块的?

  • 以交易数量分割区块是容易的,对任意的OSN来说,都会得到相同的区块。
  • 但是基于时间分割区块,各个节点的时间是有偏差的,所以需要各个节点间明确的协调信号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值