Michael.W谈hyperledger Fabric第3期-关于Fabric你所需要知道的基本知识二

5.4 orderer节点与多通道

在这里插入图片描述

可知:Consensus Service是orderer节点,图中有三条通道,每条通道中有不同的peer节点。
总结:

  • 一个peer节点可以同时加入多个不同的通道,并且一个peer节点处于n个通道中,那么该节点就将有n个不同的账本。
  • 无论网络中有多少条通道,排序服务器有一个就够了。排序服务器会将不同通道中的数据分开排序,并不会在排序过程中造成数据混乱。
  • 通过通道来连接peer节点和orderer节点。

6 组织

Fabric中的组织是通过职能划分的,只能相同的节点构成一个组织。

在这里插入图片描述

上图中,P1-P8是peer节点,A1-A4为客户端,Org1-Org4为组织,C为通道。

  • P1和P2节点由于职能相同所以属于同一个组织Org1。
  • 当我们想修改P1或P2的账本时,需要一个客户端来与P1或P2进行连接。客户端A1是用来访问P1和P2的,所以A1也属于组织Org1。
  • 但是不同的节点处于同一个组织,并不意味着这些节点也部署在同一个地方。
  • 由于不同组织中的节点职能不同,所以不同组织内节点安装的智能合约也是不同的
  • 同一个组织内的节点安装的智能合约是相同的。
  • 每个组织内都有一个专门的客户端用来访问当前组织内的所有节点。
  • 同一个通道内的不同组织中的节点账本数据都是相同的。

7 Fabric网络中的交易流程

在了解交易流程之前,我先给大家普及一个概念——背书策略。

背书策略:交易被执行的操作步骤。

假如说当前网络中有两个组织:org1和org2,每个组织中各有两个peer节点peer0和peer1。如果在这个网络里发生交易,我们就要实现定下一个交易策略。
比如:任何一笔交易只有在org1和org2的peer0都同意的情况下才能生效。
上面这个策略就是交易策略。当然背书策略可以有很多中组合,上面只是其中的一种情况。

背书策略与交易策略不同。背书策略执行的结果并不会被计入账本,它只是个模拟的交易。

当用户通过客户端发起一笔交易时,整个交易流程如下图所示:


在这里插入图片描述
  1. 客户端向peer节点发起交易请求。
  2. peer节点收到客户端发来的交易请求,并模拟交易,得到一个结果。这个模拟的过程类似于:假如客户端发来的交易请求要花1000元,peer节点模拟这个交易要检查发起交易的账户中的余额是否大于1000,如果不大于模拟交易失败。
  3. peer节点将模拟交易的结果返回给客户端。
  4. 客户端收到模拟交易的结果后,连接orderer节点并将交易结果转发送给orderer节点。
  5. orderer节点收到结果,先排序后打包
  6. orderer节点根据环境变量的设置(打包数据的具体规则)将打包好的区块发送给peer节点。
  7. peer节点接收数据,首先校验模拟交易的结果。如果没问题,写入账本。如果有问题,不写入账本。
  8. 最后将操作是否成功返回给客户端。

一定会有聪明的小朋友问:为什么要这么费劲地设置这个背书策略?
其实,这个模拟交易的过程就是怕伪造数据。如果客户端伪造了一笔交易数据直接骗过了接收数据的peer节点而写入账本。那么事后其他节点对此交易产生质疑也无济于事。因为一旦数据写入账本就是无法更改的,所以必须保证在写入账本之前获得网络内的许可。通过交易策略的模拟决策就可以写入账本,这样也不会有人在事后对这笔交易产生异议。
即背书策略就给了其他peer节点一个投票的过程。

8 深入了解账本

前面已经介绍过,peer节点中的账本分为两部分:区块链和世界状态。

在这里插入图片描述

世界状态是以键值对的形式保存在levelDB数据库中。世界状态保存着最近的一笔交易的信息,所以在每次账本更新后都需要被修改
区块链中保存着所有的交易数据,只能添加数据,但却无法修改数据
世界状态的值是由区块链数据决定的。
区块链的内部结构如下图所示:
在这里插入图片描述

一个区块中保存n条数据,以链状结构相互连接。但是创世区块(区块链中第一个区块)中不存储交易数据。它存储的是该私有网络中的通道、组织等相关网络信息
所以区块链是从第二个区块才开始存储交易数据。每个区块由区块头区块数据元数据三部分构成。
区块头中存有当前区块的哈希值前一个区块的哈希值,这也是区块链中数据无法被篡改的原因。
区块数据中存储的是用户的交易记录,这个要记住。这个交易记录还能再往下细分,比如背书策略相关的数据和签名等,感兴趣的朋友可以去官方网站看文档。

ps:
本人热爱图灵,热爱中本聪,热爱V神,热爱一切被梨花照过的姑娘。
以下是我个人的公众号,如果有技术问题可以关注我的公众号来跟我交流。
同时我也会在这个公众号上每周更新我的原创文章,喜欢的小伙伴或者老伙计可以支持一下!
如果需要转发,麻烦注明作者。十分感谢!



公众号名称:后现代泼痞浪漫主义奠基人

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,776评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,527评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,361评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,430评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,511评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,544评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,561评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,315评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,763评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,070评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,235评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,911评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,554评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,173评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,424评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,106评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,103评论 2 352