fabric 共识机制由于fabric是分布式的系统,因此需要共识机制来保障各个节点以相同的顺序状态保存账本,达成一致性。 在当前fabric1.4版本中,存在三种共识机制,分别是solo,kafka,etcdraft。交易的共识包括3个阶段的处理:提议阶段、打包阶段和验证阶段。1.Solo 共识模式Solo共识模式指网络环境中只有一个排序节点,从Peer节点发送来的消息由一个排序节点进行排序和产
Fabric共识排序排序服务在超级账本 Fabric 网络中起到十分核心的作用。所有交易在发送给 Committer 进行验证接受之前,需要先经过排序服务进行全局排序。在目前架构中,排序服务的功能被抽取出来,作为单独的 fabric-orderer 模块来实现,代码主要在 fabric/orderer 目录下。orderer service的实现有一下几种,但是无论是哪一种共识,都不会产生分叉,因
Fabric 的网络节点本质上是互相复制的状态机,节点之间需要保持相同的账本状态。为了实现这个目的,各个节点需要通过共识( consensus )过程,对账本状态的变化达成一致性的认同。Fabric 的共识过程包括 3 个阶段:背书、排序和校验。背书在背书( endorsement )阶段中,背书节点对客户端发来的交易预案进行合法性检验,然后模拟执行链码得到交易结果,最后根据设定的背书逻辑判断是否
共识算法(consensus)#peer节点启动的时候根据配置文件core.yaml文件配置项peer.validator.consensus.plugin选择采用哪种共识算法。目前Fabric实现了两种共识算法NOOPS和PBFT,默认是NOOPS:NOOPS:是一个供开发和测试使用的插件,会处理所有收到的消息。PBFT:PBFT算法实现。0x01 插件接口Consenter// Executi
Fabric 中的 Raft 实现基于 etcd/raft 库,其中 etcd/raft 作为底层的 raft 状态机,fabric raft 作为上层的应用端,并负责消息通讯和数据存储。本文将对 fabric raft 的实现源码进行简单和阅读分析,理解 raft 共识在 fabric 中是如何运作的。调动顺序是chain.go <-> etcdraft/node.go <-&
目录一、概述二、共识流程(一)提议阶段(二)打包阶段(三)验证阶段三、小结一、概述Fabric中提供了Orderer排序节点,作为区块链网络的一种共识机制,提供对交易进行排序的服务。目前,Fabric已发布的版本中提供了一种基于崩溃容错(Crash Fault-Tolerant, CFT)等排序机制。这种机制是通过Kafka实现的,后续版本中会提供基于Raft共识的排序机制。本文不具体关注Orde
fabric的 hyperledger共识算法代码全部都在consensus文件夹里,consensus文件夹里主要分为controller,executor,helper,noops,pbft,util文件模块。 其中consensus.Go 主要包含了算法插件内部对外部暴露的接口和hyperledger外部对算法内部暴露的接口。controller:共识算法模块是
本文得益于上述两篇文章,同时再结合自己的实际搭建、配置心得,详细的描述将pbft共识算法添加至fabric1.4的步骤,为后来人提供学习参考。一、前言众所周知,pbft共识算法的实现仅存在于hyperledger fabric v0.6的版本中。在v0.6之后的版本,如fabric v2.x 采用的是kafka、solo、raft共识算法。从官方文档来看,bft类共识算法的开发仍在进行中,截至到本
什么是共识 什么是一致性? 分布式系统中,一致性是指对于系统中的多个服务节点,给定一系列操作,在协议(往往通过某种共识算法) 保障下,试图使得它们对处理结果达成某种程度的一致。如果分布式系统能实现“一致”,对外就可以呈现是一个功能正常的,性能和稳定性都要好很多的“虚处理节点”一致性并不代表结果正确与否,而是系统对外呈现的状态一致与否,例如,所有节点都达成失败状态也是一种一致 ,分布式系统实现了一致
HyperLegerFabric开发(四)——HyperLegerFabric共识机制一、Fabric共识过程1、Fabric共识过程Fabric区块链的网络节点本质上是互相复制的状态机,节点之间需要保持相同的账本状态。为了实现分布式节点的一致性,各个节点需要通过共识过程,对账本状态的变化达成一致性的认同。Fabric区块链的共识过程包括3个阶段:背书、排序和校验。2、背书在背书(endorsem
原创
2018-11-12 19:57:11
10000+阅读
点赞
Hyperledger fabric是Linux Foundation主办的超级账本项目下的开源项目之一,旨在提供一个模块化的区块链解决方案的支撑平台。概述一、区块链的共有特性1.分布式存储(Distributed Ledger): 所有节点共同维护完全一致的账本数据,区块以保存前一个区块Hash值的方式顺序相连,组成了链式数据结构,保证了数据的不可篡改。2.共识机制(Consensus Prot
一、前言
本文是一篇针对的是区块链的共识机制的序言,也可以说是“杂烩”。之后,还会详细地针对共识机制描述的博文。提及共识机制,我们不得不说到中本聪的在《Bitcoin: A peer-to-peer electronic cash system》文章中涉及的工作量证明(POW)。这种共识机制在去中心化的思想下解决了节点间相互信任的问题,使得区块链能在众多的节点上达到一种较为平衡的状态。区块
浅析Hyperledger Fabric共识算法11区块链系统是一个分布式架构,交易账本信息由各个节点管理,组成一个庞大的分布式账本。在分布式系统中,各个节点收到的交易信息的顺序可能存在差异(例如,网络延迟、主机处理性能),这会导致账本信息的状态不一致,例如,小王账户只有10元,但是他同时转账给小李和小张各10元,并且将这两条交易信息分别发送到两个分布式节点上,如果不对这两条交易进行排序校验,那么
陈述主要讲Fabric应用开发流程和Fabric业务网络。Fabric 应用开发流程Fabric 业务网络业务网络,也叫共识网络或区块链网络,由不同的节点构成。节点是区块链的通信实体,节点是一个逻辑概念,不同类型的节点可以运行在同一台物理服务器上。这些节点可能部署在云上面或者本地。可能来自不同的公司或者组织。在区块链网络中有两种类型的节点:Peer节点和Orderer节点。Peer节点chainc
在fabric中,共识过程意味着多个节点对于某一批交易的发生顺序、合法性以及它们对账本状态的更新结构达成一致的观点。满足共识则意味着多个节点可以始终保证相同的状态,对于以同样顺序到达的交易可以进行一致的处理。具体来看,fabric中的共识包括背书、排序和验证三个环节的保障。我们先来研究下背书策略。 一.什么是背书策略chaincode在实例化的时候,需要指定背书策略。这里的背书策略就是需
共识交易必须按照发生的顺序写入分类帐,尽管它们可能位于网络中不同的参与者组之间。为了实现这一点,必须建立交易的顺序,并且必须建立一种拒绝错误(或恶意)插入分类帐的坏交易的方法。在分布式分类帐技术中,共识最近已成为单一功能中特定算法的代名词。然而,共识不仅仅是简单地同意交易顺序,而是通过在整个交易流程中的基本作用,从提案和认可到订购,验证和承诺,在Hyperledger Fabric中强调了这种差异
区块链是一个没有中央权威的分布式对等系统。虽然权力下放可以防止各方的腐败行为,但是它必需要有一个可靠的共识协议来作出决策,让分散在世界各地的节点可以形成一致的意见。常见的共识算法有比特币采用的POW,fabric使用的PBFT,以及分布式系统一般采用的RAFT等。一、RAFT协议Raft基于分布式系统中常见的CFT(Crash Fault Tolerance)问题,比如分布式系统中一些节点由于
基于Raft共识搭建单机Fabric2.3网络环境当前fabric社区已经更新到2.3版本有一段时间了,作为fabric社区的第二个TLS版本,相信会有许多企业会将自己的fabric版本升级到fabric2.3,以跟上社区的维护进度,或者一些新的项目会选择2.3版本,这里这篇博客就是搭建fabric2.3单机网络的实战教程。1.搭建farbic2.3网络环境的准备工作介绍本次搭建的fabric2.
在之前讲解了比特币中的共识算法pow(proot of work),我们先来简单的回顾一下。新的交易将会广播给所有节点。 每个节点将都会讲新的交易收集到一个区块中。 每个节点都在为其区块收集困难的工作量证明。 当节点发现工作量证明时,它会将该区块的情况广播给所有节点。 只有在节点中的所有交易都有效且尚未使用时,节点才接受该区块。 节点通过在链中创建
实际项目集成分布式一致性协议 Raft 文章目录实际项目集成分布式一致性协议 Raft前言1.raft 是什么?2.SOFAJRaft2.1 功能特性3.Nacos 分布式一致性设计3.1 nacos 分布式协议架构设计3.1 nacos 用 jraft 做什么3.2 Distro 协议4.实际项目-Spring 工程4.1 旧版项目的集群模式4.2 为什么要升级4.3 如何集成4.3.1 主要参