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

ビットコインと​ビザンチン将軍問題 — 王の​Wi-Fiが​1982年の​古典を​描き直す

紺色を基調にしたインフォグラフィック。見出しは「THE BYZANTINE GENERALS PROBLEM」、副題は「1982年の古典的難問に、プルーフ・オブ・ワークチェーンが答えた」。横一列のタイムラインが3つのアイコンを結ぶ。1982年(ランポート、ショスタク、ピーズ、ACM TOPLAS)、2008年11月13日06:16 UTC(ジェームズ・A・ドナルドが問題を名指しする)、2008年11月13日22:56 UTC(サトシ・ナカモト、プルーフ・オブ・ワークチェーン)。吹き出しの引用には「A SOLUTION TO THE BYZANTINE GENERALS PROBLEM」とある。右上の小さなパネルは、古典的なビザンチン耐性合意(既知の集団・回数を区切ったラウンド)とビットコインのプルーフ・オブ・ワーク(開かれた集団・確率的な確定性)を対比している。

2008年11月13日06:16 UTC。ホワイトペーパー公開から13日後、それを議論するメーリングリストのスレッドで、ジェームズ・A・ドナルドは、サトシに突きつけ続けてきた難しさに名前を与えた。分散コンピューティングの古典的な合意問題、ビザンチン将軍問題である。サトシは同日22:56に答えた。ホワイトペーパーは10月31日の公開版にも2009年3月の改訂版にも「ビザンチン」の語がなく、このスレッドのそれ以前の返信にも使った者はいない。この語をビットコインに結びつけたのはドナルドのこのメールが最初であり、答えはスレッドの中だけでは終わらなかった。数か月のうちに、サトシはこの答えをbitcoin.orgの独立ページに仕立てている。

1. 1982年の問題

ビザンチン将軍問題は、ランポート、ショスタク、ピーズによる1982年の論文(『ACM Transactions on Programming Languages and Systems』誌掲載)に由来する。複数の将軍が敵の都市を包囲し、伝令を通じてしか連絡を取れない状況で、攻撃するか撤退するか、一つの計画に合意しなければならない。将軍の中には、合意の成立を積極的に妨げようとする裏切り者がいるかもしれない。この論文の中心的な結果は具体的で、逃げ道がない。口頭のメッセージだけでは、将軍の3分の2を超える人数が忠実でない限り、いかなるプロトコルも合意を保証できない。将軍が3人で裏切り者が1人いる場合、何も機能しない。

この問題は航空機の研究から生まれた。ランポートが自分の著作に付けている解説によれば、旅客機をコンピューターが操縦することがはっきりしてくると、NASAはそのコンピューターを十分に信頼できるものにする研究に資金を出し、その一つがSRIのSIFT計画だった。この計画は「ビザンチン将軍問題とその解を生んだことで、おそらく最もよく知られている」。将軍は借り物である。2人の将軍の問題が「中国の将軍問題と呼ばれることがあった」のを、ランポートは、裏切り者の混じった大勢の将軍の問題に作り替えた。論文の最初の題は「アルバニアの将軍問題」だったが、ジャック・ゴールドバーグが「アルバニアの外の世界にもアルバニア人はいる」と気づき、別の名前を勧めた。ランポートは「この論文を書いた一番の理由は、この問題に新しい名前を付けることだった」と書いている。

論文の保証は、誰が話しているかが分かることにも頼っている。仮定A2は「メッセージを受け取った者は、誰が送ったかを知っている」で、6節は、実際の機械でそれに何が要るかを書く。「実際には、プロセスどうしの通信は、何らかのメッセージ交換網を通さず、固定の回線で行うということである。(交換網を使うなら、故障したネットワークのノードを考えに入れなければならず、ビザンチン将軍問題がふたたび現れる)」。論文は、署名についての仮定A4のもとで、すべてのメッセージに署名するなら、A2は要らないとも書いている。

2008年の時点で、この問題は分散システムに携わる人々にとって定番の参照点になっていた。固定された、既知の、名前の分かっている参加者の集団があり、その一部が嘘をつくかもしれない状況で、一つの共有された決定に到達しようとする、という構図である。

1982ランポート ・ショスタク ・ ピーズが「The ByzantineGenerals Problem」を発表(ACMTOPLAS)2008ドナルドがビザンチン将軍問題を名指しする (11月13日06:16 UTC)サトシが返信、プルーフ・オブ・ワークチェーンを解決策とする(11月13日 22:56UTC)2009サトシの説明がbitcoin.org の独立ページになるマルミに参考として渡される(5月3日)1982 年の難問から、 答えとその後まで

2. ドナルドの挑戦

ジェームズ・A・ドナルドは、11日前の最初の返信からずっと同じ論点を追及していた。ノードを信頼できるかどうかではなく、信頼できる者も信頼できない者も含むノード群が、誰が何を所有しているかについて一つの共有された見解にどうやって至るのか、その一点である。サトシの論文は問題を二重支払いとして枠づけていた。その下にある合意の層へ、ドナルドは繰り返し議論を引き戻した。このやり取りは、ジェームズ・A・ドナルド=サトシ仮説が、サトシが彼を自分の分身としてではなく外部の質問者として扱っていた証拠として挙げる、直接通信の二例のうちの一つである。

ジェームズ・A・ドナルド(暗号学メーリングリストへの投稿、2008年11月13日06:16 UTC)

誰がどのbitgoldコインを所有しているかについて、グローバルに共有された見解へ至るプロセスの規定が不十分だ。

サトシによるトランザクション確定性の説明への返信の中で、彼はこの難しさに古典の名前を与えた。

ジェームズ・A・ドナルド

全員がXを知っているだけでは足りない。全員が「全員がXを知っている」ことを知り、さらに「全員が、全員がXを知っていることを知っている」ことを知る必要もある。これは、ビザンチン将軍問題と同じく、分散データ処理の古典的な難問だ。

これは、ランポートの問題の見かけではなく、入れ子になった知識という核心そのものである。ドナルドは劇的なラベルを求めているのではなく、実際の数学的な難しさそのものを指し示し、それがどこから来ているかを名指している。

3. 「おそらくより難しい部分」 — フィニーの見立て

その日の午後、サトシの返信に先立って、ハル・フィニーが同じスレッドでドナルドに答えている。そしてこの論点に、どれだけのものが懸かっているかを見積もった。

ハル・フィニー(暗号学メーリングリストへの投稿、2008年11月13日16:24 UTC)

ひとつ触れておくと、ビットコインは多くの点で二つの独立したアイデアだ。ジェームズがここで挙げている種類の問題を解決する方法、つまりグローバルに一貫性がありながら分散型のデータベースを作ること。そしてそれをウェイ・ダイのb-money(論文中で参照されている)に類似したシステムに使うこと、ただしアカウントベースではなくトランザクション/コインベースだ。グローバルで大規模に分散されたデータベース問題を解決することが、ジェームズが強調するように、おそらくより難しい部分だ。

フィニーの読みでは、通貨の仕組みは見慣れた半分だった。b-moneyが十年前に素描していたからだ。ドナルドが突き続けた共有見解の問題こそ、ビットコインを新しくしている半分だった。

4. サトシの答え — 王のWi-Fi

サトシは返信した。枠組みをかわすのではなく、そのまま受け入れた。

サトシ・ナカモト(暗号学メーリングリストへの投稿、2008年11月13日22:56 UTC)

PoWチェーンは、ビザンチン将軍問題の解決策だ。その文脈で言い換えてみよう。

この後に続くのが、今や有名な王のWi-Fiの比喩である。何人かのビザンチン将軍がそれぞれコンピューターを持ち、王のWi-Fiのパスワードをブルートフォースで破りたいと考えている。だが、過半数が同時に攻撃した場合にのみ、破るのに十分なCPUパワーを合わせ持つことができる。将軍たちは攻撃がいつ行われるかは気にせず、全員が同じ時刻に合意することだけを求める。その合意は、提案された時刻をハッシュに含むプルーフ・オブ・ワーク問題を解くために競い合い、勝者の解をブロードキャストし、全員がその結果できた最も長いチェーンを延長していくことで得られる。十分なプルーフ・オブ・ワークが積み上がれば、どの将軍も、難易度だけを検証することで、過半数がそれに取り組んだに違いないと確認できる。個々のメッセージを信頼する必要はない。

これはドナルドの、入れ子になった知識の問題への直接の答えになっている。誰も、全員が合意した時刻を全員が知っているということを知る必要はない。過半数が既に一致していなければ存在し得ない、労力の連鎖を目にするだけで足りる。

5. どのような解決なのか

サトシ自身が、ビットコインのコンセンサスをビザンチン将軍問題への答えと呼んだ。ただし、それが答えているのは、1982年の論文が提起した問題とは異なる形をした版である。ランポート、ショスタク、ピーズは固定された既知の将軍集団を前提とし、嘘をつく者が3分の1未満であれば成り立つ保証を、限られた回数のメッセージのやり取りの中で得ようとした。ビットコインの参加者集団は固定されておらず、事前に知ることもできない。したがって、そこで得られる保証の形も異なる。

ランポート、ショスタク、ピーズ(1982年)ナカモト・コンセンサス(ビットコイン)
誰が参加できるか固定された、既知の将軍集団公開されており、誰でも参加・離脱できる
偽の身元への備え不要(将軍はあらかじめ特定されている)プルーフ・オブ・ワーク(1票に実際の計算コストがかかる)
合意の到達方法署名または口頭のメッセージを、回数を区切って数える蓄積された労力が最大のチェーンを延長する
合意が確定するタイミング決定論的、限られた回数のやり取りの中で確率的、ブロックが積み重なるほど強くなる

この、開かれた許可不要の参加者集団にこそ、シビル耐性を持つプルーフ・オブ・ワークの存在意義がある。ハードウェアを買える限り、いくらでも身元を作り出せる仕組みの中では、それぞれのメッセージや票にコストが伴わない限り、それらを数えることに意味はない。合意形成設計のエントリーは、難易度調整やフォークの解決、ここでの確定性がなぜ絶対的な保証ではなく確率的なものになるのかといった、仕組みそのものを扱っている。その比較の出どころは、記録から直接たどれる。論文中の引用としてではなく、公開のメーリングリスト上の生きた議論として始まったものだ。表の左列にある閉じた集合の設計と、後から現れた預け入れによる設計を、開かれた集合の答えと突き合わせて測ったのがプルーフ・オブ・ワークとプルーフ・オブ・ステークの比較である。

6. 一つの返信から、プロジェクトのサイトへ

サトシはこの答えを、言いっぱなしにしなかった。2009年3月時点のbitcoin.orgの保存記録には、王のWi-Fiの説明を磨き直した「The Byzantine Generals’ Problem」という独立ページが、プロジェクト自身のサイト上にすでに存在している。そして同年5月3日、サイトのFAQ作成に向けてマルッティ・マルミへ参考資料を渡した際、サトシはこのページを「ビットコインがビザンチン将軍問題をどう解くかについての私の説明」として挙げた。懐疑派への一つの返信として始まったものが、サトシ自身が「私の説明」として人に示すページになっていた。

このやり取りでは、名前を受け入れて、中身を作り替えている。サトシは古典的な枠組みに異を唱えず、「解決策だ」と言い切った上で、固定された将軍たちの世界を、誰でも出入りできる世界に置き換えて答えた。三人はそれぞれ、この瞬間への自分の読みを記録に残している。ドナルドは通貨の下にある合意の層を突き、フィニーはその場で「より難しい部分」と呼び、サトシは答えをプロジェクトのサイトに残した。そして比喩の中では、合意を支えるものが入れ替わっている。ランポートの将軍たちは、名の知れた仲間の言葉を数えて合意に至る。王のWi-Fiの将軍たちは、どのメッセージも信じないまま、攻撃の時刻に一致する。合意を運ぶのは、積み上がった計算そのものだ。その13日前、ホワイトペーパーは「信頼ではなく暗号学的証明に基づく」決済システムを求めていた。その一行が、ビットコインの公開記録上初めて1982年の語彙で語られたのが、王のWi-Fiだった。

外部ソース

この記事はビットコイン・インスティテュート自身による史実の読み解きであり、単一文書の転載ではない。軸となるのはジェームズ・A・ドナルドのメールとサトシの返信という一つのやり取りで、いずれも本アーカイブに全文を収録済みである。
他2件を表示