BIKENZO

プルーフ・オブ・ワーク解説:ビットコインはどのように合意に到達するのか

プルーフ・オブ・ワークとは、ビットコインのマイナーが候補ブロックを難易度ターゲットに達するまで繰り返しハッシュ化し、その後ネットワークが蓄積された作業量が最も多い有効なチェーンに従うというプロセスであり——これにより履歴の書き換えは経済的に高コストとなり、見知らぬ者同士が中央の権威なしに単一の共有台帳に合意できるようになる。

ビットコインの中核的な問題は一見単純だ。互いを知らず信頼もしていない何千台ものコンピューターが、銀行もサーバーも審判もなしに、誰が何を所有しているかという単一の順序付けられた記録にどうやって合意するのか?プルーフ・オブ・ワークはビットコインの答えである。それは電力と計算ハードウェアを、新しいブロックを提案するためのコストへと変える仕組みであり、また誰もが独立して「本物の」チェーンを認識できるようにするルールでもある。本記事では、プルーフ・オブ・ワークが実際に何を計算しているのか、どのように合意を生み出すのか、そしてなぜこの仕組みが攻撃しにくいのかを説明する。これは教育的な背景説明であり、助言ではない。

プルーフ・オブ・ワークが解決する問題

デジタル台帳はコピーしやすく、編集もしやすい。誰もが自由に取引を追加できるなら、同じコインを二度使うこともできてしまう——古典的な「二重支払い」問題だ。中央の運営者がいないシステムでは、一部の参加者が不正であったりオフラインであったりしても、独立した参加者たちがどの取引がどの順序で行われたかに合意する方法が必要になる。

デジタル通貨の初期の試みは、帳簿を管理する信頼された第三者に依存していた。2008年のホワイトペーパーで説明されたビットコインの設計は、その信頼された第三者を公開の競争に置き換えた。参加者は実際のリソースを費やしてブロックを追加し、ネットワークは勝者となるチェーンを選ぶための共有ルールに従う。合意は権威からではなく、コストと数学から生まれる。

マイナーが実際に計算しているもの

各候補ブロックには、取引のまとまり、前のブロックへの参照、そしてナンスと呼ばれる小さな変更可能な数値が含まれている。マイナーはこのデータをSHA-256ハッシュ関数に通す。この関数は、あらゆる入力を固定長で予測不可能に見える出力へと変える。目標は、特定のターゲット値を下回るハッシュを生み出す入力を見つけることだ——実際には、特定の数のゼロで始まるハッシュである。

ハッシュ出力は予測も逆算もできないため、条件を満たすハッシュを見つける唯一の方法は試行錯誤である。ナンスを変え、再びハッシュ化し、それを毎秒何十億回も繰り返す。この総当たりの探索が「作業(ワーク)」だ。それは意図的に行うのが難しくされているが、他の誰にとっても確認するのは些細なことである——たった一度のハッシュ計算で答えが有効だと確認できる。この非対称性(生み出すのは難しく、検証するのは簡単)こそがプルーフ・オブ・ワークの核心だ。

難易度とおよそ10分のリズム

ビットコインは平均しておよそ10分ごとに新しいブロックが生成されることを目指している。より多くの計算能力(ハッシュレート)がネットワークに加わると、ブロックはより速く到着しがちになるため、プロトコルは平均的なペースを一定に保つために、難易度——ターゲットハッシュがどれだけ低くなければならないか——を定期的に調整する。およそ2週間ごと(2,016ブロックごと)に、各ノードは最近のブロック生成時間から難易度を再計算する。

この自己調整のために、より多くのマイニング能力が長期的にはより速いブロック生成を意味しないのだ。それは主に、同じ安定したブロックの流れを守るためにより多くの作業が費やされていることを意味する。個々のブロックの正確なタイミングはランダムであり、したがって10分は長期的な平均であって、スケジュールではない。

ブロックから合意へ:最も長い有効なチェーン

有効なブロックを見つけることは話の半分にすぎない。二人のマイナーがほぼ同時にブロックを見つけたとき、ノードは依然として単一の履歴に合意する必要がある。ルールは、ノードが蓄積されたプルーフ・オブ・ワークの総量が最も大きい有効なチェーンに従うというものだ——しばしば「最も長いチェーン」とまとめられるが、実際には累積作業量が最も重いチェーンである。

各フルノードは、ビットコインのルールに照らして各ブロックを独立して検証する。有効な署名、二重支払いがないこと、正しいブロック報酬、そしてターゲットを満たすハッシュだ。ルールを破るブロックは、どれだけの作業が費やされたかに関わらず、単純に拒否される。一時的な不一致(フォーク)は、次のブロックが一方の枝を延長するにつれて解消され、正直なマイナーはそこに収束する。なぜなら、受け入れられたチェーンの上に構築することにこそ報酬があるからだ。

なぜこれがネットワークを守るのか

過去の取引を書き換えるには、攻撃者はそのブロックとそれ以降のすべてのブロックについてプルーフ・オブ・ワークをやり直し、さらに正直なネットワーク全体を上回ってより長いチェーンを構築しなければならない。取引が深く埋もれているほど、やり直さなければならない作業は多くなる——これが、商店がしばしば複数の確認(コンファメーション)を待つ理由だ。コストはネットワークの総ハッシュレートに比例して増大する。

これが「51%攻撃」の背後にある直感だ。ハッシュパワーの過半数を支配すれば、最近の取引を並べ替えたり検閲したりできる可能性がある。しかし、そのハードウェアを取得し稼働させるのは高コストであり、署名を偽造したりコインを直接盗んだりすることはできず、目に見える攻撃は、攻撃者がリソースを費やしてマイニングしているまさにその資産の価値を損ないかねない。インセンティブは、正直に参加することが攻撃することよりも概して利益になるように調整されている。ここでのセキュリティは経済的かつ確率的なものであり、絶対的な保証ではない。

トレードオフとより広い議論

プルーフ・オブ・ワークの強み——現実の外部的なコスト——は、最もよくある批判の源でもある。エネルギー消費だ。ビットコインの電力使用量の推定値は大きくばらつき、時とともに変化する。また、一部のマイナーが利用する、活用されずに眠っていた(stranded)電力、余剰電力、あるいは再生可能エネルギーの割合が増えていることが、状況をさらに複雑にしている。分別ある人々の間でも意見は分かれ、詳細は移り変わる。単一の数字に頼るのではなく、最新の信頼できる情報源を確認する価値がある。

プルーフ・オブ・ステークのような代替の合意設計は、計算の代わりに経済的な担保を用いることで、はるかに少ないエネルギーで他のいくつかのネットワークを守っている。それらは異なる前提とトレードオフを伴い、それらを公平に比較することはそれ自体が一つのテーマである。ビットコインに関して言えば、プルーフ・オブ・ワークが依然としてその仕組みであり、そのセキュリティと発行スケジュールはそれに結びついている。

FAQ

プルーフ・オブ・ワークとは簡単に言うと何ですか?
それは、条件を満たす結果が見つかるまでデータをハッシュ関数に通すことで、難しくランダムな当てものパズルを解こうとコンピューターが競い合うシステムです。このパズルは解くのに高いコストがかかりますが、他の誰にとっても検証は簡単で、そのおかげで見知らぬ者同士のネットワークが互いを信頼することなく新しいブロックに合意できます。
プルーフ・オブ・ワークはどのように二重支払いを防ぐのですか?
取引はブロックの中で順序付けられ、ネットワークは蓄積された作業量が最も多い有効なチェーンに従います。同じコインを二度使うには、攻撃者は該当するブロックの作業をやり直し、正直なネットワーク全体を追い抜かなければなりません——確認(コンファメーション)が積み重なるにつれて、これは法外に高コストになります。
プルーフ・オブ・ワークはマイニングと同じですか?
両者は密接に結びついていますが、同一ではありません。プルーフ・オブ・ワークはルールでありパズルです。マイニングはその作業を行う活動——有効なブロックを探すためにハードウェアを稼働させること——です。マイナーは成功したとき、新たに発行されたビットコインと取引手数料で報われます。
51%攻撃とは何ですか?
それは、単一の主体がネットワークのハッシュ能力の半分以上を支配し、最近の取引を並べ替えたりブロックしたりできる可能性がある状況を指します。署名を偽造したり既存のコインを盗んだりすることはできず、また高コストで自滅的です。なぜなら、攻撃が成功すれば、攻撃者がマイニングしているものの価値を損ないかねないからです。
なぜビットコインはこれほど多くのエネルギーを使うのですか?
そのエネルギー使用は意図的なものです。現実世界のコストこそが履歴の書き換えを高コストにするものであり、それがセキュリティの源だからです。総消費量の推定値はばらつき、時とともに変化します。また、余剰電力や再生可能エネルギーの割合は地域によって異なります——数字は最新の信頼できる情報源に照らして確認するのが最善です。
プルーフ・オブ・ワークはBIKENZOのような流動性ターミナルとどう関係するのですか?
それは市場データの読み方を変えるものではありませんが、ビットコインが何であるかを説明する助けになります。すなわち、企業ではなく、作業によって守られたネットワークだということです。BIKENZOは、文脈を提供するためにグローバル流動性指数(Global Liquidity Index)をビットコイン価格に対してプロットするデータツールです。プルーフ・オブ・ワークを理解することは背景知識であり、一方でターミナルは単に市場の文脈を示すだけです。それは助言ではなく文脈を提供します——決めるのはあなたです。

A Bitcoin liquidity terminal. Global central-bank liquidity, plotted against the Bitcoin price, in one screen.

プレビューをリクエスト