ブロックチェーンは仮想通貨を語る上で根幹となる基礎技術。分散型台帳技術(DLT:Distributed Ledger Technology)と呼ばれることがありますが、分散型台帳技術の一部という事になります。「中央管理者がいない」台帳と言われますが、どんな技術なのか順を追って説明していきたいと思います。
ブロックチェーンとは
①ネットワークに参加している人たち全員(コンピューター全部)で取引記録を台帳に記録していきます(このことをP2P方式と言います)。参加しているコンピューター全てに同じデータが蓄積されていきます。
②「AさんからBさんへ〇〇BTC送金する」と言った取引(トランザクション)の全てを記録していき、それらを時間で区切って「ブロック」を生成していきます。
例えば、ビットコインは10分、モナコインなら90秒のブロック生成時間がかかります。
③出来上がった「ブロック」内のデータを基にネットワーク参加者全員である計算をして、一番最初に解いたものが勝者となり「報酬」が支払われます。勝者となる為に彼らは高性能なコンピューターを複数台設置して電気代をたくさんかけて日々計算しているんです。
この報酬とは「新規発行された仮想通貨」の事です。
④最後にこの計算結果が正しいかどうかをネットワーク上の参加者が確認して「承認」していきます。この計算〜承認までの一連の作業をマイニング(採掘)と言います。承認されると再び次のブロックにデータが蓄積されていくわけです。不正なデータがあれば承認されません。
これが繰り返されることで蓄積されたデータが「ブロック」となり、これらが次々と「チェーン」のように繋がっていくことから「ブロックチェーン」と呼ばれるのです。
マイニングで行われている計算とは
先ほどの取引(トランザクション)はハッシュ関数というもので64桁の文字列(ハッシュ値)に変換されてブロックに格納されています。この関数にかけると不可逆的なので元のデータに戻せません。
「直前のブロックのハッシュ値」+「今回のブロックに含まれる全取引データ」+「任意の文字列(ノンス値)」→これらをまとめて64桁のハッシュ値に変換します。そして最初の16桁か17桁までが「0」で連続するようなノンス値を見つける計算をマイニングのなかで行なっているのです。
ここでビットコインのハッシュアルゴリズム(SHA256)を使ってデータを変換できるサイトを紹介しておきます。(ハッシュ関数の種類(ハッシュアルゴリズムの種類)は沢山あって、SHA256はその中の1つです)
データが1つ変わっただけでも結果が全く違うものになるのが体験していただけると思います。
こちらはビットコインの採掘状況をリアルタイムで確認できるサイトです。
ブロックチェーンは改ざんできない
ブロックチェーン技術を使うとデータの改ざん出来ないということで注目を集めることが多くなりました。それはなぜでしょうか。
ハッシュ関数によるデータ変換
ブロックチェーンのデータはP2P方式によってネットワーク上の参加者全員で監視しているわけですがここに悪意のある人間が紛れ込む可能性もあるわけです。
それを防いでいるのが先ほど出てきた、「直前のブロックのハッシュ値」+「今回のブロックに含まれる全取引データ」+「任意の文字列(ノンス値)」のハッシュ関数によるデータ変換なのです。
改ざんしようとしているデータ。それが格納されているブロックとその後の全てのブロックのナンス値を算出し直さないといけなくなります。10分毎に1つのブロックの計算レースを勝ち抜くのも大変なわけですからいくつも繋がったブロックの改ざんが現実的ではないという事もわかるかと思います。
まとめ
ブロックチェーンを活用したアプリケーション(DApps)も次々に開発されていて今後がとても楽しみな技術になりました。ますます広がりを見せていきそうですね。
関連記事
分散型台帳技術とブロックチェーン技術の違いとは?
ブロックチェーンを利用したアプリケーションの話
DEXもDAppsの一つです。
最近ブロックチェーンへの攻撃が頻発しています。
では!