本ページはプロモーションが含まれています
ブロックチェーンが注目される理由の一つに「改ざんが(事実上)不可能」である事が挙げられます。しかし初心者の方にとってみればなぜブロックチェーンは改ざんできないのかいまいちピンと来ません。そこで今回はブロックチェーンが改ざんできない理由を分かりやすく簡単に解説をさせていただきたいと思います!
ブロックチェーンとは
ブロックチェーンとは「分散型の公開台帳」と言えます。しかしこれではよく分かりません。簡単に言うのであれば「皆で管理する記録簿」だと思ってください。※ここではビットコインのブロックチェーンを用いて解説をしております。ビットコイン以外のブロックチェーンって?と思われた方はビットコインとプライベートブロックチェーンについてをご覧ください。
また、ブロックチェーンのイメージをまず先につかみたい方はブロックチェーンとはをご参照ください。
ブロックチェーンの良いところの一つに「改ざんが(事実上)不可能」というところがあります。これの理由を以下、解説していきます。
ブロックチェーンを改ざんするとは
ビットコインは電子決済システムです。ですので全ての取引が「データ」という形で記録されていきます。AさんからBさんに1BTC(ビットコインの単位)渡った。というデータが記録されることによって「現在Bさんは1BTC保有している」という証明がなされます。
Bさんが「モノ」としてビットコインという貨幣を手に持っていなくても「Bさんが1BTC」持っているという事に変わりはないのはこういった理由です。
現に私達は100万円手に持っていなくても自身の預金通帳に「100万円」と書かれていれば「100万円持っている」と宣言できます。つまり貨幣は別に手に持てる「モノ」ではなくても良いという事は私達は既に証明をしているのです。
ビットコインの場合はブロックチェーンにその「1BTC保有」が記録されます。もしブロックチェーンが改ざんできてしまうものであればその「1BTC保有」には何の意味もありません。しかし改ざんが事実上不可能である為に人々は「1BTC保有」を宣言することができます。
ですのでまずなぜブロックチェーンが改ざんされないと言えるのかを知る事でブロックチェーンの凄さに気が付くことができます。(もちろんビットコインの凄さも同時に)
ブロックチェーンは先ほど述べたように取引などのデータがある一定の量貯まるとブロックに情報がまとめられ、そしてチェーン状につらなるイメージで続いていきます。実際には横につらなるのではなく、上にブロックが積み重なって増えていきます。
先ほどのビットコインの例のように「AさんからBさんに1BTC渡った」というデータを「AさんからCさんに1BTC渡った」と書きかえる事ができたらBさんは1BTC失いCさんは1BTC得る事になります。
つまりブロックチェーンの改ざんとはブロックの中にある「取引データ」を改ざんすることになります。
スポンサー
取引データを改ざんする
取引データを改ざんするとはどういう事なのかを知る事が必要になります。その為にブロックチェーンの「ブロック」の部分の構造をご説明させていただきます。ブロックチェーンのブロックはほとんどが「取引データ」によって構成されております。
しかしもちろんそれだけではありません。簡単に言えば「取引データ」と「ブロックヘッダ」というブロックの登録番号とも言える識別子によって構成されます。(もちろんそれ以外にもありますが今回は無視をしましょう)
この「ブロックヘッダ」という登録番号に改ざんを不可能にする要素が詰まっております。
この登録番号とは何か?と言いますと簡単に言えば「前のブロックの番号」と「それを使った問題の答え」によって成り立ちます。図で簡単に表すと以下のようになります。
ここで「前のブロック番号」とは何か?です。前のブロック番号は一つ前のブロックのデータ(取引データもブロックヘッダも含む)を「ハッシュ関数」という「データを短い数値に変換できる演算」方法により導き出された解になります。(ハッシュ関数については難しい事を考えたくない場合は無視してください 参考;ハッシュ関数って何?)
そしてその「前のブロック番号」に対する問題の答えを導き出すことによってブロックは完成します。
この問題に関しては仕組みを一から知ろうとすると少々深入りしなければなりませんので興味の無い方は気にしないでください。(知りたい方はこちらから該当ページ付近をご参照ください⇒ビットコインの仕組み紹介ページ)
さて、ブロックヘッダの簡単な仕組みが分かったところでもう一度ブロックに入ったデータが何かを思い出してみます。ブロックに入ったデータは
「取引データ」と「ブロックヘッダ」というブロックの登録番号
でした。
そうなると、次のブロックの「ブロックヘッダ」に入っている「前のブロックの登録番号」は
「取引データ」「前のブロックの登録番号」「答え」
ですのでもし、一つの取引データである
「AさんからBさんに1BTCが渡った」
というデータを書き換えた場合は次のブロックにある「前のブロックの登録番号」が変わる事がお分かりいただけると思います。
そうなると次の「答え」が変わります。
そうです。改ざんするデータの入ったブロック以降全ての「ブロックヘッダ」が変更されるのです。
ブロックチェーンを改ざんできない理由
ここで最後の疑問です。
「もしそれができれば改ざんはできるのではないか?」
というものです。答えはイエスで、改ざんは可能です。
しかし、先ほどの「前のブロックの登録番号」の「答え」を導きだす為に必要な計算エネルギーは莫大です。
そしてビットコインブロックチェーンには「最も長いブロックチェーンを正しいとする」というルールがあります。
改ざんをしている間にもビットコインブロックチェーンは他の参加者によってどんどん伸びていきます。
つまりそれを超えるスピードで改ざんをしていかなくては改ざんは成功しません。
それを超えるスピードで改ざんをするのは現在世界中のコンピュータを集めてもできないと言われております。
このような理由から「ブロックチェーンは『事実上』改ざん不可能」という結果になるのです。
また、先ほどの「前のブロックの登録番号」から「答え」を出す作業が「マイニング」です。そしてその答えを出したマイナー(マイニングをする人)が報酬をもらえます。
まとめ
以上がビットコインにおけるブロックチェーンが改ざんされない理由です。細かく言えばもっと改ざんされない理由や要因はあります。また改ざんリスクを抑える為には自身の取引データが入ったブロックより後に「6つ」ブロックが重なるのを確認する事(多額の資金移動時)などの理由も今回説明したことを知っていると理解しやすくなります。参考;ビットコインの「承認」は6段階?
是非、革新技術ブロックチェーンについて詳しくなる為にビットコインの仕組みを学んでみてください。とても面白いです!
スポンサー
いつも分かりやすく解説してくださってありがとうございます。
私も勉強しながら自分のブログでビットコインの説明をしているのですが、やはりブロックチェーンの説明は難しいです。
最初につまずくのは「ブロックチェーンは分散型台帳だ」という説明で、英語と日本語が対応していないのですよね。ブロックとチェーンがなぜ分散と台帳なのか…
ブロックチェーンは記録の方法をミクロのイメージとして表しているのに対して、分散型台帳は記録サレタ結果の状態をマクロで説明しているところに違和感があるのかもしれません。
長々と失礼しました、きちんと説明できるように、もっと勉強します!
>てつじ様
コメントいただきまして誠に有難うございます!
おっしゃる通り本当に「ブロックチェーン」の説明は難しいです… ミクロとマクロの考察、かなり納得できます!しかもそこにビットコイン以外のブロックチェーンが出てきたらもう簡単に説明するのは不可能ですよね笑
一度てつじ様のブログも拝見して、勉強させていただきたいです!
私も頑張って勉強していきますので今後とも宜しくお願い致します!
お返事、ありがとうございます。
ブロックチェーンの説明は難しいので、私のブログでもまだ下書きから抜け出せていないのですが(笑)、
ブログではビットコイン周りの解説を少しずつ書いています、よかったら覗いてみてください!
http://bitcointax.hatenablog.com/
>てつじ様
ブログ、少し拝見させていただきましたがとても興味深いです!読まさせていただきます。
ビットコイン、ブロックチェーンは本当に奥が深くて面白いですよね。ブロックチェーンの説明、楽しみにお待ちしております!