美文网首页
区块链和HyperLedger Fabric(五)共享账本

区块链和HyperLedger Fabric(五)共享账本

作者: 宋song一 | 来源:发表于2018-12-22 22:33 被阅读29次

    一.Fabric 1.0 账本分类

    1.1 账本内容分类

    1. Block ledger (事件)
    • File system based, only new Blocks appending
    • Blocks are stored on all committers and optional subset of(可选子集) ordering service nodes
      超过64M会新建文件。保存交易数据
    1. State ledger / World State
      Stored on all committers(记账节点)
    2. History ledger (1.0加入,可选项)
    • Stored on all committers
    • Index stored in KVS and hidden from developer by chaincode APIs(对state账本的key值作索引),LevelDB

    1.2 文档和代码实现的分类

    peer ledger:存储在背书节点和记账节点
    orderer ledger:存储在order service node

    Chaincode是无状态的。Chaincode存储在节点上,账本只会存储hash值

    账本的隔离和隐私性用多通道(Multiple Channels)技术来保护

    二.Chaincode和Ledger的交互

    • Single key operations
    • Key range queries
    • Non-Key queries on data content(LevelDB不支持,CouchDB支持,将JSON存储在StateDB中)

    Query System Chaincode(QSCC)
    背书节点需提前设定,也作为记账节点
    transaction事务处理流
    • 应用向一个或多个Peer节点(背书节点)发送对事务的背书请求;
    • 背书节点模拟执行ChainCode,但并不将结果提交到本地账本(不会修改底层账本),只是将结果(读写集)返回给应用;
    • 应用收集所有背书节点的结果后,(去除不确定无效的交易,1.0未实现)将结果广播给Orderers;
    • Orderers执行共识过程,并生成Block,通过消息通道批量的将Block发布给Peer节点(记账节点);
    • 各个Peer节点验证交易,并提交到本地账本中

    相关文章

      网友评论

          本文标题:区块链和HyperLedger Fabric(五)共享账本

          本文链接:https://www.haomeiwen.com/subject/dnuwkqtx.html