Hyperledger Fabric1.0架构概览

尚力财经 377 0

Hyperledger Fabric1.0架构概览-第1张图片-尚力财经

?Hyperledger是业界非常看到的联盟链的实现,包括IBM、Intel、R3,以及各大商业银行,带给我们关于区块链技术与软件业、金融、保险、物流等领域的碰撞与结合的想象;在这个联盟中,超过四分之一的成员来自中国,这就是为什么我们非常关注它的一举一动。Hyperledger及其背后的联盟体系很大程度上代表了区块链在产业环境下的未来(仅个人观点,欢迎拍砖,呵呵:-))。

作为最重要的子项目,最新的Fab IRC版本将在联盟推出Fabric版本后不久问世。今天让我们粗略的看一下最新版本(1.0)的整体架构,对这个承载着工业梦想的新生事物有个基本的了解。

说明:本文只是概述,具体细节可以在官网和github的文档中找到。我就是从这些地方搜集的资料,右边是“借花献佛”。

Fabric 1.0的整体架构

?Hyperledger的fabric的当前稳定版本是0.6版。在解释1.0版本之前,我们先来看看0.6版本的整体架构:

?0.6版本对应的运行时架构:

0.6版本的架构特点是:

结构简单:应用-成员管理-对等的三角关系,主要业务功能全部集中在对等节点;架构问题:由于对等节点承担了过多的功能,带来了扩展性、可维护性、安全性、业务隔离等诸多问题。所以0.6版本推出后并没有被业界广泛使用,只是在一些零星案例中得到验证;

针对以上问题,1.0版本进行了大幅改进和重构:

这是最新的1.0运行时架构:

Hyperledger Fabric1.0架构概览-第2张图片-尚力财经

1.0架构要点:

拆分Peer的功能,将区块链的数据维护和共识服务分离,将共识服务与Peer节点完全分离,独立为订购者节点提供共识服务;基于新的架构,实现了多通道结构,以及更加灵活的业务适应性(业务隔离、安全性等。)是实现了?支持更强的配置功能和策略管理功能,进一步增强系统的灵活性和适应性;

备注:在最新的1.0版本中,上图中的会员服务已更名为fabric-ca

1.0架构目标

从fabric新架构设计的提案文件来看,1.0版本的设计目标如下:

chaincode信任灵活性:支持多个订购服务节点,增强共识的容错能力和抵抗订购者邪恶的能力。2.扩展性:签注与订购分离,实现多通道(实际上是分区)结构,增强系统的可扩展性;同时,它还将消耗系统性能的任务(如链码执行、分类帐和状态维护)与共识任务分离,确保了关键任务(排序)的可靠机密性。新架构对链码在数据更新和状态维护方面提出了新的保密要求,提高了系统的业务和安全能力。共识服务模块化:支持可插拔共识结构,支持多种共识服务的接入和服务实现架构特点

Hyperledger Fab IRC 1.0版本在0.6版本的基础上,在安全性、保密性、部署、维护、实际业务场景需求等方面做了很多改进,尤其是对等节点的功能分离,使系统架构具备了支持多通道、可插拔共识的能力, 让Fabric脱离0.6版本带来的绿色感觉(只是一个验证)

我们来看看1.0版本的关键架构:

多链多通道

Fabric 1.0的重要特点是支持多链多通道;

所谓链,实际上是一个包括对等节点、账簿、订购渠道的逻辑结构,将参与者与数据(包括链码)隔离开来,满足不同业务场景下“不同人访问不同数据”的基本要求。

同时,一个对等节点也可以参与多个链(通过访问多个通道););如下图所示

关于通道:通道是共识服务(订购)提供的一种沟通机制,类似于题目;在消息系统的发布/订阅中;基于这种发布订阅关系,peer和orderer连接在一起,形成一个保密的通信链路(虚拟的),实现了业务隔离的要求;Channel也和ledger关系密切)——world state;如下图:

尚力财经小编2022

共识服务与(P1,PN),(P1,P2,P3),(P2,P3)形成三个独立的通道,添加到不同通道的对等节点可以维护每个通道对应的账簿和状态;其实也对应了现实世界中不同业务场景的参与者,比如银行、保险公司;物流企业、生产企业等实体结构;我们可以看到,通道机制实际上是Fabric对实际业务流程建模的能力得到了极大的增强,你可以发挥想象力去寻找可能的应用领域

事务(数据)流程描述

新版本的架构变化导致新的事务流程变化,我们简单描述如下:

整体流程如下图所示:

Hyperledger Fabric1.0架构概览-第3张图片-尚力财经

应用程序通过SDK向对等节点发送请求?对等节点单独执行交易(通过chaincode),但不将执行结果提交到本地账簿(可以认为是模拟执行,交易处于挂起状态)。参与背书的对等体将执行结果返回给应用程序(包括自己在背书结果上的签名)。应用程序收集背书结果并将其提交给订购服务节点。订购服务节点执行共识过程并生成一个块,该块通过消息通道发布给对等节点。对等节点分别对交易进行验证并提交给本地分类帐(包括状态的变化)尚力财经小编2022上述流程对应的执行顺序图如下:

在新架构中,对等节点负责维护区块链的分类帐和状态,本地分类帐称为PeerLedger。其结构如下:

我们可以看到,整个块结构分为文件系统存储的块结构和数据库维护的状态State,其中状态的存储结构是可替换的,可选实现包括各种KV数据库(LEVELDB,CouchDB等。);

以上是我们对Fabric 1.0 1.0版本的简单介绍由于Fabric的复杂性,我还会在后面对1.0版本中的技术细节和实现机制进行专门的讲解,敬请关注;

?同时每天更新1.0版本的代码和文档。请关注官网和github,这是最好的学习场所。

最后说一下大家关心的版本计划:

接下来的1.0版本的版本计划

是剧透官方的开发计划,只是“提出来”的,随时可能有变化:

按照官方的计划,1.0版本应该在3月份完成。

尚力财经小编2022

注意:Fabric 1.0版本的代码可以初始运行。可以参考万达吉总:Hyperledger Fabric v 1.0-——开发者快速入门:https://zhuanglan.zhihu.com/p/25070745

参考文档官网:www.hyperledger.orgGithub地址:https://github.com/hyperledger/. Fabric Fabric下一代共识架构建议书:hyperledger/fabriCFAbric多渠道及下一代账本设计:——33————33——3333343333333——3————33——33愚人节愚人节愚人节335愚人节35334354343543

标签: 2022

抱歉,评论功能暂时关闭!

微信号已复制,请打开微信添加咨询详情!