Hyperledger Fabric

Hyperledger Fabric Ledger Checkp

2019-08-19  本文已影响0人  Eliza_0512

原文地址 https://hyperledger-fabric.readthedocs.io/en/release-1.4/arch-deep-dive.html#post-v1-validated-ledger-and-peerledger-checkpointing-pruning

1 VLedger

1.1 vBlock的形成过程

Illustration of vBlock

1.2 vBlock的内容

以上所有信息集中后计算hash作为vBlock的hash值存入VLedger

2 PeerLedger Checkpoint

包含无效交易的PeerLedger其实是没有必要永久存储的,但是peer节点不能在形成vBlock后就直接删除对应的PeerLedger中的账本内容。否则当一个新的节点加入网络时,网络中原有节点无法传输PeerLedger中的区块给新节点,让新节点验证vBlock的有效性

因此Hyperledger Fabric建立了checkout point机制。checkpoint点之前的账本可以用vBlock代替相应PeerLedger中的discarded blocks(checkpoint之前的 discarded block可以被删除,以节省存储空间)

checkpoint形成机制

  1. 节点将自己形成checkout point的消息广播给其他节点,消息包括
    <CHECKPOINT, blocknohash, blockno, stateHash,peerSig>
  2. 一个节点针对一个<blocknohash, blockno, stateHash>CHECKPOINT消息,只有接收到足够的peer签名才会真正形成一个有效checkpoint (valid checkpoint)
    1. 检查接受到的blockno > latestValidCheckpoint.blockno, 如果是则将本地的valid checkpoint更新到blockno
    2. 将接收到的所有的peer签名作为最新检查点的证据存储
    3. 存储stateHash
    4. (可选) 删除checkpoint之前的PeerLedger中的块(包含无效信息的块)

checkpoint 有效策略

最新Issue(To do)

https://jira.hyperledger.org/browse/FAB-106

上一篇 下一篇

猜你喜欢

热点阅读