ブロックチェーンのフォークとは一体何なのか?

分岐イメージ

ブロックチェーンが分岐するとはどういう事なのか?

ブロックチェーンのフォークとはどんな現象なのか?

これを理解しなければ先には進めません。という事で、話を進める前にブロックチェーンがどのような時に二分するのかをご紹介します。

ブロックが生成される順序

順序イメージ

まずは、ビットコインのブロックチェーンがどのように生成されるのかを理解しておきましょう。

ビットコインのブロックチェーンのシステムでは、ブロックの生成と承認をノードと呼ばれる参加者が行っていきます。その順序としては…

①ブロックに取引記録がたまっていく

②ブロックの取引が正当かどうか判断する計算が行われていく

③最初に計算に成功したノード(マイナー)がそれを全ノードに広める

④それを他のノードが正当かどうか判断する

⑤正当とみなせば前のブロックの一部を埋め込んだ次のブロックを各ノードが生成する

…という5つのステップでブロックチェーンは生成されていきます。

ブロックが二分してしまう段階

上記の5ステップでブロックが分岐してしまうところがあります。それは、『③最初に計算に成功したノード(マイナー)がそれを全ノードに広める』です。

ビットコインコミュニティではナンスを計算している多くのマイナーがいます。ですからナンスの計算が同時に成功してしまうという現象も起こってしまうんです。

では、分岐されたブロックチェーンはその後どうなるのでしょうか?

ナカモトサトシの解決策

ビットコインの考案者であるナカモトサトシはこのような現象にもしっかりと答えを用意しています。
それは、「最も長いブロックチェーンを正しいブロックチェーンとする」というものです。つまり先ほどのような現象が起きた場合…

 

・受け取った二つの承認ブロックはどちらも各ノードは保存をする

・次にブロックが承認するまで各ノードはどちらかのブロックで計算をしておく

・誰かがどちらかのブロックの次のブロックの承認をしたら、
それを受け取り二つに分かれていたブロックの繋がらなかったブロックを破棄する

 

という方法でこの問題を解決します。

つまり、ブロックがもし二分してもいずれ一つになっていくようにできているのです。

更にこの方法で誰かが不正承認をしたとしても、ずっと同じような不正承認を続けなくてはならない為、計算に必要な多大な出力消費をしてまで不正を働く理由が無い、というモチベーション不在の方法を利用してナカモトサトシは中央管理者不在のシステムを作り上げたのです。

以上がビットコインのブロックチェーンが二分してしまう現象をざっと説明したものになります。

「でも、結局分岐しても1つに戻るなら気にしなくてもいいのでは?」と思うかもしれませんが、先ほども言った通り、ブロックチェーンは度々分岐してしまうものなのです。
そして、それが一つに戻るまでの時間もあります。ですから、暗号通貨を学ぶにおいてフォークという現象は切っても切れないモノなのです。

ここまでで、ブロックチェーンが二分する時の理解は十分にできたと思いますので、これからのフォークの理解はかなりスムーズに進んでいけるかと思います。それでは、簡単に説明していきます。

フォークが起こる発生例

フォークイメージ

先ほども説明した通り、ブロックチェーンのブロックを作成するマイナーが同時にマイニング(ナンスを見つけ出すこと)を成功させると「フォーク」が起こります。

ブロックチェーンのマイニングは全世界で行われており、マイニングの成功がいつどこで起きるかはわかりません。

マイニングが成功すると、隣接するノードに成功を伝えます。ここで隣接する、というのは場所が隣接しているという訳ではなくネットワーク上の隣接を言いますので場所は必ずしも近いとは限りません。ですから、日本でマイニングが成功したしても、その場合の隣接ノードがブラジルという場合もありえるという訳です。

例えばAというマイナーがマイニングに成功し他の参加者に伝えます。そしてそれを受け取った他の参加者はその新たなブロックをブロックチェーンに追加していきます。これが同時に起きるとします。

つまりBというマイナーもマイニングに成功します。するとBも他の参加者にそれを伝えます。こうなるとAが作成したブロックを先頭にしたブロックチェーンとBが作成したブロックを先頭にしたブロックチェーンの二つの正しいブロックチェーンが地球上に存在することになるのです。

その後、仮にAが作成したブロックが先頭にあるブロックチェーンを持つ他のマイナーCが更に次のマイニングに成功し新たなブロックが先頭に来たとします。

そうなるとネットワークによってA⇒Cというブロックチェーンが伝えられます。するとBのブロックを持っていた参加者はBのブロックを枝のような形で保存し、A→Cのブロックチェーンを正当なブロックチェーンとします。

これは『ブロックチェーンは最も長いものを信用する』という決まりのもとに行われる行動です。

このようなルールのもと、ビットコインのコンセンサス(合意)が決められているのです。ですので「フォーク」自体は問題のある事ではありません。フォークは一時的に行われますが、いずれ修正されていくものなのです。

ソフトフォークとハードフォーク

ビットコイン以外の暗号通貨には、ソフトフォークやハードフォークという言葉があります。これも大きな意味では分岐するという意味なのですが、詳しくはビットコインの意味とは異なる意味を持ちます。

ビットコインだけを学ぼうとしていたり、あまり深く学ぼうとしていない場合は、バグやシステムを修正する方法というような認識でも特に問題はないと思います。

しかし、ビットコイン以外の暗号通貨や今後出てくるような新しい通貨に手を出そうとしている場合はどのような違いがあるのか、知識としては入れておくべきかと思います。

ただ、ビットコインしか登場していない当サイトの今の段階ではまだハードフォークやソフトフォークのご紹介してもちんぷんかんぷんなので、時期が来てからじっくりとご紹介させて頂きます。

まとめ

以上でフォークの説明を終わります。専門用語で聞くと難しいですが、日本語に直すと案外スッと頭に入ってきますよね?

難しく考えずに簡単に考えれば暗号通貨は本当に面白いですよ。

ただ、覚える量が多いので、一気に覚えようとせずにゆっくりと自分のペースを保って学んでいくのが大切です。

SNSでもご購読できます。

コメントを残す

*