2021年10月15日

●「ビザンチン将軍問題の解決の原則」(第5593号)

 ビザンチン将軍問題の続きです。将軍が4人のケースについて
考えてみます。添付ファイルをご覧ください。
 将軍1が3人の将軍に「攻撃」を提案します。この3人の将軍
のうち、将軍2が裏切り者です。将軍2は、将軍1の提案である
「攻撃」の反対の「撤退」を将軍3と将軍4に伝えるとします。
この場合、将軍2、将軍3、将軍4には、どういう情報が伝えら
れかについて以下に示します。
─────────────────────────────
        将軍1  将軍2  将軍3  将軍4
    将軍2  攻撃   −−   撤退   撤退
    将軍3  攻撃   撤退   −−   攻撃
    将軍4  攻撃   撤退   攻撃   −−
                註:将軍2が裏切り者
─────────────────────────────
 少しわかりにくい表ですが、裏切り者の将軍2は別として、伝
えられた情報を将軍3と将軍4について見ると、将軍3、将軍4
ともに、「攻撃」が2、「撤退」が1の情報が入っています。い
ずれも「攻撃」の方が多いのです。したがって、この場合は「撤
退」を伝えた将軍2が怪しいとして、「攻撃」を選択することに
なると思います。ランボード博士らの研究によると、次の原則が
成立するのです。
─────────────────────────────
 裏切り者の将軍がN人のとき、誠実な将軍が「2N+1人」
 以上の場合、誠実な将軍同士の判断が一致できる。
─────────────────────────────
 このケースの場合、裏切り者のNは1人であり、誠実な将軍は
3人(2+1)ですから、誠実な将軍同士の判断が一致できるの
です。
 なぜ、このビザンチン将軍問題が重要なのかについて、佐藤一
郎こ国立情報学研究所アーキテクチャー科学研究系教授は、次の
ように述べています。
─────────────────────────────
 ランポート博士は、このビザンチン将軍問題を耐故障性のある
分散システムにおける同意問題として考えた。ここで言う分散シ
ステムは、複数のコンピュータが協調することで1台のコンピュ
ータではできないような処理を実現するものとする。いま話題の
クラウドコンピューティングも、分散システムの一形態にすぎな
い。また、同意とは複数のコンピュータで同じ値を持つことであ
る。同意したい値を通信で他のコンピュータへ送ればいいと思う
かもしれないが、コンピュータは壊れることがあるし、複数のコ
ンピュータがあればそれだけ壊れるコンピュータも増える。故障
しても、そのまま止まれば対処のしようがあるが、動き続け、し
かも、間違った通信や処理を始めると非常にやっかいな問題とな
る。つまり、ビザンチン将軍問題では、故障しても止まらずに、
間違った動作を行うコンピュータを裏切りの者の将軍に見立て、
他の正常なコンピュータを誠実な将軍に見立てることで、複数の
正常コンピュータが同じ値を持つ方法やその条件を扱ったという
わけだ。              https://bit.ly/3vegM2z
─────────────────────────────
 このビザンチン将軍問題とブロックチェーンの関係について、
ブルーバックスの『ブロックチェーン』の著者である岡嶋裕史氏
は、次のように述べています。
─────────────────────────────
 二人の将軍問題(ビザンチン将軍問題のこと)とは、要塞を攻
撃する二つの軍が、同時攻撃を行えば勝利、攻撃タイミングがず
れれば敗北という状況で、どう攻撃開始時間を合意するかという
問題である。
 どちらの将軍に決定権があるのか、決定したとして、相手にど
う伝えるのか、伝わらなかったらどうするのか、伝わったか伝わ
らなかったか不明な場合はどうか、敵軍による諜報活動により嘘
の攻撃時間が伝えられたのではないかなど、考えなければならな
いことは無数にある。
 ビザンチン将軍問題は、これを二者間の問題ではなく多数の参
加者間の問題に拡張したもので、コンピュータに限らず分散シス
テムで合意形成を行うときに必ず考慮しなければならない問題で
ある。ブロックチェーンでは、ブロックの追加が合意の証であり
ブロックの追加が繰り返され、チェーンが伸びるほどに、過去の
ブロックに対する合意が覆される可能性は、限りなくゼロに近づ
く。すなわち将軍の数が増えるほど、攻撃の合意が形成されやす
くなるのだ。        ──岡嶋裕史著/ブルーバックス
『ブロックチェーン/相互不信が実現する新しいセキュリティ』
─────────────────────────────
 ビザンチンの将軍問題を解決したのはブロックチェーンといわ
れています。ビットコインの開発者であるとされる「ナカモトサ
トシ」なる人物は、ビットコインを開発するためにブロックチェ
ーンの仕組みを取り入れたことは間違いないと思われます。
 ナカモトサトシの正体は不明ですが、私は日本人に間違いない
と思います。なぜなら、もし、外国人であるなら、「サトシ」と
いうような難しい名前を使うはずがないからです。
 もうひとつ、私がナカモトサトシが日本人だと確信するのは、
ビットコインは、ピア・ツウ・ピア・ネットワーク(P2P)を
使いますが、これは2002年頃に日本に登場したファイル交換
ソフト「ウィニー」に非常によく似ており、ナカモトサトシはそ
の原理に注目したのではないかと考えます。
 それに加えて、ブロックチェーンの特許が2004年に切れて
いるのです。P2Pネットワーク、ブロックチェーンの特許──
使える技術のすべてが、ビットコインが発表された2008年前
後にすべて揃っています。ナカモトサトシがこれに関心をもった
ことは、まず間違いないと思います。
             ──[デジタル社会論V/047]

≪画像および関連情報≫
 ●ビザンチン将軍問題とは?その意味やブロックチェーンとの
  関係をわかりやすく解説
  ───────────────────────────
   暗号資産(仮想通貨)について調べていると、「ビザンチン
  将軍問題」という単語をしばしば見かけるかもしれません。
  ビザンチン将軍問題とだけ聞くと暗号資産(仮想通貨)とはな
  んの関係もなさそうですが、実はブロックチェーンとビザン
  チン将軍問題には深い関わりがあるのです。誤解を恐れずに
  簡単に言うと、ビザンチン将軍問題とは「複数人で合意形成
  を図る際、その一部の不正や不具合が生じ得る時に、全体で
  の正しい合意形成ができなくなる可能性がある」という問題
  です。
   ビザンチン障害(またはビザンチン故障)とは、ビザンチ
  ン将軍問題が原因となって起きた不具合のことを言います。
  分散型のネットワークにおいて合意形成を図るためには、こ
  のビザンチン障害が起きないようにする必要があります。
   ビザンチン・フォールトトレラント性とカタカナにすると
  わかりにくいが、これは「Byzantine Fault Tolerance」 を
  を訳したもので、「ビザンチン・フォールトトレラント性が
  ある」とは「ビザンチン将軍問題が生じたとしても、全体と
  しての合意を形成できる」ことを意味します。
   では、もう少し具体的に見ていきましょう。
   かつてヨーロッパにビザンツ帝国(ビザンチン帝国)とい
  う帝国がありました。
   ある時、ビザンツ帝国の将軍9人がある都市を包囲して攻
  め落とそうとしていましたが、どうやら9人の将軍がそれぞ
  れ持つ部隊9つが全て協力して攻めないとこの都市は落とせ
  そうにありません。1部隊でも欠けると攻撃は失敗してしま
  い痛手を負うことになってしまいます。
                  https://bit.ly/3oXqPYV
  ───────────────────────────
ビザンチン将軍問題4人のケース.jpg
ビザンチン将軍問題4人のケース
posted by 平野 浩 at 00:00| Comment(0) | デジタル社会論V | このブログの読者になる | 更新情報をチェックする