【仮想通貨の勉強】ブロックチェーン技術について解説してみる

最近、テレビとかでも目にする機会が増えた「ブロックチェーン」という言葉。
なんとなく、ビットコインとかの仮想通貨に使われている重要な技術なんだろうなー程度に思っていましたが、仮想通貨を嗜んでいる者として、しっかり勉強しようという事で調べてみました。
現在、ブロックチェーンは大きく分けて「パブリック型」「コンソーシアム型」「プライベート型」の3種類があります。
今回はビットコインで使われている「パブリック型ブロックチェーン」について少し調べてみました。ビットコインを例にして、なるべく分かりやすく説明していきたいと思います。

ブロックチェーンとは

ものすごく簡単に言うと「ビットコインの取引記録を皆でシェアして不正を防ぐ技術」です。
もう少し詳しく言うと、ビットコインの取引データ等をまとめてブロックにし、ブロック同士を鎖(チェーン)のように繋げて保存します。取引データは全世界に公開されており、ネットワークを使って世界中の人でデータを監視することによりデータの改ざんや変更をすることが容易に出来ないようにしている技術です。
図を書くとこんな感じです。
ビットコインは10分ごとに取引情報をまとめ、ブロックを生成しています。生成されたブロックには前のブロックの情報(ハッシュ値)が入っています。ブロック同士をチェーン(鎖)のように繋がっているように見えることから「ブロックチェーン」と名付けられました。

ハッシュ値について

ハッシュ値は、ブロックの中に入っている「取引情報」、「前のブロックのハッシュ値」、「nonce(後で説明します)」を変換して作った新しい文字列です。
ハッシュ値の特徴として、「ハッシュ値を元の情報に戻せない」ということと「元の情報が1文字でも変わると、全く違うハッシュ値になる」があります。
この特徴がデータの改ざんを防ぐ役割を担っています。

nonce(ナンス)について

nonceは”number used once” (使い捨て)の略で、任意で作られた適当な数値です。
このnonceの役割は「ハッシュ値の文字列調整」です。
ブロックに使われるハッシュ値には「先頭から15桁の数字が0なっていないといけない」というような決まりがあります。
新しいブロックを作成する時には、このnonceの数字を変えて先頭が0の連続になっているハッシュ値を総当たりで探す作業をします。
この作業をマイニング(発掘)と言います。

マイニング(発掘)について

マイニングは簡単に言うと「頑張ってハッシュ値を見つけて承認作業をしたご褒美にビットコインが貰えること」です。
先ほど触れたように、多数のマイナー(発掘者)が特定のハッシュ値を総当たりで探すわけですが、ご褒美を貰えるのは1番初めに見つけたマイナーだけです。
ハッシュ値を見つけた後は、本当にそのハッシュ値が正しいかどうかを他のマイナーが検証をします。
51%のマイナーが正しいと判断すれば、無事取引が成立しブロックが出来上がります。

まとめ

正直、複雑すぎて分かりやすく書けませんでしたw
頑張ったんですけどね・・・。
そして思ったのが、技術的な内容の記事は書くのに時間がかかる!そのかわり半端じゃなく勉強になる!
完全に自己満の世界ですが、今後も勉強記事を書いていきたいと思います。