この記事では、「ブロックチェーンはなぜ改ざんできない仕組みなのか」を解説します。
数学的なものではなく、直感的に理解することを目標とします。
目次
ブロックチェーンの仕組み
その前に、まずブロックチェーンの仕組みから理解していきましょう。
ブロックチェーンは、公開された台帳で取引などの記録を行う仕組みです。
具体的には以下の流れで、記録が行われます。
記録を行う流れ①:利用者が取引の発行を行う
利用者が取引を要求します。例えば、「AからBに5ビットコイン送金する」というものですね。
記録を行う流れ②:ブロックチェーンの参加者がブロックの作成を行う
取引を受信したブロックチェーンの参加者がブロックを作成します。
ブロックを生成するためには、特定の条件を満たすナンスを一番最初に見つける必要があります。
ナンスとは、「number used once」の略で、「一度だけ使われる数」という意味の言葉です。
具体的には、
1:ランダムなナンスを用意し、ハッシュ関数を使ってハッシュ値を生成します。
2:生成されたハッシュ値がある値より小さい(値の先頭に0が何個もならぶ)数値になるまでナンスを変えながら同じ計算を繰り返します。
何度も膨大な量の計算をする必要があるため、大量のコンピューターパワーが必要となります。
条件を満たすナンスを見つけることを「マイニング」と言います。
作成したブロックは、ブロックチェーンの参加者に送られます。
記録を行う流れ③:ブロックチェーンの参加者がブロックの検証を行う
受け取ったブロックが正しい手順で作成されたものかどうかを検証します。
具体的には、以下の流れで検証します。
1:ブロック内のナンスとその前のブロックを引数にしてハッシュ関数を実行
2:1の結果がブロック内のハッシュ値と一致しているかを確認する
正しいと認めたブロックは、自分が所有するブロックチェーンにつなげます。
この処理フローによって、多数のブロックチェーン参加者が正しいと判断したブロックだけが残り、不正なものは破棄されます。
なぜブロックチェーンは改ざんが困難なのか
ブロックチェーンの改ざんがなぜ困難なのかというと、計算がものすごく面倒だからです。
例えば、ある取引情報(AからBに5ビットコイン送金する)を改ざん(AからCに5ビットコイン送金する)するとしましょう。
そうすると、そのブロックから計算されるハッシュ値が異なる値になってしまいますので、
ナンスを計算しなおさなければならなくなります。
このブロックのナンスが変わると、次のブロックのハッシュ値が変わってしまうので、次のブロックのナンスも計算し直す必要があります。
ナンスを見つけるには、何度も膨大な量の計算をする必要があるため、大量のコンピューターパワーが必要となります。
つまり、改ざんを行う者は、それ以降のすべてのブロックを作り直さなくてはいけないため、
そのようなすさまじい労力を使うよりも、素直にマイニングに参加したほうが得ということになります。
この仕組みにより、ブロックチェーンが改ざんされにくくなっているのです。
仮想通貨は「coincheck」か「bitFlyer」で買いましょう
ビットコインなどの仮想通貨を買うなら、「bitFlyer」か「coincheck」が良いですよ。
特に、「bitFlyer」は100円から購入できます。
私は「bitFlyer」を利用しています。
まとめ
ということで、ブロックチェーンはなぜ改ざんできない仕組みなのかを見ていきました。
「不正行為をしようとするとすさまじく面倒なので、不正をやる気にならないようにさせる」という今までにない画期的なものでした。
このブロックチェーンの技術はインターネットのように全世界に普及するでしょう。