オン ザ・ブロックチェーン

ブロックチェーンが改ざん出来ないと言われる理由

calendar

 ビットコインのブロックチェーンは改ざんできないと言われています。その根拠について説明します。

スポンサーリンク

データを消去されたら?

 ブロックチェーンは、世界各地のコンピュータ(ノード)に分散して存在しています。

 それぞれのノードがローカルなデータとして、ブロックチェーンを保持しています。それらを管理している中央サーバーは存在せず、それぞれ対等な立場(P2P)でブロックチェーンを保持しています。

 なので、仮にどこかのノードをハッキングしてブロックチェーンデータを消してしまったとしても、痛くも痒くもありません。

 ビットコインが価値を持つ以上、ビットコイン欲しさに集まってくるマイナー等によって、P2Pネットワークは自然と維持されます。 

 ビットコインが価値を失わない限り、ブロックチェーンデータが失われることは、まずありえないでしょう。

無理やり書き換えられたら?

 ブロックチェーンに新たにデータを追加する際には、Proof of Work(以下PoW)と呼ばれる作業をする必要があります。

 PoWとは、ブロックの識別子と言えるブロックハッシュ(そのブロックのブロックヘッダーのハッシュ値)が、000000・・と先頭に0がいくつか並ぶようなnonceを見つける作業です。
※nonceはブロックヘッダーに含まれる意味のない数値

参考ブロックチェーンを伸ばすマイニングの仕組み

 ある意味で無駄な作業と言えるこのPoWが、ブロックチェーンを改ざん不能な状態に仕立てあげます。 

 もし過去のトランザクション内容を後から書き換えようと思ったら、どんな作業が必要になるでしょうか?

 ブロックハッシュの元となるブロックヘッダーには、マークルルートという値が含まれています。

※マークルルートとはそのブロックが持つトランザクションリストのハッシュ値

 なのでトランザクションを書き換えるとなると、マークルルートが変わることになり、それを元にしたハッシュ値であるブロックハッシュも変わることになります。

参考ビットコインの説明によく出てくるハッシュ(Hash)って何?

 結果的に、せっかく適当なnonce値を設定することで得た000000・・というブロックハッシュが変わってしまうわけです。もちろん000000・・なんていうハッシュ値にはならないでしょう。

 正当なブロックハッシュ値を得ようと思ったら、また適当なnonceを探す(つまりPoWをやり直す)必要があります。最低でも10分はかかります。

 もしPoWをすっ飛ばして、テキトーな000000・・というブロックハッシュを付けたとしてもすぐにバレます。ハッシュ化なんてのは一瞬でできるので、そのハッシュ値が本物かどうかは一瞬で確かめることができます。

 そして、ここが最重要ポイントなのですが、各ブロックヘッダーには親ブロックのブロックハッシュ(Previous Block Hash)が含まれています。

 なので、もし、あるブロックのブロックハッシュを書き換えてしまうと、その子ブロックが持つPrevious Block Hashの値も書き換えなければチェーンが途切れてしまうことになります。子ブロックのPrevious Block Hashの値を変えると当然、今度はそのブロック自身のブロックハッシュ値も変わってしまうことになります。またブロックハッシュが000000・・になるnonce値を見つけなおさなければなりません。

 そしてまたその次のブロックも・・と連鎖的に、書き換えたブロック以降全てのブロックハッシュを作り直すことになります。

 要するに、PoWのやり直しです。

 しかも、ビットコインのブロックチェーンは最も長く伸びているチェーンのみが正当なデータと見なされるので、もしその書き換えたブロックを正当なものにしようと思えば、現存する正当なチェーンを追い越す必要があります。

 正当なチェーンは世界中のマイナーの計算能力を駆使してどんどん伸びていきます。それを上回るスピードで次々とPoWをクリアし、ブロックチェーンを伸ばしていくことは事実上不可能です。むしろ差が開く一方です。

 過去のブロックのデータをほんの少しでも書き換えようと思ったら以上のような作業が必要になります。まず無理だと言うのが分かると思います。

 古いブロックであればあるほど、改ざんが難しいと言えます。

新しいブロックを書き換えるのは?

 最新のブロックを書き換える場合は、後に続くブロックがまだ存在しないので、まだ難易度は低いと言えます。古いブロックを書き換えるのとは違い、正当なブロックとの差はほとんどありません。

 目の前にいるブロックを追い越せばいいだけです。

 一番新しいブロックのトランザクションを書き換えて、自分のアドレスにビットコインを全部送ったことにしてやれば大儲けです。

 しかし、実際はそう簡単にはいきません。正当なチェーンを伸ばそうとするハッシュパワーは強烈です。
※PoWの計算能力の早さをハッシュパワーと言います。

 たとえまぐれ当りで1つや2つ偽のブロックを伸ばせたとしても、偽チェーンを伸ばし続けなければそれは正当なものとは認められません。ハッシュパワーで勝てなければ、結局、正当なチェーンの伸びるスピードに置いていかれます。

 ハッシュパワーで負けていれば、理論上、6ブロック差を覆すのはまず不可能だとされています。

 あるトランザクションがブロックに取り込まれることを「トランザクションが認証される」と言い、1認証と表現されます。

 そのブロックの後に新しい子ブロックが繋がることを2認証、さらにその後に子ブロックが繋がることを3認証・・、という風に表現します。

 一般に、6認証まで行けばそのトランザクションは完全に覆ることのない取り引きだと認められます。

ハッシュパワーが上回ったら?

 もし仮に全マイナーの51%以上のハッシュパワーで偽チェーンをぐんぐん伸ばされたら、いずれ正当なブロックチェーンを追い抜くことになります。

 結果的に、本来の正当なブロックチェーンは正当ではなくなります。あくまで長い方が正当と見なされます。これは防ぐことができない最強のアタックです。
51%アタックと言われています。

 しかし考えてみて下さい。

 それだけ強力なハッシュパワーがあるなら、何も不正なことをしなくとも真面目にマイニングをすれば相当な報酬をもらえることになります。

 それに、もし不正なトランザクション操作によって自分のビットコインを増やしたところで、そんなビットコインに価値はあるでしょうか? 51%アタックが成立した途端に、ビットコイン自体の価値は脆くも崩れ去るでしょう。

 まるで何かの童話にでも出てきそうな話ですが、不正を働いて手にした価値はその価値を失うわけです。

 51%のハッシュパワーを手に入れるだけの機械代、電気代をドブに捨ててまで、そんな馬鹿げた事をするインセンティブは無いはずです。
※マイナーはどんどん増えてきているので、その中で51%を占めるというのはとてつもないコストがかかります。電気代だけでも一日で数千万円単位になるんじゃないかと思います。

 こういったマイナーの心理をも計算し尽くした鉄壁のアルゴリズムによって、ブロックチェーン上のデータは守られています。

この記事をシェアする

コメント

down コメントを残す




管理人

Nobuo

Nobuo

仮想通貨に興味があるただの人です。モナコインが好きなのでMonazon.jpを作りました。よろしくです。