この記事は何?
a private tentative summary for "Byzantine Generals Problem" from wikipedia.1
Byzantine Generals Problem - ビザンチン将軍群問題
『相互に通信しあう何らかのコンポーネント群において、
情報伝達上の過失か故意かに関わらない問題か、
個々のコンポーネントの過失か故意かに関わらない問題によって
設計者の意図しない情報が伝達される可能性がある場合に、
システムが総体としては設計者の意図通りの合意を形成可能かを問う問題。』ではダメか?
「Two Generals' Problem - 二人の将軍群問題 を一般化したものと言える。」という。
Byzantine Failure - ビザンチン故障/ビザンチン障害/ビザンチン・フォールト
あらゆる Byzantine Failure は以下のいずれかの群に分類できる。
- omission failures - 不作為障害群
- commission failures - 作為障害群
Byzantine Fault Tolerance - BFT - ビザンチン・フォールト耐性
「ビザンチン将軍群問題が発生しても全体として正しく動作するシステムを Byzantine Fault Tolerance があるという。」という。2
Byzantine Fault Tolerability - ビザンチン・フォールト耐用性
『ビザンチン将軍群問題が発生した場合にもシステムが全体としては意図通り動作するかどうか。』ではダメか?
resilience - 回復力
resilience とは、ビザンチン故障の状態にあるプロセスを何個まで許容し対処できるかを表す数値。
(ここでの「プロセス」と「コンポーネント」は同一の意味か?)
pseudo-code.txt
# 「古典的な解決法(early solution)の多くは
# "プロセス数 > 3 * 回復力" の場合の解が存在しない。」という。
if (processCount > (3 * resilience))
{
# 古典的な解決法では解決不能
}