在学习Hyperledger时,刚开始才学习如何部署,发现好多概念不是很理解,因此返回来再学习下相关知识。
1: Peer:
区块链中主要组成部分,承载了账本(ledger)及智能合约(smart contracts),在hyperledger fabric中称之为chain code,如下图中所示,每个peer节点上包含了一个 账本和一个智能合约,另外peer节点是可以包含多个智能合约和账本的,下图只是示例。注:该图来源官网。

Hyperledger-fabirc Peer节点概念理解_第1张图片

2: Chaincodes
就是智能合约

3:Applications and Peers
Hyperledger Fabric 提供SDK帮助程序员很轻易实现如何访问chaincodes和ledger,如下图所示applications 与Peers 交互过程.
1)应用A连接到peer
2) 生产提案更新或查询账本(ledger)
3) 返回提案结果,如果是查询那么这就算结束了
4)如果是更新账本,需要发送提案到网络中的所有peer节点,获取其它peer节点同意,该由order来完成
5)更新完成,触发账本更新时间

Hyperledger-fabirc Peer节点概念理解_第2张图片

公有链:
公有链是对所有人公开,用户不需要注册和授权就能够匿名访问网络和区块,任何人都可以自由加入和退出网络,并参与记账和交易。公有链适用于数字货币、电子商务、互联网金融、知识产权等应用场景。
私有链:
私有链对单独的个人或实体开放,仅在私有组织,比如公司内部使用,私有链上的读写权限,参与记账的权限都由私有组织来制定。比如企业内部的办公审批、财务审计;政府行业的预算和执行。私有链的主要价值在于提供安全、可塑源,不可篡改,自动执行,这是传统系统很难同时做到的。

联盟链:
联盟链仅限于联盟成员,因其只针对成员开放全部或部分功能,所以联盟链上的读写权限、以及记账规则都按联盟规则来“私人定制”。联盟链上的共识过程由预先选好的节点控制,一般来说,他适用于机构间的交易、结算、或清算等B2B场景。

4:Peer and Channels and Organizations
Hyperledger属于联盟链,从联盟链的属性有几点:
1:不是完全公开的,属于多个组织间的链,每个组织由多个Peer组成 。
2: 链中的各个组织也不是所有peer间是互通的,Peer通过Channel来连同的,比如图中有4个组织Org1 Org2 Org3 Org4 ,图中P1 P3 P5 P7 P8之间通过Channel连接起来。

Hyperledger-fabirc Peer节点概念理解_第3张图片
5: Peer and Identity
每个组织都有自己的证书管理即CA, 及MSP, CA给每个peer颁发证书,MSP授权,赋予相应权限策略。Peer ,applications,end users, administrators orders 必须拥有CA和MSP才能访问链网。
Hyperledger-fabirc Peer节点概念理解_第4张图片

6 Peer and order
如果对账本进行更新时,需要所有Peers同意,获取同意的过程由order完成