暗号通貨入門ガイド

仮想通貨やブロックチェーン技術を初心者に向けて分かりやすく説明していきます。

ブロックチェーン

ブロックチェーン技術とマイニングの仕組みについて流れを解説

更新日:

blockchain04

今回は少し細かい流れになりますが、簡潔にまとめてみます。
ビットコインに使われているブロックチェーン技術は、取引データを10分間に一つずつ生成します。この取引データの一つ一つの固まりのことをブロックと呼びます。ブロックは一番最初の取引から現在まで全てのデータをチェーンのようにつないでいます。

一つのブロックの中には、取引データの他に、ハッシュ値とナンスと呼ばれる情報も含まれています。今回はそのブロックの中身と、マイニングの詳細を述べていきたいと思います。

 

ブロックの内容

ブロックデータ
 
取引データ
:10分間に行われる取引のデータ。トランザクション(取引)データとも呼びます。

ハッシュ値:一つ前のブロックデータによって生成された値。特定の条件を満たす長さが一定の英数字。「ハッシュ関数」によって作られます。ハッシュ関数とは、要約関数とも呼ばれ、元となるデータ(入力値)から、規則性のないランダムな数値(出力値)を作ります。

この場合の入力値とは、一つのブロックに入っている「取引データ」、「直前のブロックのハッシュ値」、「ナンス」等のことを指します。出力値は新たなハッシュ値として次のブロックに格納されます。

ナンス(Nonce):「Number used once」の略で、一度だけしか使われない数字のこと。一つ前のブロックをつなぐチェーンのような役割を果たします。

他ブロックには、タイムスタンプやバージョン情報などが入っていますが、主な内容はこのようになっています。

 

マイニングの流れ

仮想通貨でよく聞くマイニングとは一体どんな仕組み?意味を分かりやすく解説」でも述べましたが、上記のブロックの中身にも触れつつ、今回はもう少し詳しくマイニングの流れを書いていきます。

 

①取引データの検証とブロックへの取り込み

取引データは、いったんメモリープールと呼ばれる維持管理ネットワーク内に送られます。マイナーは、その中から取引手数料の高いものからピックアップして、二重使用やなりすましがないかなど、取引が正しく行われているかをチェックします。

マイニング03

二重使用とは、持っている金額が不足しているのに、不正に水増しして使用していることです。これを調べるには、ブロックチェーンの過去の取引を確認します。ブロックチェーンには、過去から現在まで全ての取引記録が残っていますので、過去に二重使用しているかを照らし合わせることができます。

なりすましとは、別の誰かが本人を装って、不正に送金しようとすることです。これを見抜くには「公開鍵」が必要です。公開鍵とは、ウォレットにある「秘密鍵」から生成される英数字です。「本人確認証」のようなもので、マイナーは送金者の「公開鍵」を使って本人かどうかを確認します。詳しくは、「ビットコイン取引とウォレットの仕組みを図解で分かりやすく解説」に書いています。

これらの検証を終えて、取引が正しければ、その取引データをブロックに書き込みます。

 

②ブロック同士を紐づけるナンスの発見

取引データが入っているブロックを前のブロックにつなげるためには、ナンスを見つけなければなりません。ナンスの発見は早いもの勝ちで、一番早く正しいナンスを見つけたマイナーに報酬が与えられます。

 

 -ナンスとハッシュ関数-

ハッシュ関数

ナンスを見つけるためには、ハッシュ関数による計算が使われています。ハッシュ関数とは、要約関数とも呼ばれ、元となるデータ(入力値)から、規則性のないランダムな数値(出力値)を作ります。この場合、ブロック内にあるデータ(取引データ、直前のブロックのハッシュ値、ナンス等)をハッシュ関数で変換して、特定の条件を満たす出力値が出されます。

この時、ナンスの値は分からないままです。

ハッシュ関数の特徴として、出力値からは入力値を推測することができません。そのため、ナンスはひたすら数字を当てはめて探すので、膨大な量の計算を必要とします。

 

③他のマイナーによるナンスの検証とブロック承認

ナンスを発見したら、他のマイナーに通知します。マイナー達は、ナンスが正しいかを検証します。ハッシュ関数によって生成されたデータの検証は簡単なため、ナンスが正しいかどうかは、すぐに分かります。ナンスの通知と同時にブロックの接続も行うため、追加するブロックが正しいかの検証も行われます。

 

④ビットコインの新規発行

マイニング02
 
ナンスを発見したマイナーは、新規発行のビットコインを自分が受け取るという書き込みを作業中のブロックに行います。このデータを書き込むことで、ブロックが完成し、マイニング報酬を受け取ることができます。

 

ここまでの一連の流れがマイニングとブロックチェーンの生成になります。この作業は約10分間で行われるよう設定され、ナンスを見つける難易度もマイナー人数や、パソコンの処理速度に合わせて、自動で調整されています。 

 

-ブロックチェーン

Copyright© 暗号通貨入門ガイド , 2021 All Rights Reserved Powered by STINGER.