- ナンス (nonce) とは1度限りに使用される番号(数値)のことである
- ブロックチェーンのシステムを構築1つの要素がナンス (nonce) である
- マイニングとはナンス (nonce) 探しである
ブロックチェーンへの見地をより深めるとなると、多くの専門用語に遭遇し、ハッシュ値、ナンスなどを理解していく必要があります。
そうした専門用語へのアプローチとして、ブロックチェーンの体系を分類分けし、どういった作業の上に成り立っているかを理解しましょう。用語本来の意味の理解ができれば、ナンスなどの専門用語への理解は容易となります。
ナンス (nonce) とは
ナンス (nonce) は「Number used once」の略語
ナンス (nonce) とは、「Number used once」の略語で、「Number used once」を直訳すると「1度限りに使用される番号(数値)」となります。
この「1度限り使用される番号(数値)」という意味は、ナンス (nonce) を理解する上で非常に重要なもので、ナンス (nonce) はワンタイムトークンとも言われ、リクエストが正当なものであるかどうかを見極めるためのものとして、マイニングの際に使用されています。
ナンス (nonce)とブロックチェーンの関係
ナンス (nonce)はブロックチェーンのシステムの中の1つ
ナンス (nonce)は、ブロックチェーン上で、マイナーが新しいブロックを追加する際に生成する数値で、ビットコインのブロックチェーン上では32ビットの数値となります。
マイニングは取引の整合性をマイナーと呼ばれる人たちが行う承認作業のことであり、新たに追加されるブロックを過去のブロックとチェーン状に繋いでいく作業でもあります。
新たなブロックを追加し繋ぐ権利を得るマイナーの選定には、ナンス (nonce) 変えるたびに変更する先頭に0が任意に設定された個数以上並ぶハッシュ値を最も早く見つけ出すことが必要となります。
このハッシュ値の生成には、過去全てのトランザクションデータがまとめられ、暗号化されたハッシュに、新たにブロックに含めるトランザクションデータ、そしてナンス (nonce)を加えることが求められます。
つまり、ナンス (nonce) は、ブロックチェーンのシステムの中の1つという関係にあるということです。
ブロックチェーンの仕組み
ブロックチェーンとは非中央集権体制の管理システム
ブロックチェーンは、台帳と呼ばれるブロックにトランザクションデータが書き込まれていき、そのブロックをマイニングという承認作業を経てチェーン状に繋がれることで成り立つシステムのことです。
このブロックチェーンにおけるマイニングという作業過程が含まれることで、中央管理者が存在しなくとも不正なく取引が行われることを可能にしており、トークンという価値あるものを非中央集権な管理の元、保持できます。
つまり、ブロックチェーンと仮想通貨はイコールの関係ではなく、ブロックチェーンの技術は仮想通貨以外にも、製造や保険などの、これまで中央集権で管理していた体系を非中央集権化の元で、不正なく管理できるという可能性があり、多くの分野で既に実装されています。
マイニングとナンス (nonce) の関係
マイニング=ナンス (nonce) 探し
ナンス (nonce) は、ブロックチェーンのシステムを構築する1つの要素です。
ブロックチェーンにおけるマイニングとは、ナンス (nonce) の他に、過去のトランザクションデータや新ブロックに含めるトランザクションデータを用いて、ハッシュ値を探す作業であり、条件を満たすハッシュ値を探すには、ナンス (nonce) をひたすら代入することが必要となります。
つまり、ナンス (nonce) が変わればハッシュ値も変わることを考えると、マイニングとは、ハッシュ値の条件を満たすナンス (nonce)を誰が一番早く見つけ出すことができるかを競う作業と言うことができます。
ナンス (nonce) まとめ
ナンス (nonce) などの用語は、一見聞き覚えがなく、難しい専門用語のように捉えられがちですが、ブロックチェーンのシステムとマイニング過程を理解しておくことができれば、そう難しいものではありません。
ナンス (nonce) を探すことがマイニングであるということは、ナンス (nonce) の持つ「1度限りに使用される番号(数値)」という性質が関係しています。