【问题标题】:Corda BFT notary cluster halts after one replica goes downCorda BFT 公证集群在一个副本出现故障后停止
【发布时间】:2019-08-06 20:39:58
【问题描述】:

TL;DR - 当一个副本被杀死时,具有 4-5 个公证节点的 BFT 集群会停止。

我运行了notary demo,Raft 集群(有 3 个公证节点)表现如预期 - 当我杀死领导者时,会有选举,公证集群继续提供可靠的服务。

我希望在运行 BFT 集群(有 4 个公证节点)时也会发生同样的事情 - 杀死其中一个副本不应阻止集群提供可靠的公证服务。但是,会发生以下情况:

1) 启动 BFT 公证集群

2) 我无法使用 gradlew samples:notary-demo:notarise 对 10 笔交易进行公证

3) 停止集群中的一个副本

4) 尝试使用gradlew samples:notary-demo:notarise对 10 笔交易进行公证

5) 等待几分钟,没有任何反应(交易未经公证)

6) 所有剩余的副本终端不断填充re-connecting to replica 1 at /127.0.0.1:11010

为了安全起见,我决定在集群中添加另一个公证节点。但是,没有任何变化 - 有 5 个公证节点,杀死其中一个会使集群停止运行。

我查看了how BFT SMaRt works,但据我所知,只要有足够的工作副本 (N >= 3f + 1),它应该能够容忍任何故障(包括崩溃停止)。

这里有什么我遗漏的吗?我期望的行为是否不合理 - 具有 4-5 个公证节点的 BFT 集群能够容忍 1 个节点死亡?还是 Corda 的问题?

【问题讨论】:

    标签: corda fault-tolerance notary


    【解决方案1】:

    在这种情况下很难知道问题出在哪里,因为这里没有太多信息,但是 corda repo 最近更新了这个示例,因此可能值得尝试重新访问该项目以查看它现在是否正常工作。

    这是最近 4.5 版本公证演示的链接:

    https://github.com/corda/corda/tree/release/os/4.5/samples/notary-demo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多