ブロックチェーン、仮想通貨を本質的に理解するために、専門用語を理解することは大切です。
ブロックチェーンは革新的な技術で、将来的に様々な場面への応用が期待されていますが、仮想通貨を詳しく知ろうとすればするほど専門的な用語が多くなり、初心者には理解が難しくなっていきます。
今回ご紹介する「ナンス」もその用語の一つです。
仮想通貨を調べていくにあたって、1度は聞いたことがあるのではないでしょうか。
本記事では、この「ナンス」について、世界一わかりやすく解説します。
ナンスについて知ることで、仮想通貨への知識をより一層深めましょう。
ナンスとは何か
ナンスとは「number used once」の略称で、その名の通り「一度だけ使う使い捨ての数値」のことを指します。
具体的にビットコインの場合だと、マイニングを行う採掘者(マイナー)がブロックを生成するときに生み出される32ビットの数値です。
仮想通貨はブロックチェーン技術によって成り立っており、マイニングという作業を用いて、取引の履歴を記したブロックを生成しています。
ブロックチェーン技術が仮想通貨の肝と言っても過言ではないので、それを成り立たせるマイニングは非常に重要です。
ナンスはマイニングに必要不可欠な要素なのです。
マイニングとナンスの関係はどうなっているか
この使い捨ての数字であるナンスがいつ利用されるのか、マイニングとの関係などについて説明します。
ナンスは、マイニング時に必要な数値です。
そもそもマイニングとはどのよう仕組みかご存知でしょうか。
マイニングは、ブロックチェーンに新たなブロックを追加する権利を得る為の計算処理の事を指します。
出題された計算問題を一番最初に解いた者が、次のブロックを生成する権利を得られるのです。
このマイニングで解かれる計算問題の答えが「ナンス」です。
つまりマイニングとは、次のブロックを生成する権利を得るために、条件を満たしたナンスを探す計算処理の事を指します。
- ブロック生成のときに一度だけ使う「使い捨ての数値」
- マイニングで解かれる「計算問題の答え」
ナンスの数値は「ハッシュ値が一定以下の数値を示す」という条件を満たす必要があります。
例:「ビットコイン」という文字をMD5という種類のハッシュ関数を用いて変換すると
「a6b51279389bb33e4503837cd4f5da63」となる。
ハッシュの詳しい解説はこちらの記事を読んでください。
新しいブロックデータは、「ナンス値+今回の取引データ値+前回のハッシュ値」という式で成り立っています。
前回のハッシュ値・今回の取引データ値は変更できないので、ブロックデータのハッシュ値が一定以下の数値になるようにナンスを求める必要があるのです。
例えば、先ほどの「a6b51279389bb33e4503837cd4f5da63」のデータが、「00000000000bb33e4503837cd4f5da63」という値になるようなナンスを求めよ。
というような計算を求められます。
この値になるような文字列をひたすら探す作業がマイニングなのです。
ナンスはどのように役立っているか
ナンスはブロックチェーンの改ざんを防ぐ上で欠かせません。
ブロックチェーン上では、新しいブロックに「前回のブロックデータのハッシュ値」が盛り込まれているので、ブロックチェーンデータを改ざんすると次のブロックの数値も変わり、その次のブロックも変わり……と連鎖式に変化が起きます。
そのため、改ざんが容易に見つかります。
改ざんをバレないようにするには、ナンスを再計算してブロックデータのハッシュ値を同じにしなければなりません。
しかし、ナンスは非常に膨大な計算から導き出される数値であり、新たなナンスを見つける労力は計り知れません。
ナンスの再計算中にも新たなブロックはどんどん生成されますので、改ざんをバレずに行うことはほぼ不可能なのです。
ナンスのまとめ
ナンスはマイニングにおいて非常に重要な要素であることをおわかりいただけたでしょうか。
仮想通貨はブロックチェーン技術で成り立っているからこそ、信頼性が保証されています。
そのブロックチェーンを繋げるために必要なのがマイニングで、そのマイニングはナンスを求めていると考えると、ナンスはとても重要です。
ナンスという言葉を知っておけば、仮想通貨の細かい仕組みまでしっかり理解できます。
ナンスを一度で理解するのは難しいかもしれませんが、何度も繰り返し出てくる言葉なので、覚えておくようにしてくださいね。
コメントを残す