バナナでもわかる話

計量経済学・統計学が専門の大学院生です。統計学・経済学・投資理論・マーケティング等々に関する勉強・解説ブログ。ときどき趣味も。極力数式は使わずイメージで説明出来るよう心掛けていますが、時々暴走します。

ビットコインは何故改竄不可能なのか

前回はビットコインとブロックチェーンの仕組みについて説明しました。

bananarian.hatenablog.com



今回は、前回の話を踏まえたうえで、じゃあ何故

「ビットコイン取引の改竄は不可能だ」

と言われているのかという話をします。



取引を改竄する

前回のブロックチェーンの仕組みの説明では次のような図を使っていました。
f:id:bananarian:20180923233821p:plain


例えばこの時、改竄するとは次のような事を言います。
f:id:bananarian:20180926005122p:plain
過去の取引を別の取引に改竄しています。




しかし、前回の記事を思い出してもらうとわかりますが、ハッシュ値には満たさなければいけない条件がありました!!
前回の画像を参照するならこれですね。
f:id:bananarian:20180923231409p:plain


そういうわけなので全てのブロックのハッシュ値は、条件を満たしたものであるわけですが、

改竄すると、図から明らかなように、出力されるハッシュ値が変わるはずです。
f:id:bananarian:20180926010240p:plain


出力されるハッシュ値が変わるということは、条件を満たさなくなってしまいます。そのため、条件を満たすようになるまで再度ナンスを設定しないと正当なブロックとして承認されなくなります。

つまり、改竄したブロックから最新のブロックまで順番に、またナンスを探し直す必要があるわけです!!


よって、ブロックを改竄するには過去のものから遡る必要が生じて、メチャメチャ時間がかかる上に、その間にもビットコイン取引はどんどん進行します。それにも追いつかなければいけなくなります。


つまり、こういった状況もあって、改竄は理論上は可能だけど、事実上無理!!となるわけです。