ビザンチン将軍問題とビットコイン

ビザンチン将軍問題とは計算理論における合意形成の問題です。ビットコインは、ビザンチン将軍問題をプルーフ・オブ・ワークおよびブロックチェーンという技術によって解決することで、取引の信頼性を担保しています。
ビットコインの取引においてはビザンチン将軍問題を意識する機会はそれほどありません。ビットコインには非常に高度な技術が多く利用されているため、全てを詳細に理解することは困難でしょう。ですが、ビットコインのみならず、どのような道具についても、概要だけでも仕組みを知っておくことは「知らない」ことによって発生するリスクを軽減することができます。ビットコインには取引において発生しうる障害と、その障害を理論的に解決することで信頼性を担保している仕組みがあります。これらの障害と障害解決の仕組みについて、概要だけでも理解しておくことは重要です。今回のコラムではビザンチン将軍問題とビットコインの関係について解説します。

ビザンチン将軍問題とは


ビザンチン将軍問題は1980年にマーシャル・ピーズ、ロバート・ショスタク、レスリー・ランポートによって示された計算理論における合意形成の問題です。彼らは、ビットコインにおいても利用されている分散コンピューティングシステムにおいて、各コンピューター間の通信やコンピューターそのものに障害が発生した際、システム全体が機能しなくなる可能性があることを示しました。つまり、全体のシステムのうち一部が悪意や事故によって機能しなくなると、その影響が全体のシステムに影響を及ぼしうる、という問題です。これをビットコインに置き換えると、悪意のある攻撃者がビザンチン将軍問題を悪用した不正を働くことで、ビットコイン全体の信頼性を失墜させる、ということになります。ビットコインの価値は利用者全体の信頼によって成立しています。ビットコインの仕組みでは、悪意を持つ攻撃者による不正をいかに防ぐか、すなわちビザンチン将軍問題をいかに解決するかという点についても技術的な防御策がほどこされています。

ビザンチン将軍問題について、例を挙げてご説明します。ある都市を包囲している九つの軍が存在し、軍のそれぞれに司令官が存在します。司令官たちは多数決によって「全軍で一斉に攻撃する」あるいは「全軍で一斉に撤退する」ことを決定しなければなりません。ただし、各軍は都市を包囲しているために距離が離れており、司令官たちが一堂に会して議論を行うことはできませんので、伝令を走らせて意思表明を行います。ここで「全軍で一斉に攻撃する」に四票、「全軍で一斉に撤退する」に四票入っている状況が発生したとします。残り一人の司令官はどちらかに投票することで全軍の挙動を決定することになります。仮に残りの一人が裏切り者であり、票の行方を何らかの手段で知っている場合、「全軍で一斉に攻撃する」側の司令官たちにも「全軍で一斉に撤退する」側の司令官たちにもそれぞれ賛成するという伝令を走らせた場合、「全軍で一斉に攻撃する」側の司令官たちは攻撃を行い、「全軍で一斉に撤退する」側の司令官たちは撤退を行うことになります。いずれも「全軍で」という条件を満たさないため、攻撃も撤退も成功しない、つまり全軍が機能しないという状態に陥ることとなります。これがビザンチン将軍問題の概要です。司令部からの上意下達を意思決定の基準とするのではなく、各軍の司令官による合意を行動の指針とするために発生する問題です。

ビザンチン将軍問題は思考実験として提起されたものですが、実世界の分散コンピューティングシステムにおいて非常に重要な役割を果たしています。ビットコインにおいては先述の例に挙げた司令部にあたる中央集権的な管理者が存在しないため、偽の取引情報をシステム全体に流布することができます。ビットコインにおける新たな取引情報はビットコインの取引参加者全体によって検証され、多数決によって信頼するか否か、合意形成がなされます。偽の取引情報について多数決による議決を取った結果、信頼するという合意がなされてしまっては大変です。ビットコインそのものの信頼性が失われ、ビットコインの価値は失墜するでしょう。偽の情報に基づいて誤った合意形成がなされるということは、ビットコインを構成するネットワークにおいてビザンチン将軍問題が発生していることを意味します。

ビットコインにおけるビザンチン将軍問題の解決法

ビットコインにおいては、ビザンチン将軍問題をプルーフ・オブ・ワーク(= Proof of Work : PoW)およびブロックチェーンという二つの仕組みによって解決しています。プルーフ・オブ・ワークは、ある参加者間で新たな取引情報が発生した際にその取引情報が適正な取引であるか否か、ビットコイン取引の参加者全体で検証し、多数決を取ります。このとき、検証の手掛かりとなるのがビットコインに関する記事でしばしば目にするブロックチェーンであり、ある取引が既存のブロックチェーンと整合するか否か検証することでビザンチン将軍問題が発生することを防いでいます。

ビットコインにおけるブロックチェーンは、ある一定期間における取引の記録をひとかたまりのブロックとみなし、これまでに残された取引記録のブロックへ次々と追加する仕組みのことであり、また鎖(チェーン)状に繋がれた一連のブロックのことを示します。個々のブロックの内容はハッシュという技術で暗号化されており、内容をほんの少し変更しただけで全体の内容が変化し、直前の取引ブロックとの整合性が取れなくなります。悪意ある者が不正な取引を行ったとしても、多数の参加者によって最新のブロックとの整合性を検証され、多数決によって取引が否決されればその取引は全体として破棄されます。

また、ビットコインの仕組みにおいては、最も長いブロックチェーンを信頼する、ということが全体のルールとして定められています。新たに発行した偽の取引情報を信頼させるためには、最新のブロックの内容を改ざんしなければなりませんが、そうすると後方にあるブロックとの整合性が取れなくなるため、後方にあるブロックについても改ざんしなければなりません。そしてまた一つ後方のブロックとの整合性が取れなくなり・・・というように、悪意ある取引を行うためには延々と続くブロックチェーンを最初から最後まで改ざんしなければならず、またネットワーク参加者に対しては改ざんしたブロックチェーンを信頼させなければなりません。加えて、正しいブロックチェーンはリアルタイムで更新され続けます。

ビザンチン将軍問題を悪用してビットコインのシステムを攻撃する、つまりビットコインにおいてプルーフ・オブ・ワークによる検証をあざむき、ブロックチェーンを改ざんすることは、理論的には可能です。しかしあくまで「理論的には可能」というだけであって、現実的にはまったく割に合わない行為です。ビットコインの利用者たちは、その大多数が正確な取引がなされることを望んでいます。ビットコインのシステムにおいて、一部の悪意ある参加者が不正を働こうとしても、参加者全体によって自動的に取引が検証されます。不正な取引はブロックチェーンとの整合性が取れないために破棄されます。不正を働くために偽のブロックチェーンを生成するという行為には膨大な手間が必要となります。これは全く割に合わず、適正な取引に参加した方がよほど手間に見合った利益が得られます。ビットコイン誕生の発端となった論文「Bitcoin: A Peer-to-Peer Electronic Cash System(Satoshi Nakamoto, 2009)」においても、多数の良心的な利用者によって生成され続ける最も長いブロックチェーンに対し、少数の悪意ある攻撃者が改ざんしたブロックチェーンによって追いつくことが理論的に困難であると示されています。


今回はビザンチン将軍問題とビットコインの関係について解説し、ビザンチン将軍問題をビットコインの仕組みがどのように解決しているか示しました。ビットコインはプルーフ・オブ・ワークとブロックチェーンという仕組みを利用することで、ビザンチン将軍問題のように悪意を持って情報を操作しようとする者に対する防御手段を講じています。

重要なことは、不正な取引に対する検証を人間が考えて行うのではなく、システムが自動的に行うことです。コンピューターは(バグが無い限り)プログラムに従って正確に情報処理を実行します。したがって実際の取引において、人間がビザンチン将軍問題を考慮する必要はほとんどありません。他の障害や問題に対する解決手段も、基本的にはシステムが自動的に対処するように作られています。ですが、どのような手段を用いて不正な取引が防止されているのか把握することで、仮にビットコインのシステムに何らかの大きな障害が発生した場合には、その原因が何なのか把握するための一助とすることができます。

関連記事

コメントは利用できません。

bitFlyer

最近の投稿

新着記事

  1. ビットコインに関する法制度は世界各国で整備が進んでいる状況である、まだ途上にあるといえます。ビットコ…
  2. ビットコインに関する解説ではしばしば、ビットコインは特定の誰かによって発行や取引が管理されることのな…
  3. 香港はビットコイン取引が盛んな都市です。中国といえば金融機関によるビットコイン取引が規制された国とし…
  4. ビットコインについて調べていると欧米諸国や東アジア諸国の動向について報じられている記事を目にすること…
  5. 2017年の9月、ビットコインとライトコインとの間でアトミックスワップが成功したと報じられ、ビットコ…
  6. これからビットコイン投資に関わろうと考えて調べ物をしている方、あるいは既にビットコイン投資に携わって…
  7. ビザンチン将軍問題とは計算理論における合意形成の問題です。ビットコインは、ビザンチン将軍問題をプルー…
  8. ビットコインの情報を収集している際にしばしば目にするのがハードフォークという用語です。ビットコインを…
  9. 2017年の8月末から、ビットコイン関連の話題においてエストコイン(= Estcoin)という言葉を…
  10. ビットコインに関してリサーチを行っている方の中には、ビットコインが普及している国というと自然とギリシ…
ページ上部へ戻る