首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

FastFabric:提升Hyperledger Fabric性能到20000TPS

我们使用了15台本地服务通过1 Gbit/s交换机连接。每台服务配备两个2.10GHzIntel R Xeon R CPU E5-2620 v2处理,总共24个硬件线程和64 GB RAM。...在Fabric1.2中,由于向Kafka发送大消息开销,交易吞吐量随着负载大小增加而降低。...p-iii,与我们对未改性织物1.2测量结果相比。 我们设置了一个使用三个zookeeper服务和三个kafka服务(默认主题复制因子为三)集群单个排序节点,并将其连接到Peer。...最后,客户机安装在自己服务上;该客户机从五个背书服务请求背书,并将背书事务发送到排序服务。这总共使用15台服务连接到本地数据中心同一个1 Gbit/s交换机。...ID•替换现有的加密计算库,提供更有效率库 •通过分配一个单独每个通道排序和快速Peer服务 •使用分布式框架,如apache spark[23] 引用 [1] V.

1.5K10

Fabric区块链kafka共识入门 原

本文将介绍Kfaka基本工作原理,以及在Hyperledger Fabric中使用Kafka和zookeeper实现共识原理,并通过一个实例剖析Hyperledger Farbic中Kafka共识达成过程...在Hyperledger FabricKafka实际运行逻辑如下: 对于每一条链,都有一个对应分区 每个链对应一个单一分区主题 排序节点负责将来自特定链交易(通过广播RPC接收)中继到对应分区...定时交易是另一个交易,由上面描述定时生成 每个排序节点为每个链维护一个本地日志,生成区块保存在本地账本中 交易区块通过分发RPC返回客户端 当发生崩溃时,可以利用不同排序节点分发区块,因为所有的排序节点都维护有本地日志...三、Hyperledger Fabric Kafka实例解析 考虑下图,假设排序节点OSN0和OSN2时连接到广播客户端,OSN1连接到分发客户端。 ?...因此OSN1将4#区块返回客户端,处理结束 Kakfa高性能对于Hyperledger Fabric有很大帮助,多个排序节点通过Kafka实现同步,而Kafka本身并不是排序节点,它只是将排序节点通过连接起来

2.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

Hyperledger fabric基础介绍

Hyperledger fabric是Linux Foundation主办超级账本项目下开源项目之一,旨在提供一个模块化区块链解决方案支撑平台。...2.共识机制(Consensus Protocol):fabric v1.0以后使用是交易背书、交易排序和交易验证共同构成共识机制,不过目前kafka排序节点集群仅能保证崩溃故障容错(CFT),不能实现拜占庭容错...Hyperledger fabric是联盟链优秀实现,更适合于企业区块链场景。它具有有完备权限控制,成员通过身份验证才能加入网络,且兼顾数据共享和隐私保护,更具安全性。...3.区块文件管理创建文件名以“blockifle_”为前缀,6位数字位后缀,比如blockfile_000000,默认区块文件大小为64MB,如果当前文件大小超过该值,则区块写入下一个文件中。...5.交易验证并提交 每个节点会对区块中所有交易进行验证,包括验证背书策略以及版本冲突验证(防止双花),验证不通过交易会被标记会无效(Invalid) 账本更新:节点将读写集更新到状态数据库 ,将区块提交到区块链上

1.4K64

研究Fabric中EtcdRaft应用

Hyperledger Fabric之前版本核心共识算法通过Kafka集群实现,简单来说,就是通过Kafka对所有交易信息进行排序(如果系统存在多个通道,则对每个通道分别排序)。...其实,Hyperledger Fabric在1.4.1版本以前,它核心共识算法通过Kafka集群实现,但是在1.4.1版本之后,Fabric推荐使用Raft算法实现节点共识。...其实从提供服务视角来看,基于Raft和Kafka排序服务是类似的,他们都是基于CFT(crash fault tolerant)模型排序服务,并且都使用了主从节点设置。...鉴于此,当有多个组织使用基于Kafka排序服务时候,其实没有实现去中心化,因为所有的节点连接都是由一个组织单独控制Kafka集群。...而且Kafka和Zookeeper支持相关issue要通过apache来处理,而不是Hyperledger Fabric。Raft实现是包含在Fabric社区,开发支持更加便利。

86031

Hyperledger Fabric学习笔记02-网络节点架构

客户端节点 客户端或者应用程序代表有最终用户操作实体。 它必须连接到某一个Peer节点或者排序服务节点上与区块链网络进行通信。...排序服务提供是原子广播(Atomic Broadcast),保证同一个链上节点接收到相同消息,并且有相同逻辑顺序。...可以实现不同级别的容错处理,目前正式发布1.0版本只支持Apache Kafka集群,提供交易排序功能,只实现CFT(Crash Fault Tolerance,崩溃故障容错),不支持BFT(Byzantime...现在是通过Kafka/ Zookeeper实现CFT,未来将提供基于 etcd/Raft Raft共识订购服务以及完全分散BFT订购服务 ##CA节点 CA节点是Hyperledger Fabric1.0...参考资料 《深度探索区块链:Hyperledger Fabric技术与应用》 Pluggable Consensus

75330

Hyperledger Fabric 系统架构详解

是一个可视化区块链操作工具,可以用于创建对用户友好 Web 应用程序;是首个Hyperledger区块链浏览,用户可以查看/调用/部署/查询交易、网络、智能合约、存储等信息。...(只限于开发) Kafka(一种消息平台) Raft(相比 Kafka 更中心化) 网络协议 那Fabric网络中各个节点状态分发又是怎么进行呢?...优势总结 Fabric通过将企业应用各个复杂环节分配到各个逻辑角色节点(背书、排序等),不需要所有节点都承担如排序这样资源消耗较大操作,消除了网络瓶颈;分配了角色后某些交易只在特定节点部署和执行,...OSN),排序节点接收到交易后,会打包成 blocks 并按照配置中规则进行排序,在此过程中,只执行排序操作,而不进行任何执行或验证,排序完成后发送至所有节点。...排序服务用来对全网交易达成一致,只负责对交易顺序达成一致,避免了整个网络瓶颈,更容易横向拓展以提升网络效率,目前支持Kafka和Raft两种,Fabric区块链网络统一/完整性依赖于排序节点一致性。

1.6K10

Hyperledger Fabric:一种分布式操作系统-基于准入控制区块链

正如Fabric是有权限控制,所有参与网络节点都带有身份,通过一个模块化成员服务提供者(MSP)(4.1节)。...这使得共识尽可能模块化,并实现了实现排序服务共识协议生态系统。 3.4 验证阶段 通过直接连接排序服务或通过八卦将块交付给Peer节点。...实际原子广播功能由Apache Kafka(http:// kafka.apache.org)实例提供,该实例基于ZooKeeper提供可扩展发布 - 订阅消息传递和节点崩溃强一致性。...Kafka可以在与OSN分开物理节点上运行。OSN充当Peer和Kafka之间代理。 OSN直接将新接收交易注入原子广播(例如,向Kafka broker)。...八卦另一个任务是将状态转移到新连接节点和长时间断开连接节点。他们需要接收链中所有块。该特征依赖于每个节点存储最大块序列号与成员资格数据一起传播事实。

1K30

99%的人都不懂中本聪、V神这么牛靠是什么?一张图而已!

Hyperledger Fabric 中,Node 是区块链通信实体。Node 仅仅是一个逻辑上功能,多个不同类型 Node 可以运行在同一个物理服务中。...Ordering Service 会接收交易信息,并将其排序后打包成区块,然后,写入区块链中,最后将结果返回给 committing peers。 共识层基于 Kafka、SBTF 等共识算法实现。...Hyperledger Fabric 利用 Kafka 对交易信息进行排序处理,提供高吞吐、低延时处理能力,并且在集群内部支持节点故障容错。...相比于 Kafka,SBFT(简单拜占庭算法)能提供更加可靠排序算法,包括容忍节点故障以及一定数量恶意节点。...在区块链中,每个节点既是数据发送方,又是数据接收方。可以说每个节点既是客户端,又是服务端,因此需要基于长连接来实现。

1K21

干货 | 基于tendermint实现Hyperledger Fabric拜占庭容错排序

之前我分享过一篇文章《HyperLedger Fabric在携程区块链服务平台应用实战》介绍了一些携程对于HyperLedger Fabric落地经验,并重点分享了Fabric框架在代码结构灵活性上一些认识和在...二、fabric orderer服务过程分析 我们先以最简单solo为例,看一下Fabricorderer节点接收排序请求后主要处理逻辑。...kafka排序与上述例子中solo排序区别是:可以支持多个orderer节点,所有的交易可以请求任何一个orderer节点,请求orderer节点本地排序出块后会通过kafka集群将数据同步给其他...四、基于tendermintabci实现fabric排序服务 Tendermint提供了一个高性能、一致、安全BFT共识引擎,严格分叉问责保证能够控制作恶者行为。...这就为许多其他技术栈甚至不同语言区块链底层集成提供了思路。关于更多tendermint介绍这里不再赘述。 这里,我们通过tendermintabci来实现fabricorderer服务。

89220

Hyperledger fabric 1.4 kafka排序服务原理与安装

1.Kafka排序服务原理 官方文档在google doc上 参考翻译 https://www.jianshu.com/p/db006359133d ?...2. kafka 排序服务安装 所有的代码已分享在 https://github.com/zealzeng/kafka-orderer-demo 2.1 安装环境 官方文档有一些简单描述 https:...//hyperledger-fabric.readthedocs.io/en/release-1.4/kafka.html kafka节点需要3f+1, 最少需要4个节点; zookeeper节点2f+....example.com 192.168.31.231 kafka4,peer1.org2.example.com Hyperledger fabric 1.4年前已正式发布, 是一个长期维护版本,...小结 提供代码只用于学习, 不适合用于生产。持久化配置, 记账本使用couchdb, kafka, zookeeper网络安全设置, 系统参数, 容器参数等都需要按照实际情况调整。

87420

链课堂01 | 解密超级账本-Fabric运行机制

联盟链究竟有何“魅力”,能得到如此多大企业青睐?今天,小编将通过介绍一个基于联盟链项目—Hyperledger Fabric,为大家抛砖引玉。...目前,Hyperledger已有140多个成员,其中1/4来自中国。中国技术组主要由万达、华为、IBM构成,职责包括中国地区及中国会员需求提供,以及代码推进。...下面,我们直接通过1.0版本进入Fabric世界。 ? 图1. Fabric 1.0 架构图 ? 图2. 运行时架构 ➤Identity,也就是身份管理。...➤排序 Orderer排序分Solo和Kafka两种模式; Solo:单节点排序功能,实验性质,不具备可扩展性和容错,不能够在生产环境使用;Kafka:集群排序,支持CFT容错,支持可持久化和可扩展性...而Fabric作为准入型网络,节点具有很大可信度和目的性,自然代币就不是很必要。 ➤Block打包 Fabric出块可配置时间、大小,甚至交易上限大小,非常灵活。

1.3K20

Fabric简介

一、Hyperledger Fabric是什么 Hyperledger Fabric是面向企业应用场景开源分布式账本平台。...Hyperledger Fabric基于模块化设计,各个模块实现特定功能。企业之间可以组建Fabric联盟链,将相关业务数据通过智能合约方式写入链上,通过背书策略来保证各个企业数据一致性。...Fabric-orderer, fabric-kafaka, fabric-zookeeper主要是提供orderer服务,用户将请求提交给orderer, orderer对用户请求进行排序通过排序从而保证分布式业务顺序...,区块通过PreviousHash连接成链式结构,交易信息里面包含了交易读集和写集。...e) 对于区块存储文件,单个文件大小是否有限制。 目前在fabric里,区块是存在一个个文件里,单个文件大小是64M。

2.5K30

Hyperledger Fabric 2.0 Alpha新特性

Hyperledger Fabric v2.0 Alpha引入两大新功能,新Fabric链码生命周期和FabToken....使用新链码生命周期 官方提供了新操作手册和例子: Chaincode for operator https://hyperledger-fabric.readthedocs.io/en/latest...Using FabToken https://hyperledger-fabric.readthedocs.io/en/latest/token/FabToken.html 官方提供了对应操作文档...Raft实现排序服务 1.4.1引入etcd实现raft(CFT)容错排序服务,以前编写一致性文章有提到过,跟zookeeper协议有点类似。比以前kafka排序服务更容易搭建。...排序服务是可插拔,华为等大厂都有自己实现XFT排序服务。 小结 总体上还是继续稳定优化,让开发更好编写和部署链码,让运维更方便管理系统。

74410

Hyperledger Fabric基础之Peer节点

Java基本只能看TestCase代码, 所以说Hyperledger Fabric也属于成长完善阶段。...更新第四步应用需要收集所有的背书响应,最后打包请求到orderer排序节点,排序节点发送到网络中其它节点, 这些节点会验证打包信息,通过后更新本地账本拷贝,最后异步通知应用。...节点与组织 区块链网络由一个或多个组织管理,peer节点则是网络中这些组织连接点。 ? 每个组织可以通过自己开发不同应用,接入各自接入点,为网络对应通道提供资源和数据,没有中心化资源。...阶段2 - 打包 Orderer节点是主角, 它会收到阶段1中交易提议响应内容, 把批量交易打包到区块,当生成区块到了一定大小或者一定时间内,orderer分发到连接所有Peer节点。...如果验证通过,节点会做账本状态一致性检查,即使背书验证通,但由于此时可能另外交易已更新对应资源状态,这个交易也是无效

1.3K10

Hyperledger Fabric BYFN之配置进阶篇

1.1之后peer event做了完全不同设计,消息监听不在peer节点了,而是基于channel,这样设计提供了对Peer数据更细粒度采访控制和提供接收消息可靠性。...(官方文档是这么扯,我也有点疑惑) 主要提供两种服务,Deliver(通知提交到记账本整个区块内容) 和DeliverFiltered(过滤一些区块减少消息通知返回区块大小) 有点晦涩, 找了下Java...everyOther; } Fabric-SDK在设计时候,无论是查询,更新,大多操作都是基于org.hyperledger.fabric.sdk.Channel作为入口, 例如...Orderer大多例子都是SOLO配置Kafka如何配置? 老实说要用好Kafka里面蛮多参数需要考量,毕竟Orderer集群是共识实现重点,后面我们专门探讨下kafka实现共识和配置。...暂时先参考官方文档 https://hyperledger-fabric.readthedocs.io/en/release-1.2/kafka.html?highlight=kafka

1.4K20

区块链开源实现fabric快速部署及CLI体验

官方docker非常慢,请一定在阿里云等提供docker仓库加速网站注册好帐户(比如https://cr.console.aliyun.com/#/accelerator),配置好加速。...cd /opt/gopath/src/github.com/hyperledger git clone https://github.com/hyperledger/fabric.git 请切换到最新...可以看到,默认安装了:4个peer(2个是org1,2个是org2)节点、4节点构成kafka集群、3节点构成zookeeper集群、1个orderer节点。...这是因为:fabric提供共识机制,PBFT目前还未达到生产级别的应用,只能靠kafka+zookeeper实现PAXOS算法下共识机制(不能有作恶结点)。...在fabric里,所有的交易必须通过智能合约才能操作,而chaincode链码就是智能合约。

1.2K20
领券