ナンス(nonce)

ビットコインや暗号資産に関する、お役立ち用語をわかりやすくご紹介!

ナンス(nonce)は「Number used once」の略で、日本語に訳すと「一度だけ使用される数字」という意味です。暗号資産のマイニング(採掘)では、このナンス(nonce)と呼ばれる32ビットの値をハッシュ関数という複雑な数式に代入して計算し、答え(ハッシュ値)を算出します。このハッシュ値は一定の条件を満たした場合にのみ正当とされ、新しいブロックがブロックチェーンに追加されます。正当なハッシュ値とそのハッシュ値を導くためのナンス(nonce)を最初に見つけたものがマイニングの成功者となり、報酬として新たに発行される通貨を受取る仕組みになっています。

ナンス(nonce)とハッシュ値

ナンス(nonce)とハッシュ値はブロックチェーンを繋いでいく為に必要不可欠な要素です。ブロックの中には、取引履歴と前のブロックのハッシュ値が格納される仕組みになっています。よって、次のブロックを生成するためには現在のブロックのハッシュ値が必ず必要になるのです。そして、現在のブロックのハッシュ値を導き出すためには、ハッシュ関数にナンス(nonce)を代入し続け、一定の条件を満たすことが必要になります。正しいナンス(nonce)が見つかり、正当なハッシュ値が算出されると、現在のブロックにそのナンス(nonce)も追加されて1つのブロックが完結します。そして、算出されたハッシュ値と取引履歴が含まれた新しいブロックが生成されるという仕組みになっています。

ビットコイン(bitcoin)におけるナンス(nonce)とマイニング(採掘)

ビットコイン(bitcoin)ではマイニング(採掘)にPoW(Proof of Work)という方式を採用しています。PoW(Proof of Work)はハッシュ関数にひたすらナンス(nonce)を代入し続けて演算を繰り返し、正当なハッシュ値を探すという方式です。不正に強いというメリットがありますが、マイニングマシンは演算を繰り返し続けるので、マイニング(採掘)を行うかぎり電気を使用することになるというデメリットもあります。一方アルトコインの中には、通貨保有量が多いほどマイニング(採掘)の権限を与えられやすくなるPoS(Proof of Stake)を採用するものや、マイニング(採掘)の権限を持つものを予め指定しておくPoC(Proof of Consensus)を採用するものなどもあります。