あたらしいブロックチェーン6

 ブロックチェーンでは、ビットコインにおいては取引の記録を「ブロック」と呼ばれる記録の塊に格納する。生成されたブロックが、時系列の順番で連結されていくデータ構造が、ブロックチェーンと呼ばれる理由である。一つのブロックの中には、代表的以下の値がで構成されている。

(1)一定期間ごとの取引データのハッシュ(マークルルート)

(2)前ブロックのハッシュ

(3)ナンス値と呼ばれる任意の数値


●取引(格納)データ

取引データとは文字通り、ビットコインにおいては、利用されるブロックチェーンのある特定の取引に関する情報の固まりのことである。ビットコイン・ブロックチェーンの場合、取引データには、送金額などの取引情報が含まれる。ブロックは10分間に1回の頻度で生成され、この間の取引データがブロックに格納される。ブロックチェーンをチェーン状の形を構成するのブロックには、実際に取引データは格納されていない。その代わりそのデータのハッシュを格納している。このブロックのハッシュ値をブロックチェーンのデータ構造では、マークルルートとして格納している。ここではこれを「実データのハッシュ」と呼ぶ。

●前ブロックのハッシュ値

ハッシュ値とは、元となるデータから一定の計算方法によって求められる規則性のない固定長の値のことを指す。元のデータからハッシュ値を求める操作のことをハッシュ関数と呼ぶ。ハッシュ関数は、同じデータからは必ず同じハッシュ値が得られるが、少しでも異なるデータからはまったく異なるハッシュ値が得られる仕組みになっている。

●ナンス値

ナンス値とは、「number used once」の略称であり、使い捨ての数字のことを意味する。ナンス値自体には特段の意味はないものの、ブロックチェーンの場合、ナンス値に応じて、後続するブロックで使用するハッシュ値が変化する点が重要である。ブロック全体のデータ構造は、「取引データ」+「前ブロックのハッシュ値」+「ナンス値」から構成されるが、このうち、「取引データ」+「前ブロックのハッシュ値」の部分はすでに決定しているため、後続するブロックに使用するハッシュ値を決定するために変化させることができる要素は、ナンス値のみとなる。

新規のブロックを追加できる条件として、「ブロックのハッシュ値が一定の条件(※ハッシュ値の最初に一定以上のゼロが続くこと)を満たすものになることが必要」というルールが定められており、新規のブロックを追加するためには、この条件を満たすハッシュ値を生成するようなナンス値を見つけ出す必要がある。


■2個のハッシュ値(あたらしいブロックチェーンの特徴)

チェーン型のデータ構造を構成するために「前ブロックのハッシュ」が格納されている。1次元の線状の現行のブロックチェーンには、データ構造構成のための「前ブロックのハッシュ」は1つである。あたらしいブロックチェーンは、連結する前ブロックは複数あるため「前世代のブロックのハッシュ」となる。

本件は、この「前世代のブロックのハッシュ」を複数(2個)格納し、1次元でなく網状の2次元の構成と実現する。この2次元のデータ構造をジェネシスブロックを複数円状に利用し3次元のチューブ状のデータ構造を実現している。類似例として「前ブロックのハッシュ」と「自ブロックのハッシュ」を格納する例は既知の特許確認している。本件の相違点は、「前ブロックのハッシュ」(「前世代のブロックのハッシュ」)を複数件(2個)格納している点が異なる。このハッシュは、「自ブロックのハッシュ」ではない。含まない。


網状のデータ構造に対して、取引データが接続されている。




コメント

このブログの人気の投稿

アマチュア無線で利用する1.8Mhz のアンテナ作成に挑戦

発言の仕方には気をつけよう

コーディング用フォント