ブロックチェーンについて

こんにちは、デザイナーのmotoです。
今日は、ブロックチェーンについてお話していこうと思います。
みなさんは、ブロックチェーンについて聞いたことありますか?
何回かこの記事でも出てきましたよね。
今回は、ブロックチェーンについて紹介します。
僕も名前ぐらいしか聞いたことなかったのでみなさんと共有できればいいなと思います。

Blockchain(ブロックチェーン)とは?

ブロックチェーンとは、ビットコインの中核となる「取引データ」技術のことを指します。
取引のデータ(履歴)を「トランザクション」と呼び、そして、複数のトランザクションをまとめたものをブロックと言います。
このブロックが連なるように保存された状態がブロックチェーンです。
ブロックチェーンは分散して管理されるのが特徴で、ビットコインなどを利用しているあらゆるユーザーのコンピューターに保存されます。
銀行のような特定の管理機関がないため、権限が一箇所に集中することはありません。
そのためシステム障害に強く、かつ低コストで金融サービスが運用できると期待されています。

Blockchain(ブロックチェーン)の仕組み

「分散」してユーザー同士が管理し合うシステム

ブロックチェーンは一つにまとまっているわけではなく分散しており、ユーザー同士が管理しています。この形式を「P2P(ピアツーピア)方式」といい、「分散型取引台帳」とも呼ばれています。
金融機関を介さず、ユーザー同士でシステムを管理し合う構造です。
ブロックチェーンは、複数のコンピューターで分散して管理されているため、ビットコインの取引ごとのリアルタイム更新には対応できません。
なので、10分単位でまとめて承認作業が行われるという特徴があります。

「ブロック」はハッシュ関数で暗号化される

取引データ(履歴)である「トランザクション」には、「何月何日にAからBへ○○BTCを送金した」という内容のデータが記録され「ブロック」になります。
このデータはオープン化されているため、誰でも確認することができます。しかし、トランザクションの「具体的な取引内容」はハッシュ関数によって「暗号化」されるという特徴があります。
ハッシュ関数とは、元となるデータから一定の文字数の不規則な文字列(ハッシュ値)を生成する関数です。同一のデータであれば同じハッシュ値が生成されますが、少しでも異なれば全く異なるハッシュ値が生成されます。また、生成された文字列から、元のデータを読み取ることができない「不可逆性」を持っているのが特徴です。
ブロックデータには、ハッシュ関数によって暗号化されたトランザクションと直前のブロックデータのハッシュ値が含まれています。
直前のハッシュ値と、「ナンス値」という特別な数字を見つけ出すことにより整合性が取ることができ、ブロックがブロックチェーンへ新たに追加される流れを「承認」といいます。

すべての取引履歴が公開されている

ビットコインの売買など、ブロックチェーンに記録されているすべての取引履歴は、だれでも確認できるのが特徴です。上記で説明した、10分単位で承認されたブロック内に含まれる「取引件数」「取引されたビットコインの量」「ハッシュ値」「前ブロックのハッシュ値」を時系列に確認できます。
ここでは、ハッシュ値によって暗号化されているため、取引の「履歴」として記録されても、「内容」の詳細は確認できないので安心できます。
むしろ、時系列がオープンになっていることは、不正を防ぐための役割の1つと言えます。

新たなビットコインを生成できる

新たにブロックを追加するときは、先にも紹介したとおり、直前のブロックのハッシュ値と、今回のブロックに含まれる「全取引データ(トランザクション)」と「ナンス値」をハッシュ関数によって暗号化します。
この整合性を確認し「承認」するためには膨大な計算を行います。この承認作業を「マイニング(採掘)」といい、不正が行われていないことを証明する仕組みを「proof of work(仕事の証明)」といいます。
これを「成功」させた人にビットコインの報酬が支払われるというシステムがあり、このときビットコインが「新規発行」されるのです。
ビットコインの発行総量は事前に決められており、2140年までに2,100万BTC(上限数)に達すると言われています。「マイニング」というブロックチェーンが生まれる仕組みにより、ビットコインの急激な増減が起きないように調整されているのです。

まとめ

以上が、ブロックチェーンについてになります。
次回は、ブロックチェーンの種類とメリットについて一緒に共有できればと思います。