ブロックチェーンでは、ビットコインにおいては取引の記録を「ブロック」と呼ばれる記録の塊に格納する。生成されたブロックが、時系列の順番で連結されていくデータ構造が、ブロックチェーンと呼ばれる理由である。一つのブロックの中には、代表的以下の値がで構成されている。 (1)一定期間ごとの取引データのハッシュ(マークルルート) (2)前ブロックのハッシュ (3)ナンス値と呼ばれる任意の数値 ●取引(格納)データ 取引データとは文字通り、ビットコインにおいては、利用されるブロックチェーンのある特定の取引に関する情報の固まりのことである。ビットコイン・ブロックチェーンの場合、取引データには、送金額などの取引情報が含まれる。ブロックは10分間に1回の頻度で生成され、この間の取引データがブロックに格納される。ブロックチェーンをチェーン状の形を構成するのブロックには、実際に取引データは格納されていない。その代わりそのデータのハッシュを格納している。このブロックのハッシュ値をブロックチェーンのデータ構造では、マークルルートとして格納している。ここではこれを「実データのハッシュ」と呼ぶ。 ●前ブロックのハッシュ値 ハッシュ値とは、元となるデータから一定の計算方法によって求められる規則性のない固定長の値のことを指す。元のデータからハッシュ値を求める操作のことをハッシュ関数と呼ぶ。ハッシュ関数は、同じデータからは必ず同じハッシュ値が得られるが、少しでも異なるデータからはまったく異なるハッシュ値が得られる仕組みになっている。 ●ナンス値 ナンス値とは、「number used once」の略称であり、使い捨ての数字のことを意味する。ナンス値自体には特段の意味はないものの、ブロックチェーンの場合、ナンス値に応じて、後続するブロックで使用するハッシュ値が変化する点が重要である。ブロック全体のデータ構造は、「取引データ」+「前ブロックのハッシュ値」+「ナンス値」から構成されるが、このうち、「取引データ」+「前ブロックのハッシュ値」の部分はすでに決定しているため、後続するブロックに使用するハッシュ値を決定するために変化させることができる要素は、ナンス値のみとなる。 新規のブロックを追加できる条件として、「ブロックのハッシュ値が一定の条件(※ハッシュ値の最初に一定以上のゼロが続くこと)を満たすものになる