ブロックチェーンの基礎(1回目) ブロックチェーンのデータ構造
こんにちは。
このブログでは、ブロックチェーン関連を中心としたテック系の情報の紹介をしております。
今回から、「ブロックチェーンの基礎」と題しまして、もう一度ブロックチェーンの基本的な内容を自分なりに少しずつ整理してみようと思います。
長編になるかもしれませんが、お付き合い頂ければと思います。
また、これからブロックチェーンの勉強を始めてみよう、という方の参考になれば幸いです。
1回目ということで。
そもそもブロックチェーンってなんなの?というところから整理していこうと思います。
ブロックチェーンはデータのかたまり(ブロック)が連なった(チェーン)もの
今世の中で「ブロックチェーン」と言うと、ブロックチェーン=ビットコインのような仮想通貨なイメージが強いですよね。
ブロックチェーンは仮想通貨のシステムを支える技術的な一つの要素で、ブロックチェーン=仮想通貨ではありません。
では、ブロックチェーンとは?と問われた場合、私は「データ構造の一種」と考えるようにしています。
ブロックチェーンは↓の様にデータを格納するかたまり(ブロック)が連なった(チェーン)様なデータ構造を持っています。
読んで字のごとく、かたまりが連なったデータ構造をしているので、ブロックチェーンと呼ばれているのです。
ブロックチェーンのデータ構造
では、このデータ構造の中身はどうなっているのかと言うと、↓の様になっています。
ブロックの中身は「ヘッダ情報」と「取引情報」の大きく2つに別れています。
ヘッダ情報には、「直前のブロックのヘッダ情報をハッシュ値にしたもの」、「取引情報全体をハッシュ値にしたもの」、「NONCE値(ナンス値)」が含まれています。
取引情報には、例えば「AさんからBさんへ○○コイン送金」の様な仮想通貨の取引情報が、一定の時間(ビットコインの場合10分)分記録されています。
NONCE値はブロックをブロックチェーンへ書き込む権利を得るために利用されます。
このNONCE値を含んだヘッダ情報全体のハッシュ値の先頭に、決まった数の0が並ぶ様なNONCE値になる必要があります。
このNONCE値を算出するためには膨大な量の計算を行う必要があり、最初にNONCE値を算出した参加者がこのブロックをブロックチェーンに追加する権利を得て、報酬としてブロックチェーンの一部を受け取ることになっています。
全てのブロックには直前のブロックをハッシュ値にした情報が含まれています。
つまり、全てのブロックが前のブロックの関連を持ち、鎖の様に連なったデータ構造をもっているためにブロックチェーンと呼ばれているのです。
今回はブロックチェーンのデータ構造について簡単に整理してみました。
今回はビットコインのデータ構造を例にしています。
ビットコインの他にも色々な仮想通貨がありますが、基本的な構造は同じ様なものと思います。
この説明だけではよくわからない部分も多いと思いますが汗
少しずつこの記事もわかりやすく更新していけたらと考えています。
次回はこのブロックチェーンを利用した「分散型台帳」についてお話ししていこうと思います。
おわり。
この記事が気に入ったらサポートをしてみませんか?