2

私は最近、ビザンチンのフォールトトレランスについて多くの論文を読んできました。 mビザンチンの障害を処理するためには3m + 1台のコンピュータが必要であるという共通の証拠があります。一般的な証明はこのような何かを行く:シンプルな3-way多数決がビザンチンの不具合を解決しないのはなぜですか?

3「将軍」があります:Cは「裏切り者」であるA、B、Cのは将軍はこのように通信すると仮定し、:

ので
A --> B "Attack", A --> C "Attack" 
B --> A "Attack", B --> C "Attack" 
C --> A "Attack", C --> B "Retreat" 

A receives "Attack" from both sources, and will attack. 
B receives "Attack" from A but "Retreat" from C and doesn't know what to do. 
C is a traitor, so his action could be anything. 

は、大部分の俳優がコンセンサスに達することを保証することはできません。

私はその証拠を理解していますが、大きなポイントを逃しているようです。 A、B、Cともに自身のの内部計算を実行しないでください。 A & Bはここでは「忠実な」将軍であるため、「正しい」アクションは攻撃するように見えるでしょう。何をすべきかを決める上で、Bは自分の計算を考慮に入れていませんか?その場合、彼は容易に矛盾するA &の入力の間の結合を破り、攻撃を決めることができました。次に、A & B攻撃の両方を実行し、問題を解決します。これは古典的なビザンチン総督問題とは別の問題ですか?

答えて

0

あなたが説明しているのは、すべての参加者が自分の意見を持つことができる3-wayコンセンサスです。ビザンチンの将軍の問題は、他の将軍への単一の一般的な送信命令で構成されています。すべての忠実な将軍は、グループとして、コマンドに従うか、またはそれに従わなくてはなりません。それは、誰もが指揮将軍が言ったことに同意することを確認する問題です。

はここでの例です:司令官やビザンチン一般的であること

まず第一には、簡単な例です。他の誰が何を考えているかは気にしない。難しい部分は、他の誰かから命令を受けている忠実な将軍です。彼らは攻撃したりべきではないかどうかを判断しようとしている3人の将軍のために、我々は2の可能な場合があります

  • 司令官は、ビザンチン一般的であるならば、それは2人の将軍に異なるコマンドを送信することができます。彼らはその後、司令官とは異なる情報を得て、同数の賛成と反対の投票で終わるので、同意できない。
  • ビザンチン将軍が司令官でない場合、それは司令官からどのような順番になっているのかが分かります。もう一度、忠実な将軍は(司令官から)1つの投票を得た(ビザンチン将軍が嘘をついてから)。

忠実な将軍は、司令官が実際に他の将軍に言ったことを知らないので、司令官があなたに嘘をついたのか、他の将軍がしたのか分かりません。

+0

さて、私はいつもこの問題を「指揮官と中尉」の問題にまで減らしていると思っていますが、どういうことが分かりません。元々のビザンチン・ジェネラルズの問題では、各将軍が都市を「観察」し、攻撃するかどうかを決定します。彼らは攻撃するかどうかという独自の考えを形作っていないのですか?その場合、彼らはただ一つの他の将軍に同意する必要があります。 「指揮の一般的な」問題への削減は、私には意味をなさない。 –

+0

そのようにすれば、将軍の過半数が攻撃できるようにすることができますが、それはすべての忠実な一般攻撃ではありません。より大きな例があれば、より明らかです。 –

0

自身の内部計算」とは何ですか? 1つの一般にコンフリクトメッセージがある場合、基本的にデフォルトのオプション(攻撃など)を実行するということですか? そして、「(B)自分で何をすべきかを決める計算の意味は?」?前提として、Bは大多数の一致メッセージを受け取ったときに何をすべきかだけを決定する。まあ、競合するとデフォルトオプションがあるかもしれません。しかし、デフォルトの選択肢は、互いを信頼しないため、忠実な将軍の間で一貫した決定を保証するものではありません。

ビザンチンの一般的な問題の重要なことは、お互いを信用せず、誰が忠実であるかを知らないことです。誰でも裏切りになる可能性があるので、たとえAとBの両方が忠実な将軍であっても、AまたはBに関してそれぞれが本当に忠実な一般であることを知らない。その場合、Bが自身の内部計算 BはAとCから競合メッセージを取得しますが、正しい決定(AとBは同じ動作を行います)については100%確信が持てません。