改ざんが極めて困難!ブロックチェーンの構造

Sorry, this entry is only available in Japanese. For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.

前回の記事で、 ブロックチェーンは3つの暗号技術を用いて不正を防いでいると説明しましたね。
参考:ブロックチェーンの不正を防ぐ3つの暗号技術

今回はその暗号技術を用いてブロックチェーン構造 がどのような構造になっているかを説明します。この記事を読めばきっとブロックチェーンという名称の由来がわかるでしょう。

1.仮想通貨はただのデータにすぎない

 ブロックチェーンの構造を説明する前に、仮想通貨について触れたいと思います。本来、仮想通貨はただのデータに過ぎません。あなたが仮想通貨を誰かに送金するとき、「×時△分、○○にいくら払いました。」と台帳に記録されるだけで、その通貨は目に見えるものでも触れられるものでもありません。

このように、仮想通貨は台帳上の記録に過ぎないものですが、みんなが価値があると思うから通貨になりました。しかし、仮想通貨のようなデータが通貨として認められるためには必要な条件があります。

”データが通貨として成り立つための3条件

  • 送信者が誰か特定できる。
  • 送信内容が途中で改ざんされない。
  • 送信者が後で自分が送信したことを否定できない。

引用元:玉蔵(2017)『社会を根底から変えるシェアリングエコノミーの衝撃!仮想通貨ブロックチェーン&プログラミング入門』株式会社ヒカルランド”

 ブロックチェーン はその構造によって、3つの条件を満たすことができます。

2.台帳が改ざんされないためのブロックチェーンの構造

(1)ブロックには前の取引情報も含まれる

ブロックチェーン は前回の取引情報が次の取引情報に含まれる構造になっています。では、一郎さんからまい子さんへ送金する場合の取引記録を見てみましょう。

ブロックには前の取引情報も含まれる

下記は一郎さんからまい子さんに渡されるブロックの中に含まれるものです。

  • 前回までの取引記録のハッシュ値
  • 取引内容「一郎⇒まい子 3BTC」
  • まい子の公開鍵
  • 一郎の署名

このように取引記録がひとつのブロックとしてまとめられて、次の取引に鎖状につながっていくことがブロックチェーンという名称の由来です。では、なぜ前回の取引記録まで次のブロックに送られるのでしょうか?

それは、ひとつのコインを改ざんして2人に送るといった「二重支払い」を防ぐためです。前回の取引記録をブロックに含めることによって、コインががどこからきたものなのかを明確にすることができます。これにより存在しないコインが送金されることを防いでいます。

ブロックチェーン構造

これは二重支払いのような改ざんが起こってもすぐに分かるしくみです。ブロックBが改ざんされてブロックB’が作られたとしても、後に続くB’以降の全てのブロックのハッシュ値が全く違うものになる為、改ざんされてもすぐに分かるような構造になっています。

(2)改ざんを難しくするナンスの役割

それでは改ざんしたブロック以降を全て書き換えれば良いのでは?と思うでしょう。しかし、それを阻止する仕組みが存在します。それは、ナンスと呼ばれています。まず、実際の取引に使われているブロックのハッシュ値を見てましょう。

改ざんを難しくするナンスの役割

ここであることに気づきませんか?

ハッシュ値の先頭は0が並んでいますね。本来、ハッシュ化した場合、ランダムな数字が並ぶためこのようなことは起こりません。これは0が並ぶように意図的にデータに何らかの文字列を足しているのです。ここで足される文字列がナンスです。

マイニング

上の図のように、ブロックをハッシュ化する際、ハッシュ値に0が並ぶまで何度もナンスの文字列を変えて計算を繰り返します。

このように適当なナンスを見つける作業をマイニングといいます。ナンスを見つけた人には台帳に書き込む権利が与えられ、報酬として12.5BTC(※)もらえる仕組みになっています。

ちなみに、マイニング(mining)の由来は、計算処理の報酬として仮想通貨が支払われることが、鉱山から金や銀を採掘するイメージと似ている為です。

マイニングはとても大変な作業ですが、報酬を得るために世界中で計算機を回して行われています。そして、ビットコインはこのマイニングからしか生まれないようになっています。マイニングはビットコインをはじめとする様々な通貨で採用されている方法です。

2019/9/5現在 1BTC=約110万円のため12.5BTC=約1400万円

(3)一番長いものが正式なブロックになる

ブロックチェーンの構造 長いものが正式なブロック

さらに、 ブロックチェーン ブロックが長く伸びたものを正式とみなすルールがあります。したがって、改ざんするには正式なブロックを追い越してさらに長く伸ばさなければなりません。

しかし、正式なブロックでは世界中で争うようにマイニングされているため、これを追い越すことはほとんど不可能です。

不正をはたらく少数の計算量では正当なブロックを伸ばそうと計算している人には勝てないのです。したがって、多くの人は不正なブロックを伸ばすよりか正式なブロックのマイニングに参加して報酬をもらった方が良いという考えになります。

この仕組みによって、ビットコインのブロックチェーンは改ざんされないようになっています。

3.最後に

いかがだったでしょうか? ブロックチェーンは独特な構造と様々な技術の組み合わせによって「改ざんがきわめて困難」なしくみになっています。今後、ブロックチェーンは仮想通貨にとどまらず、多くの分野で活躍していくでしょう。

株式会社BAPでは、2016年からブロックチェーン開発 を手がけています。通貨開発、ウォレット開発、取引所開発、ICO・スマートコントラクト開発など、幅広いサービスを取り扱っています。

見積依頼、コンサルティングの依頼、開発委託などのお問い合わせはいつでも受け付けております。どうぞお気軽にご相談ください。お問い合わせはこちらまで。