Консенсусный алгоритм BFT, PBFT и BA
Я копался в некоторых наиболее используемых алгоритмах консенсуса в разрешенных цепочках блоков, и я застрял.
Я понял, что BFT (византийский отказоустойчивость) является свойством некоторых алгоритмов, а pBFT является самим алгоритмом. Это правильно?
Это правило, что 2/3 узлов в сети достаточно для достижения консенсуса, это для всех алгоритмов BFT или просто для pBFT?
Кроме того, в чем разница между Византийским соглашением и BFT?
Если бы вы могли предоставить надежный источник информации, я был бы благодарен.
1 ответ
Я понял, что BFT (византийский отказоустойчивость) является свойством некоторых алгоритмов, а pBFT является самим алгоритмом. Это правильно?
Да.
Это правило, что 2/3 узлов в сети достаточно для достижения консенсуса, это для всех алгоритмов BFT или просто для pBFT?
Алгоритмы византийского соглашения могут выдержать самое большее f
неудачи в 3f+1
узлы, но они могут даже не выдержать такого количества. Причина заключается в том, что, если византийские узлы перестают участвовать, то n-f
узлы должны быть в состоянии достичь консенсуса, но если сообщения задерживаются временно скрыть f
хороших узлов, то оставшиеся хорошие узлы должны быть в большинстве (так n-f >= 2f+1
, а также n >= 3f+1
).
Кроме того, в чем разница между Византийским соглашением и BFT?
Первый - это проблема распределенных вычислений, которую чаще называют консенсусом. Последнее является свойством протокола.