プルーフ・オブ・ワークが解決する問題
デジタル台帳はコピーしやすく、編集もしやすい。誰もが自由に取引を追加できるなら、同じコインを二度使うこともできてしまう——古典的な「二重支払い」問題だ。中央の運営者がいないシステムでは、一部の参加者が不正であったりオフラインであったりしても、独立した参加者たちがどの取引がどの順序で行われたかに合意する方法が必要になる。
デジタル通貨の初期の試みは、帳簿を管理する信頼された第三者に依存していた。2008年のホワイトペーパーで説明されたビットコインの設計は、その信頼された第三者を公開の競争に置き換えた。参加者は実際のリソースを費やしてブロックを追加し、ネットワークは勝者となるチェーンを選ぶための共有ルールに従う。合意は権威からではなく、コストと数学から生まれる。
マイナーが実際に計算しているもの
各候補ブロックには、取引のまとまり、前のブロックへの参照、そしてナンスと呼ばれる小さな変更可能な数値が含まれている。マイナーはこのデータをSHA-256ハッシュ関数に通す。この関数は、あらゆる入力を固定長で予測不可能に見える出力へと変える。目標は、特定のターゲット値を下回るハッシュを生み出す入力を見つけることだ——実際には、特定の数のゼロで始まるハッシュである。
ハッシュ出力は予測も逆算もできないため、条件を満たすハッシュを見つける唯一の方法は試行錯誤である。ナンスを変え、再びハッシュ化し、それを毎秒何十億回も繰り返す。この総当たりの探索が「作業(ワーク)」だ。それは意図的に行うのが難しくされているが、他の誰にとっても確認するのは些細なことである——たった一度のハッシュ計算で答えが有効だと確認できる。この非対称性(生み出すのは難しく、検証するのは簡単)こそがプルーフ・オブ・ワークの核心だ。
難易度とおよそ10分のリズム
ビットコインは平均しておよそ10分ごとに新しいブロックが生成されることを目指している。より多くの計算能力(ハッシュレート)がネットワークに加わると、ブロックはより速く到着しがちになるため、プロトコルは平均的なペースを一定に保つために、難易度——ターゲットハッシュがどれだけ低くなければならないか——を定期的に調整する。およそ2週間ごと(2,016ブロックごと)に、各ノードは最近のブロック生成時間から難易度を再計算する。
この自己調整のために、より多くのマイニング能力が長期的にはより速いブロック生成を意味しないのだ。それは主に、同じ安定したブロックの流れを守るためにより多くの作業が費やされていることを意味する。個々のブロックの正確なタイミングはランダムであり、したがって10分は長期的な平均であって、スケジュールではない。
ブロックから合意へ:最も長い有効なチェーン
有効なブロックを見つけることは話の半分にすぎない。二人のマイナーがほぼ同時にブロックを見つけたとき、ノードは依然として単一の履歴に合意する必要がある。ルールは、ノードが蓄積されたプルーフ・オブ・ワークの総量が最も大きい有効なチェーンに従うというものだ——しばしば「最も長いチェーン」とまとめられるが、実際には累積作業量が最も重いチェーンである。
各フルノードは、ビットコインのルールに照らして各ブロックを独立して検証する。有効な署名、二重支払いがないこと、正しいブロック報酬、そしてターゲットを満たすハッシュだ。ルールを破るブロックは、どれだけの作業が費やされたかに関わらず、単純に拒否される。一時的な不一致(フォーク)は、次のブロックが一方の枝を延長するにつれて解消され、正直なマイナーはそこに収束する。なぜなら、受け入れられたチェーンの上に構築することにこそ報酬があるからだ。
なぜこれがネットワークを守るのか
過去の取引を書き換えるには、攻撃者はそのブロックとそれ以降のすべてのブロックについてプルーフ・オブ・ワークをやり直し、さらに正直なネットワーク全体を上回ってより長いチェーンを構築しなければならない。取引が深く埋もれているほど、やり直さなければならない作業は多くなる——これが、商店がしばしば複数の確認(コンファメーション)を待つ理由だ。コストはネットワークの総ハッシュレートに比例して増大する。
これが「51%攻撃」の背後にある直感だ。ハッシュパワーの過半数を支配すれば、最近の取引を並べ替えたり検閲したりできる可能性がある。しかし、そのハードウェアを取得し稼働させるのは高コストであり、署名を偽造したりコインを直接盗んだりすることはできず、目に見える攻撃は、攻撃者がリソースを費やしてマイニングしているまさにその資産の価値を損ないかねない。インセンティブは、正直に参加することが攻撃することよりも概して利益になるように調整されている。ここでのセキュリティは経済的かつ確率的なものであり、絶対的な保証ではない。
トレードオフとより広い議論
プルーフ・オブ・ワークの強み——現実の外部的なコスト——は、最もよくある批判の源でもある。エネルギー消費だ。ビットコインの電力使用量の推定値は大きくばらつき、時とともに変化する。また、一部のマイナーが利用する、活用されずに眠っていた(stranded)電力、余剰電力、あるいは再生可能エネルギーの割合が増えていることが、状況をさらに複雑にしている。分別ある人々の間でも意見は分かれ、詳細は移り変わる。単一の数字に頼るのではなく、最新の信頼できる情報源を確認する価値がある。
プルーフ・オブ・ステークのような代替の合意設計は、計算の代わりに経済的な担保を用いることで、はるかに少ないエネルギーで他のいくつかのネットワークを守っている。それらは異なる前提とトレードオフを伴い、それらを公平に比較することはそれ自体が一つのテーマである。ビットコインに関して言えば、プルーフ・オブ・ワークが依然としてその仕組みであり、そのセキュリティと発行スケジュールはそれに結びついている。