プルーフ・オブ・ワーク / proof of work

  • 日:プルーフ・オブ・ワーク
  • 英:proof of work, PoW

通常、カタカナでそのまま表記されますが、あえて訳すなら「仕事量による証明」。悪意のあるハッキング等によるコイン偽造を防ぐためのもので、偽造するためにはより多くの「仕事量」を費やさなければなりません。

プルーフ・オブ・ワークとは、各取引を認証するために算出しなければならないデータまたはそのようなシステムのことです。ビットコインをはじめとするほとんどの暗号通貨では、プルーフ・オブ・ワークを計算する手段としてハッシュ関数が用いられています。

実際の取引の承認作業を説明しましょう。まず、ビットコインの各取引単位(ブロック)には送金額や送信者等の取引情報のほかに、nonceと呼ばれるランダムな変数が含まれなければなりません。ビットコインにおけるプルーフ・オブ・ワークは、一定回数の「0」の連続から始まるハッシュ値(0が一定の回数続けば残りのデータは任意)であり、取引の承認とは、総当たり式にnonceを増加させることによりハッシュ計算からプルーフ・オブ・ワークを求めることです。正しいnonceを見つけること、とも言えます。ハッシュ値から元の値を計算することはできないので、総当たりに計算する必要があるのです。

なお、承認者はこのnonceの発見の報酬としてコインがもらえるため、承認者のことを採掘者(マイナー)、承認作業のことを採掘(マイニング)とも呼びます。

ビットコインでは、コインの偽造を防ぐため、この計算に約10分かかるように設定されています。ビットコインにおけるコインの偽造とは、つまり取引データを改ざんすることなので、求めなければならないプルーフ・オブ・ワークも変わり、再計算が必要になります。ここで重要なのが、ブロックに過去の取引データも含まれているということとブロックチェーンの考え方です。つまり、仮に取引データを改ざんしようとすると、その後行われた取引データ(ブロック)も再計算しなければなりません。現実的には「悪意のある」攻撃者、偽造者の他に多数の「善良な」計算者がいるため、再計算速度が新たな取引承認の計算速度においつけないため、偽造は非常に難しくなります。

このようにプルーフ・オブ・ワークはビットコインにおけるセキュリティの根幹ともいえる役割を果たしています。

最終更新日: 2015年12月12日

コメント欄

ゲスト(匿名)としての投稿の場合は、任意のメールアドレス(非公開、123@456.com等ランダムな文字列でも可)の入力も可能です。SNS等を利用してログインした場合には、自分の投稿を編集することができます。

現在、情報提供のコメントや間違いのご指摘コメントに対して独自トークンをお送りする実験企画を実施中です。企画に参加したい場合は、コメントの最後に送付を希望するCounterpartyなどのアドレスを書いてください。(プライバシー保護のため送付後にコメント内のアドレスは削除させていただきます。)

comments powered by Disqus