hyperledger fabric(一)

相关概念

简介

  1. 区块链(Blockchain):分布式账本
  2. 智能合约(Smart Contracts):用来操作账本,Fabric里叫做chaincode
  3. 共识(Consensus):同步账本
  4. Shared Ledger: world state + transaction log

网络

  • 一个网络可以有多个CA, cA为Organization发布证书,client app需要证书提出交易请求,peer需要证书来背书以及提交交易.

  • 创建网络

    1. ordering service是管理节点,因为包含channel的配置(policies + membership information)
    2. 有交易需求的organizations
    3. 创建Channel(configuration block 在ordering service)
    4. Organization拥有peers(多重身份)

      Endorsing peer:由policy指定,模拟执行交易,返回一个proposal response给client app

      Committing peer:验证已排序的区块并提交到账本,所有的peer都是committing peer

      Anchor peer:定义在channel configuration中,是加入channel的Organization第一个发现的peer

      Leading peer:代表Organization与ordering service交互的peer

    5. Client app是网络外transaction proposals生成的地方;智能合约要装在peer上并实例化

    6. system chaincode发送channel configuration update transaction 给 ordering service, 如果有效,ordering service生成新的配置区块,如果peer认为新的配置区块有效就更新通道配置(注意这里的transaction不是clien app提出的)

Identity

CA发布数字证书,数字证书包含个人信息和公钥,对方可用证书验证自己的身份.

内置的Fabric CA为网络管理数字证书.

Membership

MSP包含认可的数字证书,某个角色进行相应的操作之前要去检查自己的证书是否被认可 .

Local MSP和Channel MSP只是作用域不同.

peer

一个Organization的app可以连接到其它Organization的peer

orderer只是机械的对app发来的交易进行排序.

不是所有的peer都连接到order,可通过gossip protocol

  • proposal
  • packing
  • validation
    check:endorse,state
    第三步不需要chaincode,只有第一步需要.也就是说只有Endorse peer需要装chaincode.

private data

[??](http://hyperledger-fabric.readthedocs.io/en/latest/private-data/private-data.html)

ledger

world state + Blockchain

  • 消除智能合约的不确定性

以太坊用指定的语言Solidity

Fabric指定几个节点(共识合约)为交易背书

  • 隐私

其它:智能合约和交易数据对所有参与者可见,因此需要加密,不过如果有足够的时间和计算能力还是可被破解。

Fabric:只有Channel内可见

猜你喜欢

转载自blog.csdn.net/yijiull/article/details/81104031