ブロックチェーンの要「proof of work」

これは仮想通貨を始めるにあたって知らなくても困らない知識ですが、ブロックチェーンについて詳しく知っておきたいという方の為にご説明します。
少し難しい話になるので知らなくても大丈夫という方は読み飛ばしてください。

まず「proof of work」とは各取引を認証するために算出しなければならないデータまたはそのようなシステムのことをいいます。日本語訳は「仕事量による証明」です。
目的としては、悪意のあるハッキング等によるコインの偽造を防ぐためのもので偽造するには膨大な仕事量を費やさなければなりません。

「proof of work」の仕組み

ほとんどの通貨では計算する手段としてハッシュ関数というものを用いています。
ここでは代表的なビットコインを例に挙げて説明します。proof of work だとわかりにくくなるので、仕事量による証明という日本語訳で説明していきます。

ビットコインの各取引単位(ブロック)には送金額や送信者などの各取引情報のほかに「nonce」と呼ばれるランダムな変数が含まれなければなりません。
ビットコインにおける仕事量による証明は、一定回数の「0」から始まるハッシュ値であり、取引の承認とはnonceを総当たり式に増加させることによりハッシュ計算から仕事量による証明を求めることをいいます。
なれない言葉ばかりで分かりにくいかもしれませんが要約すると、ビットコインのブロックに含まれるnonceの正しい値を見つけるということです。

「nonce」を見つける仕事「マイナー」

ビットコインにはnonceを発見する仕事をする「マイナー」と呼ばれる職業があり、マイナーは膨大な電力を必要とするスーパーコンピューターを使ってnonceを見つけ出し、その報酬としてビットコインがマイナーのもとに入ります。ビットコインでは、コインの偽造を防ぐためにスーパーコンピューターでもこの計算に約10分はかかるように設定されています。

ビットコインにおけるコインの偽造とは、つまり取引データを改ざんするということなので、仮にコインを偽造しようとした場合、求めなければいけない仕事量による証明も変わり、再計算が必要になる。その上重要なのが、ビットコインのブロックには過去の取引データも含まれているため、その後行われた取引データも再計算しなければならないということです。
これにはかなりの知識と労力が必要になる上に、スーパーコンピューターの費用やそれを使って計算する膨大な電力、つまり電気代がかかるというリスクを負わなければなりません。
そこまでのリスクを冒しても成功する確率は限りなく低いと言えるでしょう。

実際に「悪意のある偽造者」のほかに多くの「善良なマイナー」がいるため、偽造者の再計算速度が新たな取引認証の速度に追いつくのは非常に困難です。大きなリスクを冒し悪意を持って偽造するよりも、自分の知識を生かして「マイナー」になり報酬としてビットコインをもらうほうが遥かに現実的なのです。

おすすめの記事