こんにちはゆんです。
こんな方におすすめの記事です。
・ブロックチェーンは取引データが記録される台帳のようなもの
・ひとつ前のブロック情報も含んでいるからチェーン状になる
・改ざんが非常に難しいのであらゆるデータ管理に適している

それではどうぞ!
ブロックチェーンの概要
ブロックチェーンは「分散型台帳」といわれますが、あんまりピンと来ませんよね。
まずは全体のイメージとしてこんな図を見てください。

これらのブロックデータをいろんな人がパソコンやスマホで見れる(管理される)ということから、「分散型台帳」と言われています。
ではこのブロックの中身を少し詳しく見ていきましょう。
ブロックとは?
ブロックが台帳の役割を示すデータとなっています。ブロックの形をしているのはあくまでイメージで、実際は文字列のコードです。
ブロック内には「ブロックヘッダ」と「トランザクションのリスト」の2つによって構成されています。

ブロックヘッダには下記の情報が入っています。

・version:ブロックヘッダーのバージョン
・Previous block hash:ひとつ前に作られたブロックのブロックヘッダのハッシュ値
・Merkle root:マークルルートのハッシュ値
・Time stamp:ブロックを生成したときの日付時刻
・Difficulty target:ブロックを生成した時の難易度
・Nonce:ナンス
また、トランザクションリストには下記の情報が入っています。
・Hash:ハッシュ値
・Transaction:データ取引の記録

まとめるとこんな感じです。

これらの意味については後で説明します。
とりあえずこの段階ではブロックにはタイトルのような情報が入っていて、ひとつ前の情報や今回取引したデータも記録されるものだと思っておいてください。
ちなみに、ビットコインの取引が完了するまでに10分ほどかかるのは、ブロックの生成に10分ほどかかるためです。
ハッシュ値とは?
ハッシュ値とはそのブロック固有の値と考えてください。
ではなぜ不正が行なわれにくいのでしょうか?それはこのハッシュ値という各取引固有のデータが、後続ブロックヘッダー内のハッシュ値と一致しているからです。
また、トランザクションリストにあるハッシュ値はどのように求められるのかというと、ハッシュ関数という数式を何回も使って、1つの値になるまで繰り返し計算します。
ハッシュ関数とは?
ハッシュ関数とはハッシュ値を求めるための関数を指します。
具体的な数式は割愛しますが、下記のような種類があります。
SHA-256(Secure Hash Algorithm 256-bit)
アメリカ国家安全保障局(NSA)が設計
2001年にアメリカ国立標準技術局(NIST)が標準として採用
SHA-2規格に属する
RIPEMD-160(RACE Integrity Primitives Evaluation Message Digest)
1996年、ベルギーにあるルーヴェンカトリック大学の3人が開発した関数です。
元々128ビット(16バイト)から160ビット(20バイト)へのハッシュ値生成を拡張したものです。
※ビットコインブロックチェーンではhash256とhash160の二度掛け(ダブルハッシュ)している(ちなみにSHA-256→ SHA-256→RIPEMD-160の順番で計算されます。)
※ハッシュ値が被る可能性は0に近い
トランザクションとは?
トランザクションとは取引データのことを指します。たとえばビットコインだとコインの移動を記録しているデータのことです。
マークルツリー構造によってブロック内のトランザクションデータは1つのハッシュ値になるまで計算を繰り返す。
UTXO(Unspent Transaction Output)
アンペントトランザクションアウトプット
未使用のアウトプット。たとえば自分がいくらお金を持っているのか知りたい場合は、各ブロック内で使われていないトランザクションUTXOを合計すればいいのです。
ジェネシスブロック
ブロックチェーンの1番最初のブロック
トランザクション最初の一個目をジェネレーショントランザクションという
ちなみにビットコインブロックチェーンの最初のトランザクション(ジェネレーショントランザクション)には「The TIMES 03/Jan/2009 Chancellor on brink of second bailout for banks.」(タイムズ紙 2009年1月3日 二度目となる銀行への救済処置決定の瀬戸際にいる大臣)という文章が記載されています。
ビットコイン考案者のサトシ・ナカモトによって埋め込まれたメッセージで、それ以前にビットコインが存在しない証明になります。
マイニングとは?
ブロック生成することをマイニング(mining)と呼びます。
英語でマイニングとは採掘することを意味します。
たとえばビットコインを例にとると、ブロック生成することができれば、ビットコイン報酬がもらえます。
そのため採掘して金を掘り当てるようなイメージからマイニングと呼ばれます。
なお、報酬としてのビットコインのことをコインベースといいます。
ちなみに21万ブロックまでの生成では報酬50ビットコイン、その後21万ブロックごとに25ビットコイン、12.5ビットコインというように報酬は半減していきます。
ビットコイン2100万枚発行に達した時点で新規ビットコインの発行は終了となります。数に限りがある点でも金(ゴールド)と非常に似ていますね。
また、マイニングする人をマイナーと呼び、高スペックなパソコンを使ってマイニングするため、一般人がマイニング報酬を受け取るのは非常に困難です。
ナンスとは?
ナンス(Nonce)とはNumber used once(一度だけ使用される使い捨ての数字)の略で、上記のハッシュ値を求めるために必要なデータです。
少し細かい説明になりますが、ナンスをハッシュ関数に代入してハッシュ値を算出します。このハッシュ値がある決まった値より小さければブロック生成成功となります。
ただ、ナンスを何回も代入して計算を繰り返さないといけないので、高スペックパソコンやかなりの電力が必要になります。
そのため個人でマイニングすることは難しいとされてます。
公開鍵と秘密鍵とは?

公開鍵は対象データを暗号化するときに使うデータで、秘密鍵は受け取った側がその暗号を元に戻す(復号化する)時に必要なデータです。
「鍵」といっても単なる数値データ(a,b,p,q)です。受取側しかしらない秘密鍵(p,q)を使って復号することができます。
もし公開鍵(a,b)を盗まれても秘密鍵の情報を知らないと復号できない仕組みになっており、その仕組みというのは剰余計算をベースにした計算式が使われています。
フォークとは?
後続ブロックが枝分かれした状態をフォークといいます。

さらに踏み込んだ内容になりますが、フォークには3パターンあります。
①一時的なフォーク

一時的なフォークとは、ほぼ同時に新ブロックの生成に成功したときに枝分かれしますが、後に長くなったものだけが残るパターンです。
②ソフトフォーク

ソフトフォークとは旧仕様のブロックが新仕様のブロックに負けるパターンです。
③ハードフォーク

複数の新仕様ブロックが並列して残るパターンがこのハードフォークです。枝分かれしたままになり、たとえば新ビットコインとビットコインキャッシュのように分かれた事例があります。
アドレスとは?
26文字〜35文字のアルファベット及び数字からなる文字列を指します。先頭は1もしくは3で始まります。
1始まり→P2PKH(Pay-to-PubkeyHash)公開鍵暗号技術をつかった所有者の証明
3始まり→P2SH(Pay-to-script-hash)プログラミング言語をつかった所有者の証明
これらはBase58という形式で表記されます。
Base58:アルファベット52文字、0〜9、+と−合計64文字から、間違えやすい0とO、Iと lを除いた58文字
アドレスは使い捨てで、トランザクションごとに新規のアドレス生成が行われます。(おつりの場合も)
とお思いの方がいらっしゃるかもしれませんが、BIP32階層決定性ウォレットによって解決しており、大本のマスターシードのみ管理すればOKになりました。
※ここから少し難しくなるのでより噛み砕いた解説に訂正予定です。少々お待ちください。
チェックサム→公開鍵のハッシュ値の一部を追加したもの
マルチシグネチャ
N個の公開鍵とそのうち署名に必要なM数を決めることです。たとえば複数人で取引する場合に何人の署名が必要かを決めることです。
エスクロー取引
AさんとBさんが初めて取引を行う場合、エスクロー業者という第三者に仲介してもらいます。そのとき「2of3」とすると3個の公開鍵のうち2個の署名が必要ということになります。
マルチシグネチャアドレスに送金することで取引できるようになります。
まとめ
・ブロックチェーンは取引データが記録される台帳のようなもの
・ひとつ前のブロック情報も含んでいるからチェーン状になる
・改ざんが非常に難しいのであらゆるデータ管理に適している
あとがき
以上がブロックチェーンの概要になります。
今後も解説記事を投稿していくのでぜひチェックしてください。
まず少しだけ暗号資産に触れてみたい方は、無料でビットコインをもらえるこちらのサイトをご覧ください。
ビッコレなら誰でも簡単にビットコインが貯められる
(公式ページに移動します)
※ポイントサイトなので基本無料で利用できます。
ではまた!