Кластер нотариусов Corda BFT останавливается после выхода из строя одной реплики

#corda #fault-tolerance #notary

#corda #отказоустойчивость #нотариус

Вопрос:

TL; DR — Кластер BFT с 4-5 нотариальными узлами останавливается, когда одна реплика уничтожается.

Я запустил демо-версию нотариуса, и кластер Raft (с 3 узлами нотариуса) повел себя как ожидалось — когда я убиваю лидера, проводятся выборы, и кластер нотариусов продолжает предоставлять надежную службу.

Я ожидаю, что то же самое произойдет при запуске кластера BFT (с 4 нотариальными узлами) — отключение одной из реплик не должно помешать кластеру предоставлять надежную нотариальную службу. Однако вот что происходит:

1) Запустите кластер BFT notary

2) Я могу нотариально заверить 10 транзакций, используя gradlew samples:notary-demo:notarise

3) Остановите одну из реплик в кластере

4) Попробуйте нотариально заверить 10 транзакций, используя gradlew samples:notary-demo:notarise

5) Подождите несколько минут, ничего не происходит (транзакции не заверены нотариусом)

6) Все терминалы с оставшимися репликами продолжают заполняться re-connecting to replica 1 at /127.0.0.1:11010

На всякий случай я решил добавить в кластер еще один нотариальный узел. Однако ничего не меняется — существует 5 нотариальных узлов, и отключение одного из них приводит к остановке работы кластера.

Я изучил, как работает BFT SMaRt, но, насколько я могу судить, он должен быть способен переносить любые сбои (включая аварийную остановку), пока имеется достаточное количество рабочих реплик (N > = 3f 1).

Я чего-то здесь не понимаю? Является ли поведение, которое я ожидаю, необоснованным — кластер BFT с 4-5 нотариальными узлами способен переносить смерть 1 узла? Или это проблема с Corda?

Ответ №1:

Трудно понять, в чем была проблема в этом случае, поскольку здесь не так много информации, однако репозиторий corda недавно обновил этот образец, поэтому, возможно, стоит попытаться вернуться к проекту, чтобы увидеть, правильно ли он работает сейчас.

Вот ссылка на недавнюю демонстрационную версию нотариуса версии 4.5:

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