ブロックチェーンとは

「ビザンチン将軍問題」と「ブロックチェーン」の関係性

ビザンチン将軍問題

ブロックチェーンについて調べると必ず目にする”ビザンチン将軍問題”というワード。
wikiで調べてみると詳しくは書いてありますが、なかなかわかりにくいものです。

ビザンチン将軍問題
参考:wiki:ビザンチン将軍問題

今回はこの”ビザンチン将軍問題”について説明します。

ビザンチン帝国の戦い

かつて「ビザンチン帝国」という国がありました。
この帝国の9名の将軍で、ある都市を攻め落とすため包囲している状態となりました。

攻め落とすには9つの部隊の一斉攻撃が必要です。
1部隊でも欠けた状態で攻撃した場合は敗退します。
そのため「全軍一斉攻撃」か「全軍撤退」かを将軍達で合意しなければならず、いずれの方針にするかは多数決で決定(合意)します。
しかし各部隊包囲している状態のため、集まって話すことができないことから、合意するために各部隊に伝令を送り、自軍が「攻撃」か「撤退」かの意思表示をします。

全ての伝令が任務完了し、他部隊からの情報と自分の意見で多数決の結果が分かります。
「攻撃」が5票、「撤退」が4票であれば全軍一斉攻撃することになります。

ここで問題です

あなたはこの中の将軍の一人です。
各部隊から伝令が到着し「攻撃」4票、「撤退」4票となってました。
あなたの投票で「攻撃」か「撤退」かが決まりそうです。

しかし、実はあなたはビザンチン帝国に恨みがあり、帝国を裏切りたい=この作戦を失敗させたいと考えています。
さて、他の部隊にどういう伝令を送ればビザンチン帝国を裏切れるでしょうか?

答え

4部隊に「自軍は攻撃する」という伝令を送り、残り4部隊に「自軍は撤退する」の伝令を送るのです。
そうすると「撤退」伝令を受けた4部隊は、多数決の結果「全軍撤退」と判断します。
「攻める」伝令を受けた4部隊は、多数決の結果「全軍一斉攻撃」と判断し攻めますが、全軍一斉攻撃となりませんので、戦力が足りず敗退します。

ビザンチン将軍問題

つまり「ビザンチン将軍問題」とは合意形成問題

このように「内部の複数メンバーで監視し合うシステム」「内部の複数メンバーで協力し合うシステム」があったとしても、頭の良い反逆者や、複数の者が結託して不正を働こうとした場合や、何らかの事情で情報伝達がうまくいかなかった場合等に、メンバー間での合意が形成できない=システムにトラブルが生じる可能性がある、というのが「ビザンチン将軍問題」です。また、このような理由で合意形成の失敗が起きることを「ビザンチン障害」とも呼びます。

不正の起きない堅牢なシステムを構築する場合には、「ビザンチン障害」が起きる可能性もリスクとして考慮しなくてはなりません。システムの内部には必ず不正を働こうとする存在がいることを前提として、そのリスクを回避できるような監視・抑制できる仕組みを組み込むことが必要ということです。

ブロックチェーンにおける「ビザンチン障害」対策

ブロックチェーンがすぐれている点のひとつとして、このような「ビザンチン障害」を回避する仕組みが、すでにブロックチェーンの基本技術の中に組み込まれているということがあります。

具体的には、ブロックチェーンのフレームワークごとに定められている「新しい情報(ブロック)を追加するためのルール」にポイントがあります。

そのルールを「分散型合意形成アルゴリズム(コンセンサス・アルゴリズム)」と呼び、処理スピードやコスト面などでのメリット/デメリットが異なる複数の種類のコンセンサス・アルゴリズムが発明されています。

そのブロックチェーンで構築するシステムの規模などによって適したコンセンサス・アルゴリズムは異なるため、現時点では「これが絶対に一番良いコンセンサス・アルゴリズムだ!」と言われるものはありませんが、最も有名と思われるのは「Bitcoin」で採用されている「プルーフ・オブ・ワーク(PoW)」というコンセンサス・アルゴリズムでしょう。

プルーフ・オブ・ワーク(PoW)について

PoWを採用しているブロックチェーンでは、ブロックを作成するために「マイニング」を行い難しい計算問題を解きます。最初に解いたブロックが正として扱われ報酬を得ます。問題の答えが正しいかどうかは他のブロックですぐに確認可能です。

改ざんして不正を行う場合は、改ざん時点から全てのブロックの計算をやりなおしていかなければなりません。

そのやり直しスピードが現行の正しい処理で進んでいるものよりも早く、そして追いつかなければ正として扱われないので、改ざんするくらいなら正しい処理をして報酬を得た方がよっぽど楽だという仕組みです。

プルーフ・オブ・ワークにおけるマイニングなどの話については、以下の記事でも詳しくご説明しておりますので、合わせてお読みください。

The following two tabs change content below.
takahashi-hrk
得意な言語はSQLです。AWSなどのクラウドについて興味があります。ブロックチェーンとクラウドについて勉強していきたいと考えてます。

Pickup post

  1. ブロックチェーンの基本的な仕組み
  2. ブロックチェーンを活用した医薬品のデッドストック販売プラットフォーム PoC […
  3. ブロックチェーンの技術:公開鍵暗号
  4. 【満席御礼】2018年3月1日開催 無料セミナー 《ブロックチェーンフェスティ…
  5. 【参加無料】2018年1月24日 エンジニア向けブロックチェーン無料セミナー開催…

Related post

  1. Concept of hacking

    ブロックチェーンとは

    改ざん(二重支払い)や複製ができない理由

    ブロックチェーンの最大の特徴は、改ざん(二重支払い)や複製が困難な点に…

  2. whats-hyperledger

    ブロックチェーンとは

    Hyperledger入門 : Hyperledger(ハイパーレッジャー)の開発環境について

    はじめにHyperledgerについてわかりやすくご紹介している「…

  3. データセンター

    ブロックチェーンとは

    ブロックチェーンと分散型データベースの違い

    ブロックチェーンの概要を一通り聞くと、技術的に少し詳しい方はこのような…

  4. whats-hyperledger
  5. Ethereum

    ブロックチェーンとは

    Ethereum入門:5分でわかるEthereum(イーサリアム)とは?

    昨年よりメディア等でよく話題に上がるブロックチェーン技術。暗号通貨を含…

  6. hash function

    ブロックチェーンとは

    ブロックチェーンの技術:ハッシュ関数

    ブロックチェーンを構成する基本技術の1つが「ハッシュ関数」です。…

Comment

  1. はじめまして!非常にわかりやすいページですね!

    こちら参考資料としてリンクさせていただきました。
    勝手ながらよろしいでしょうか?
    どうぞよろしくお願いいたします。

    https://goo.gl/0plg1y

      • Blockchain Online 編集部
      • May 11th, 2017

      ありがとうございます。ぜひよろしくおねがいします!

  1. May 4th, 2017

最近の記事

  1. AWS Blockchain Templates
  2. Blockchain 技術情報 Hyperledger Composer

おすすめ記事

  1. ブロックチェーンを活用した医薬品のデッドストック販売プラット…
  2. 【参加無料】2018年1月24日 エンジニア向けブロックチェ…
  3. ブロックチェーンの基本的な仕組み
  1. BLOCKCHAIN FESTIVAL 2018 in SAPPORO

    イベント情報

    【満席御礼】2018年3月1日開催 無料セミナー 《ブロックチェーンフェスティ…
  2. ブロックチェーンでつながる世界

    ブロックチェーンのメリット

    ブロックチェーン技術の適用が期待されるサービス
  3. whats-hyperledger

    ブロックチェーンとは

    Hyperledger入門 : Hyperledger(ハイパーレッジャー)って…
  4. INDETAIL × Orb

    イベント情報

    12月1日北海道初開催!エンジニア向け OrbDLTハンズオンセミナー★参加申し…
  5. BHIP PoC 構想イメージ

    トピックス/業界動向

    ブロックチェーンを活用した医薬品のデッドストック販売プラットフォーム PoC […
PAGE TOP