【问题标题】:Fabric Network - what happens when a downed peer connects back to the network?Fabric Network - 当一个宕机的对等点连接回网络时会发生什么?
【发布时间】:2016-11-03 09:45:08
【问题描述】:

我最近使用 Docker-compose 部署了结构网络,我试图模拟一个宕机的对等点。本质上是这样的:

  1. 使用运行结构网络的 docker-compose 使 4 个对等点联机
  2. 1 个对等点,即第 4 个对等点出现故障(通过 docker stop 命令完成)
  3. 调用事务被发送到根节点,并在一段时间后通过查询节点(不包括故障节点)进行验证。
  4. 使用 docker start 恢复被关闭的对等体。查询事务在始终在线的对等点上运行良好,但在新唤醒的对等点上失败。

为什么第 4 个节点不同步区块链,一旦它启动。是否需要采取措施来确保它同步?或者它是作为流氓对等体丢弃的。

【问题讨论】:

  • 想不出第 4 个节点在连接回网络后应该不同步的任何用例。也许这是一个错误?

标签: docker-compose blockchain hyperledger hyperledger-fabric


【解决方案1】:

这可能是由于 PBFT 的预期行为(假设您正在使用它)。如issue 933 中所述,

我认为您看到的是正常的 PBFT 行为:2f+1 个副本是 进步了,f个副本稍微落后了,赶上 偶尔起来。

如果你关闭了另一个对等点,你应该观察 您最初关闭并重新启动的那个现在将 充分参与,网络将不断进步。作为 只要网络在进步,参与节点 分享一个正确的前缀,你们都很好。 f 个副本的原因 落后的是那些f可能是拜占庭式和进步的 故意慢慢的。您无法区分较慢的 正确的副本,以及故意较慢的拜占庭副本。 因此,我们不能等待最后的 f 落后者。他们将被留下 落后并偶尔同步。如果事实证明其他一些 副本崩溃,网络将停止前进,直到一个 正确的落后者赶上,然后网络会进步 正常。

【讨论】:

  • 也就是说,这是一个蓄意的措施。系统如何决定哪个是正确的落后者来同步,因为就像你说的那样,无法区分拜占庭式的同行行动缓慢和真正的离线了一段时间的同行。 P.S:我正在使用 PBFT
【解决方案2】:

Hyperledger Fabric v0.6 不支持动态添加对等点。我不确定 HF v1.0。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多