Proof of Capacity(PoC)とは何か?ストレージ活用型ブロックチェーンの仕組みと実装事例(Burstcoin/Chia)

Proof of Capacity(PoC)とは何か — 概要と位置づけ

Proof of Capacity(以下 PoC)は、ブロックチェーンのコンセンサスアルゴリズムの一種で、計算資源(CPUやGPU)ではなく「記憶容量(ストレージ)」を主な資源として利用する方式です。従来のProof of Work(PoW)が電力消費の大きいハッシュ計算を繰り返すのに対し、PoCは事前にディスク上に大きなデータ(プロット)を生成して保存し、ブロック生成時にそのデータを読み出して「解」を探すことでブロック当選権を競います。エネルギー効率の高さや専用ASICに依存しにくい点で注目されてきました。

基本的な仕組み(プロット作成とブロック生成)

PoCの基本は「プロット(plot)作成」と「そのプロットの参照」に分けられます。一般的な流れを概念的に説明します。

  • プロット作成(Plotting):マイナー(ファーマー)はCPUやその他の計算資源を用いて、非可逆的なハッシュ操作などによって大量のデータ(プロットファイル)を生成し、HDD/SSDなどに保存します。プロット作成は一度行えばいいが、作成には時間と一時的な計算・I/O負荷がかかります。
  • チャレンジ受信:ブロックチェーンネットワークが発行するチャレンジ(例:前ブロックの生成シグネチャやランダム値)を各ノードが受け取ります。
  • プロット参照(Mining/Farming):各ファーマーは受け取ったチャレンジに基づき、自分のディスク上のプロットを高速に走査して「最良の応答」(例えば最小のデッドライン、最小のハッシュ値など)を探します。プロットを事前に作成してあるため、この走査はPoWでの膨大なハッシュ試行より遥かに低い演算量で済みます。
  • ブロック提出と検証:見つけた最良解をブロック生成に使い、ブロックが提出されるとネットワークの他ノードはその解がプロットとチャレンジに対して正しいかどうかを検証します。検証は比較的軽量です。

主な実装例とその違い

PoCという概念は複数プロジェクトで採用・発展しています。代表的なものに Burstcoin(初期のPoC実装)と、より最近のアプローチである Chia(Proof of Space and Time)があります。

  • Burstcoin:初期のPoC実装で、プロットに「スコープ(scoop)」という単位でデータを保存し、チャレンジに基づいて最小の「デッドライン」を選ぶ方式を採りました。プロットは一度作れば長期間利用できる点が特徴です。
  • Chia:厳密には「Proof of Space and Time」を採用し、Proof of Space(PoS: here meaning空き領域を証明)と時間の概念(VDFなど)を組み合わせることで、グラインディング攻撃や短時間での連続的ブロック支配を防ぐ設計を取り入れています。Chiaでは「plotting(プロット作成)」と「farming(ファーミング)」という用語が使われます。

PoCの利点

  • エネルギー効率の向上:継続的に大量のハッシュ計算を行うPoWに比べ、プロット作成後は単にディスク読み出しを行うだけのため消費電力が低く抑えられます。
  • 一般的なハードウェアで参入可能:GPUや専用ASICがなくても、一般的なHDD/SSDで参加できるため参入障壁が相対的に低い(ただし大容量が必要)。
  • 検証が軽量:ブロック検証はプロットの該当部分を検証するのみで、ノード側の負担が比較的小さいです。

注意点とリスク(デメリット)

利点がある一方で、PoCには以下のような課題やリスクがあります。

  • ストレージ需要の増加:ネットワーク全体で大量のディスク容量が必要になり、HDD・SSDの需要が高まる可能性があります。これが製造や廃棄を通じた環境負荷を生む懸念があります。
  • プロット作成の集中化:一見ASIC耐性があるものの、プロット作成や最適化技術で優位に立つプレイヤーが出現し、結果的に集中化が進む可能性があります(大規模ストレージファームなど)。
  • ディスク寿命とI/O負荷:プロット作成時や読み出し時のI/Oがディスクに負担をかけ、特にSSDでは寿命に影響することがあります。
  • セキュリティ上の新たな脅威:単純に空き容量を偽装する攻撃、プロットの再利用や複製による不正参加、チャレンジの予測を狙うグラインディング等、PoWとは異なる攻撃ベクトルが存在します。これらに対し、プロジェクトごとに防御策(プロットを公開鍵と紐付ける、時間証明を加える等)が実装されています。

Proof of Capacity と似た概念との違い

  • Proof of Space(PoSpace):用語の使われ方にばらつきがありますが、一般にProof of Spaceは「一定量のディスクスペースを確保していることを示す」概念です。PoCはその具体実装の一つと捉えることができます。
  • Proof of Space and Time(PoST):Chiaが採用する方式で、単なる空き容量の証明に加えて「時間の経過」を証明する仕組み(VDFなど)を加えたもの。これにより短期間でのブロック独占を防ぎます。
  • Proof of Storage / Proof of Retrievability:これらは主にデータが確実に保存・取り出せることを検証するためのプロトコルで、ブロック生成のための資源競争としてのPoCとは用途が異なります。

実運用面での考慮点

PoCチェーンに参加する場合、いくつかの運用上のポイントがあります。

  • プロットの作成時間と最適化:プロット作成は一度に多数のCPU・I/Oリソースを消費します。作成プロセスを最適化するツールや並列化戦略が重要です。
  • ストレージの選択:HDDは容量単価が安く向く一方、SSDはプロット作成時の高速書き込み・読み出しに利点があります。寿命とコストのバランスを考慮する必要があります。
  • セキュリティとバックアップ:プロットは所有権証明と結びつけられることが多く、キー管理やプロットのバックアップ・移行方法を慎重に設計すべきです。
  • 収益性の評価:PoWのように電力コストとは異なるコスト(ストレージ投資・プロット作成コスト)が主になるため、ROIの計算方法が変わります。ネットワークのハッシュ(容量)競争状況やコイン報酬設計を注視する必要があります。

将来展望と研究課題

PoCやProof of Space系の研究は進行中で、以下のような課題が研究テーマとなっています。

  • 集中化と公平性の改善:大規模ストレージ事業者による支配を防ぐ設計や、家庭用ストレージでも公平に参加できる仕組み。
  • 環境影響の正確な評価:単純な消費電力比較だけでなく、生産・廃棄を含むライフサイクルでの環境負荷評価。
  • 攻撃耐性の強化:プロット偽装、複製、チャレンジ予測などに対する理論的・実装的対策。
  • ストレージ技術の進化との整合性:将来のストレージデバイス(高耐久SSD、分散ストレージなど)との相性や最適化。

まとめ

Proof of Capacityは、従来の高電力消費型PoWに替わる選択肢として注目される一方、ストレージ需要増加や集中化、異なる攻撃ベクトルなど独自の課題を抱えます。各プロジェクトはこれらの課題に対し様々な工夫(プロットと公開鍵の結び付け、時間証明の導入、プロット作成のコスト設計など)を行っており、将来的にはブロックチェーンの多様化の一端を担う技術として発展が期待されます。

参考文献