【问题标题】:If the ledger of peer is tampered in hyperledger fabric network, how can be the previous state of ledger restored?如果 Hyperledger Fabric 网络中 Peer 的账本被篡改,如何恢复账本之前的状态?
【发布时间】:2021-08-03 15:45:40
【问题描述】:

我的超级账本结构网络由 1 个订购者、1 个组织和 3 个对等方组成。我篡改了第一个 peer 的账本,然后尝试在同一个 peer 上进行另一笔交易,然后抛出以下错误:
错误:在收到 txid 之前交付已完成,状态为 (SERVICE_UNAVAILABLE) - 提案响应:
但是交易被执行了,并且区块也被添加到了被篡改的对等账本中。但是被篡改的数据并没有恢复到之前的状态。

参考此链接中的答案 - “https://intellipaat.com/community/17752/in-hyperledger-fabric-blocks-locations-and-validity-criteria”,我知道如果篡改完成后,“状态数据库可以从区块链中删除和重建”。那么这个删除和重建数据库的过程是由peer自动完成的还是我们需要手动完成呢?

简而言之,如果peer的账本被篡改,如何恢复账本之前的状态?

【问题讨论】:

    标签: hyperledger-fabric blockchain hyperledger-chaincode raft tampering


    【解决方案1】:

    如果状态数据有疑问,可以停止对等体,删除状态数据库,重启后对等体将重建状态数据库。当 peer 停止时,命令peer node rebuild-dbs 将为您删除状态数据库。请参阅command documentation

    如果区块链账本本身存在疑问,您将需要使用peer node reset 命令替换对等节点或将对等节点重置为创世块。请参阅command documentation

    【讨论】:

    • 当区块链账本被篡改时,如果调用链码,我们会收到 (SERVICE_UNAVAILABLE) 错误。但是我们如何知道区块链账本是否被对等服务日志篡改?另外,我们如何知道状态数据是否存在疑问?
    猜你喜欢
    • 2018-06-28
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-15
    • 1970-01-01
    • 2019-09-29
    • 1970-01-01
    相关资源
    最近更新 更多