ナンス とは

ナンスとは、Number used once (ナンバー・ユーズド・ワンス:一度だけ使用される数字)の略で、ブロックチェーン上に新たなブロックを追加する際に生成する、32ビットの数値のことです。

 

仮想通貨の新規発行や取引内容の検証・承認は、コンピュータを用いた計算によって行われています。

この計算作業は採掘(マイニング)とよばれ、マイニングをする参加者のことをマイナーといいます。

マイニングでは、ブロックチェーンにブロックを追加するときに必要な「ハッシュ値(ハッシュ)」を求めるための計算が行われますが、そのハッシュ値を見つけ出すのに用いられるのが「ナンス(nonce)」です。

 

ハッシュとは、ハッシュ関数を使った暗号技術のことで、データを文字列に置き換えることができます。

変換元のデータが同じ場合は生成される文字列に変化がない一方で、元データが少しでも異なると、生成されるハッシュ値が大きく変化するという特徴があります。

加えて、ハッシュ値から元データを特定するのはほぼ不可能です。

 

ナンスを用いてハッシュ値を求める際には、ナンスの値を何回も変更して「特定の値以下」のハッシュ値が生成できるまで、何度も計算を繰り返します。

正解のナンスを探し出し、ハッシュ値を導きだすと、ほかのマイナーや参加者達による確認作業が行われます。

そして、チェックが終わり、ナンスが承認されるとブロックチェーンにブロックが繋げられます。また、ブロックが繋がれる際にナンスのデータも同時に埋め込まれます。

 

ハッシュ値を求めるこの計算作業は非常に困難で、膨大な計算量と大量のコンピュータが必要です。

仮想通貨が生まれた頃はマイニングに必要な計算量や難易度、設備にかかるコストも易しいものでしたが、仮想通貨が普及した現在では、計算も複雑になり、マイニングに必要なコンピュータや稼働のコストが大きくなっています。

しかし、仮想通貨のシステムを維持する上では情報の保護性が高い仕組みは非常に重要で、ナンスを用いたこの方法も正確性を担保するのに資する仕組みです。