コンセンサスの原点「プルーフ・オブ・ワーク(PoW)」とは?

この記事は次の言語でご利用いただけます:

Author logo
Patrick Dike-Ndulue
Post image

主要な洞察

本記事では、プルーフ・オブ・ワーク(PoW)の起源と進化をたどり、リソースの濫用対策からビットコインの分散型ブロックチェーン基盤へと発展した経緯を解説します。PoWがマイナーによる計算パズルを通じて取引の安全性や二重支払い防止を実現する仕組み、そしてスケーラビリティや消費電力の課題についても触れています。こうした制約への対応策として、効率性とセキュリティ・分散性の両立を目指す新たなブロックチェーンレイヤーやコンセンサスメカニズムの開発も紹介しています。

現在、分散型ネットワークではさまざまなコンセンサスメカニズムが使われていますが、その原点はプルーフ・オブ・ワーク(PoW)です。この記事では、PoWがどのように生まれ、どのように機能し、なぜWeb3の主要アルゴリズムとして今も活用されているのかをご紹介します。

そもそもプルーフ・オブ・ワークは、分散型ネットワークの基盤として考案されたものではありませんでした。もともとは仮想通貨とは無関係で、「共有リソース」の利用者をさまざまな濫用から守るために設計された仕組みです。1993年に提案されたこの概念は、利用者に複雑な計算を求めることでリソースへのアクセスを制限し、その計算結果が簡単かつ迅速に検証できることも特徴でした。

実用化に適した最初のバージョンが登場したのは、それから5年後。Adam Backが開発したHashcashプロジェクトです。Hashcashはスパムメール対策を目的とし、暗号技術を使って大量送信を困難にするものでした。メール送信前に、送信者は「SHA(x)のハッシュ値にN個の先頭ゼロビットが出るx」を見つけるという複雑な計算を行い、その結果(プルーフ・オブ・ワーク)をメールヘッダーに付加します。

メールが受信者に届くには、送信者がこの暗号計算を解いたかどうかを検証する必要があります。これは、事前に用意されたラベルを使い、一度だけSHA-1計算を行うことで非常に高速に確認できます。このラベルは送信者が問題を解く前に生成し、システム参加者全員が参照できるようになっています。そのため、数通のメール送信なら問題ありませんが、大量送信には大きな計算能力が必要になります。

この仕組み、どこかで見覚えがありませんか?このコンセプトは2008年、Satoshi NakamotoによるビットコインとそのPoWブロックチェーンの設計に活用されました。

PoWブロックチェーンの仕組み

Nakamoto氏(個人かグループかは不明)のアイデアの核心は、第三者に依存しない分散型電子マネーシステムの構築でした。銀行などの仲介を介さずに、直接送金できる仕組みです。

取引情報は、システム参加者間で分散管理される台帳(レジストリ)に記録されます。取引は一定数ごとにブロックとしてまとめられ(ブロックサイズは制限あり)、各ブロックには前のブロックの情報も含まれます。すべての関連データ(取引、前ブロックのハッシュ値、タイムスタンプなど)は「ハッシュ」と呼ばれる固有コードに変換されます。ビットコインの場合、このハッシュ関数はSHA-256です。チェーンの管理は「フルノード」が担い、新しいブロックの生成にはマイナーが関わります。

ここで重要なのは、ハッシュ関数は同じデータセットから常に同じハッシュ値を生成する点です。ごくわずかな変更でも、全く異なるハッシュ値になります。

前述のとおり、マイナーはブロックのハッシュ値を計算してチェーンに追加します。この計算自体はそれほど時間がかかりませんが、計算問題がすぐに解かれてしまわないよう、ネットワークは2,016ブロックごと(約2週間ごと)に難易度を調整します。これにより、1ブロックあたり約10分で採掘されるようになり、ブロックチェーンの安定運用が保たれています。

では、実際の流れを見てみましょう。マイナーはブロックを受け取り、ハッシュ値を計算します。ただし、ネットワークはこのハッシュ値が特定の値未満であることを求めます。ハッシュ値は変更できないはずですが、どうやって条件を満たすのでしょうか?ここで登場するのが「ナンス(nonce)」です。これは「一度だけ使う数値」で、マイナーが計算時にブロックへ追加・変更することで異なるハッシュ値を得ます。マイナーは得られたハッシュ値と難易度ターゲットを比較し、条件を満たさなければナンスを変更して再計算します。この作業を繰り返し、ターゲット値以下のハッシュ値が出るまで何百万回も試行されます。

この作業規模をイメージしやすくするため、次の数字をご覧ください:

115792089237316195423570985008687907853269984665640564039457584007913129639936

これはSHA-256ハッシュで生み出せる組み合わせの総数です。宇宙に存在する星の数の1150億倍にも相当します。

取引チェーンの流れ

ここで、標準的な取引の流れを見てみましょう。たとえばBTCを誰かに送金する場合、まず秘密鍵で取引データに署名し、ネットワークへ送信します。フルノードが取引内容を検証し、問題なければネットワーク上に流通させます。他のノードも検証を行い、未承認取引(メンンプール)に追加します。

マイナーはメンンプールから取引を集め(手数料の高いものを優先)、ブロックにまとめて計算を開始します。誰かのマイナーが問題を解くと、フルノードがその解答をチェックし、正しければマイナーに報酬が与えられます。この時点でブロックは「採掘済み」となり、ブロックチェーンに追加され、その情報が全ネットワーク参加者に共有されます。その後、マイナーは次のブロックの作業に移ります。また、取引を含むブロックの後に新たなブロックが積み重なるほど、その取引の承認レベルも高まります。

簡単に言えば、取引が正当とみなされるには、ネットワーク内の大多数のノードが「そのブロックが正しく計算された」と合意する必要があります。

この仕組みは本当に不可避?

Nakamoto氏以前にも分散型システム構築を目指した人はいましたが、PoWコンセンサスメカニズムを採用したのは彼が初めてでした。これがなければ、送信者がシステムの承認前に同じ資金を二重に使う「二重支払い」問題を解決できません。マイナーはメンンプールから取引を受け取るたびに、二重支払いがないかをチェックしています。

PoWブロックチェーンでは、2人のマイナーが同じブロックを同時に採掘してしまうこともあります。これは悪意によるものではなく、単に計算がほぼ同時に完了し、一方のマイナーが既に採掘済みの情報を受け取るのが遅れた場合などに起こります。この場合、誤ったブロックから分岐した並行チェーンが発生しますが、コンセンサスメカニズムは2つのブロックチェーンを比較し、より長いチェーンを正とみなして誤った「枝」を排除します。

PoWの課題と限界

PoWの最大の課題は、純粋な形ではスケーラビリティが低いことです。たとえばビットコインの処理速度は1秒あたり約7件とされ、これはかなり低い水準です。そのため、ピーク時にはメンンプールがすぐに埋まり、手数料の安い取引は数時間から数日間処理されないこともあります。一見、ブロックサイズを大きくしたり、採掘間隔を短縮すれば処理速度が上がるように思えます。

しかし、ブロックサイズを大きくすると生成に膨大な計算能力が必要となり、結果的に大規模なマイナーやマイニングプールしか残れず、分散性が損なわれます。

処理時間を短縮すると、ネットワークノードが次のブロック出現前に合意形成できなくなるリスクが生じます。その結果、ブロックチェーンの「枝」が増え、二重支払いのリスクも高まります。

これらの課題は「ブロックチェーン・トリレンマ」と呼ばれ、「分散性・セキュリティ・スケーラビリティ」の3要素のうち同時に2つしか満たせないという理論です。PoWの文脈では、ブロックチェーンレイヤーのような仕組みが開発されており、メインシステムの上に重ねることで取引処理速度を向上させています。

さらに、PoWと併用可能な新しいコンセンサスプロトコルも登場しています。たとえばKaspaはPoWをネットワークのセキュリティ手段として使いながら、ブロックをブロックチェーンではなく有向非循環グラフ(DAG)にまとめ、複数のブロックを並行して処理できる仕組みを実現しています。

また、より現実的な問題として、ブロックチェーン全体の計算能力が増すほど計算の複雑さやマイニング時の消費電力も増大します。

Author logo
著者 Patrick Dike-Ndulue

Senior editor covering crypto, onchain equities, and technology.

Author logo
レビュー担当者 Rukkayah Jigam

Writer & editor covering digital assets and product updates.