003-主流区块链技术特点及Hyperledger的fabric V1.0

一、最新的1.0运行时架构:

  

  

  

  

1.0 架构要点:

  分拆Peer的功能,将Blockchain的数据维护和共识服务进行分离,共识服务从Peer节点中完全分离出来,独立为Orderer节点提供共识服务; 基于新的架构,实现多通道(channel)的结构,实现了更为灵活的业务适应性(业务隔离、安全性等方面) 支持更强的配置功能和策略管理功能,进一步增强系统的灵活性和适应性;

1.0版本架构目标:

  1、chaincode信任的灵活性:支持多个ordering服务节点,增强共识的容错能力和对抗orderer作恶的能力    
  2、 扩展性: 将endorsement和ordering进行分离,实现多通道(实际是分区)结构,增强系统的扩展性;同时也将chaincode执行、ledger、state维护等非常消耗系统性能的任务与共识任务分离,保证了关键任务(ordering)的可靠执行     
  3、保密性:新架构对于chaincode在数据更新、状态维护等方面提供了新的保密性要求,提高系统的业务、安全方面的能力     
  4、共识服务的模块化:支持可插拔的共识结构,支持多种共识服务的接入和服务实现

Fabric 1.0 的重要特征是支持多chain和多channel

  所谓的chain(链)实际上是包含Peer节点、账本、ordering通道的逻辑结构,它将参与者与数据(包含chaincode在)进行隔离,满足了不同业务场景下的”不同的人访问不同数据“的基本要求。同时,一个peer节点也可以参与到多个chain中(通过接入多个channel);如下图所示

  

关于通道

  通道是有共识服务(ordering)提供的一种通讯机制,类似于消息系统中的发布-订阅(PUB/SUB)中的topic;基于这种发布-订阅关系,将peer和orderer连接在一起,形成一个个具有保密性的通讯链路(虚拟),实现了业务隔离的要求;通道也与账本(ledger)-状态(worldstate)紧密相关;如下图所示:

  

  peer 1,2和N订阅红色通道,并共同维护红色账本; peer 1和N订阅蓝色通道并维护蓝色账本; 类似地,peer 2和peer N在黑色通道上并维护黑色账本。

  在这个例子中,peer N在订阅了所有通道,我们看到每个通道都有一个相关的账本。 一般来说,我们称不涉及所有peer的账本为子账本,另一种是系统账本,即全账本。

  通道和账本的组合是一个虚拟链,因此一个区块链网络可以具有1个共识服务的多个链。 系统通道和全账本构成系统链。 每个区块链网络只有1个系统链。如果交易是公开的,区块链网络可能永远不需要多个链; 所有的交易对所有Peers成员都可见。 然而,在成员间进行私密交易(例如双边合同),单独的链是隔离数据、提供保密的方式。

交易(数据)流程说明

  新版本的架构变化导致新的交易流程的变化,如下:

  

  1. 应用程序通过SDK发送请求道Peer节点(一个或多个)
  2. peer节点分别执行交易(通过chaincode),但是并不将执行结果提交到本地的账本中(可以认为是模拟执行,交易处于挂起状态),参与背书的peer将执行结果返回给应用程序(其中包括自身对背书结果的签名)
  3. 应用程序 收集背书结果并将结果提交给Ordering服务节点
  4. Ordering服务节点执行共识过程并生成block,通过消息通道发布给Peer节点,由peer节点各自验证交易并提交到本地的ledger中(包括state状态的变化)

上述过程对应的执行序列图如下:

  

  总体流程如下图所示:在新的架构中,Peer节点负责维护区块链的账本(ledger)和状态(State),本地的账本称为PeerLedger,其结构如下:

  

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

1.0版本的版本计划

  很明显Febric V0.6与V1.0的架构及流程差异极大,在V0.6下开发的应用很难在V1.0环境下运行,所以我们还是不要费劲折腾V0.6,还是从V1.0开始吧!(官方公布的计划)

参看地址:http://newthink.blog.51cto.com/872263/1897379?utm_source=tuicool&utm_medium=referral

时间: 2024-10-06 06:45:34

003-主流区块链技术特点及Hyperledger的fabric V1.0的相关文章

主流区块链技术特点及Fabric V0.6&V1.0版本特点

声明:文章内容来源于网络. 一.主流区块链技术特点 二.Hyperledger的fabric V0.6总体架构: 对应的0.6版本的运行时架构: 0.6版本的架构特点是: 结构简单: 应用-成员管理-Peer的三角形关系,主要业务功能全部集中于Peer节点:    架构问题:由于peer节点承担了太多的功能,所以带来扩展性.可维护性.安全性.业务隔离等方面的诸多问题,所以0.6版本在推出后,并没有大规模被行业使用,只是在一些零星的案例中进行业务验证: 三.Hyperledger的fabric V

如何用区块链技术解决信任问题?Fabric 架构深度解读

阿里妹导读:区块链技术,随着比特币的兴起而为大家所知.但是具体到技术本身,大家相对熟悉的几个词可能是“数据不可篡改”.“公开链”.“分布式数据”.“共识机制”等. 这篇文章将抛砖引玉,通过深度解读Hyperledger Project旗下的Fabric,介绍区块链适合的应用场景,如何从技术上去解决实际业务中的问题,希望能和大家一起探讨.学习. 前言 Hyperledger Project 由Linux基金会创办于2015年10月,是一个开源的区块链研发孵化项目,致力于提供可协同开发以区块链为底层

区块链技术系列(3)- Fabric基础架构原理

前言 对于区块链方面多技术,我还是建议大家多看英文文档,多利用Google来搜索技术文章. 怎么搭建自己专属V-P-N来访问Google,请看我之前发的文章: 新人如何快速搭建自己的个人网站以及自己专属V-P-N代理 Linux基金会于2015年12月启动了名为"超级账本"(Hyperledger)的开源项目,旨在推动各方协作,共同打造基于区块链的企业级分布式账本底层技术,用于构建支撑业务的行业应用和平台. 超级账本里包括10个项目(project),其中区块链框架类项目5个:Fabr

002-主流区块链技术特点及Fabric V0.6版本特点

一.主流区块链技术特点 二.Hyperledger的fabric V0.6总体架构: 对应的0.6版本的运行时架构: 0.6版本的架构特点是: 结构简单: 应用-成员管理-Peer的三角形关系,主要业务功能全部集中于Peer节点: 架构问题:由于peer节点承担了太多的功能,所以带来扩展性.可维护性.安全性.业务隔离等方面的诸多问题,所以0.6版本在推出后,并没有大规模被行业使用,只是在一些零星的案例中进行业务验证:

促进区块链技术公司赋能实体经济 先达主链为梦起航

在2018年的行业风口,区块链技术公司的发展越来越受到人们的关注,早在2016年<×××关于印发"十三五"国家信息化规划的通知书>中就首次将"区块链技术"作为战略性前沿技术写入.经过两年多的发展,先达区块链技术公司通过底层链技术搭建,以求不断创新的研发宗旨开发出了能解决实际问题的"主链"技术! 为了响应"科技中国"的号召,先达区块链在建设智慧社会.推动数字经济与实体经济的深度融合发展中,通过5年区块链技术上不断创新

区块链扫盲:区块链技术初探(二)

?5. 共识机制 区块链是一种去中心化的分布式账本系统,由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全一致.因此区块链系统需要设计一种机制对在差不多时间内发生的事务的先后顺序进行共识.这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为"共识机制". 5.1区块链和分布式系统容错的相同点 (1) Append only. (2) 强调序列化(时间有序). (3) 少数服从多数原则. (4) 分离覆盖的问题:即长链覆盖短链区块,多节点覆盖少数节点. 5.

什么是“区块链”技术

简单谈谈究竟什么是“区块链”技术 今年9月,13家顶级银行,包括汇丰银行.德意志银行等,已经加入了一个由金融技术公司R3领导的组织.R3公司将会利用区块链技术作为框架.宣布加入的13家银行是:花旗银行.美国银行.摩根斯坦利.德国商业银行.法国兴业银行.瑞典北欧斯安银行.纽约梅隆银行.三菱UFJ金融集团.澳大利亚国民银行.加拿大皇家银行和多伦多道明银行.由此总计22家银行加入财团.此前,另外9个银行已经签署了R3的初创协议,这代表着首次,银行之间对于如何利用区块链——支撑比特币的技术——用于金融层

区块链技术从入门到精通

详情请交流  QQ  709639943 01.区块链技术从入门到精通 02.2017年新生大学区块链视频教程 03.Node.js入门到企业Web开发中的应用 04.精通高级RxJava 2响应式编程思想 05.Java秒杀系统方案优化 高性能高并发实战 06.Java深入微服务原理改造房产销售平台 07.快速上手Linux 玩转典型应用 08.快速上手Ionic3 多平台开发企业级问答社区 09.Java Spring Security开发安全的REST服务 10.深入Java虚拟机(JVM

如何从零开始学习区块链技术——推荐从以太坊开发DApp开始

很多人迷惑于区块链和以太坊,不知如何学习,本文简单说了一下学习的一些方法和资源. 一. 以太坊和区块链的关系 从区块链历史上来说,先诞生了比特币,当时并没有区块链这个技术和名词,然后业界从比特币中提取了技术架构和体系,称之为区块链技术.从比特币提取的区块链技术称之为区块链1.0时代,那个时候的应用主要以电子货币和去中心化交易为主,比如各种山寨币.而以太坊将区块链带入了2.0的时代,区块链2.0不是推翻了1.0,而是在1.0的基础上实现了区块知晓.价值知晓.图灵完备,并进行了细节优化,从而形成了以