ビットコイン・インスティテュート

ビザンチン将軍問題

何人かのビザンチン将軍が、それぞれコンピューターを持っていて、王のWi-Fiを、パスワードの総当たりで攻撃したい。パスワードの文字数は分かっている。ネットワークを刺激してパケットを発生させると、発見されないうちに侵入してログを消去するため、限られた時間内にパスワードを破らなければならない。過半数が同時に攻撃したときだけ、間に合うだけのCPUパワーがある。

攻撃がいつになるかは特に気にせず、ただ全員が一致していればよい。誰でも望む者が攻撃時刻を発表し、それを「計画」と呼ぶことにした。最初に聞こえた計画が公式の計画になる。問題はネットワークが瞬時ではないことだ。2人の将軍がほぼ同時に異なる計画を発表すると、ある者は一方を先に聞き、別の者はもう一方を先に聞くことになる。

そこで、プルーフ・オブ・ワークのチェーンを使う。各将軍は、最初に聞いた計画を受け取ると、その計画をハッシュに含む、難しいハッシュベースのプルーフ・オブ・ワーク問題をコンピューターに解かせる。プルーフ・オブ・ワークは、全員が同時に取り組んでも、誰かが解を見つけてネットワークへブロードキャストするまでに10分かかるほど難しい。解を受け取ると、全員がプルーフ・オブ・ワーク計算のハッシュを最初の解を含むように調整する。そうすれば、次のプルーフ・オブ・ワークを見つけたとき、それが最初の解の後ろに連なる。別の計画に取り組んでいた者がいれば、こちらへ切り替える。こちらのプルーフ・オブ・ワークチェーンの方が長くなったからだ。

約2時間後には、計画が12個のプルーフ・オブ・ワークのチェーンによってハッシュ化されているはずだ。各将軍は、プルーフ・オブ・ワークチェーンの難易度を検証するだけで、そこに費やされた1時間あたりの並列CPUパワーを推定し、決められた時間内にこれだけを生成するにはコンピューターの過半数が必要だったと見て取れる。少なくとも、その大半は計画を見ていたはずだ。プルーフ・オブ・ワークが、その計画に取り組んだ証拠だからである。プルーフ・オブ・ワークに表れたCPUパワーがパスワードを破るのに十分なら、合意した時刻に安全に攻撃できる。

ホーム

原典の外部ソース

https://web.archive.org/web/20090309175840/http://www.bitcoin.org/byzantine.html
初期のbitcoin.orgに掲載された独立ページ。ページ自体に公開日は記載されておらず、エントリーの日付は2009年3月9日17:58:40 UTCのWayback Machine保存記録の取得時刻を記録している。サトシは2009年5月3日、マルッティ・マルミへのメッセージで、このページをビットコインがビザンチン将軍問題をどう解くかについての自身の説明として示した。