ブロックチェーンは常に分岐している
ブロックチェーンの分岐についてはブロックチェーンカリキュラムで学習しましたが、少し復習しておきましょう。
ブロックチェーンを管理する全てのノードは、同じ計算作業(マイニング)を同時に行なっています。
しかしながら、全世界に散らばる無数のノードが全く同じ計算作業を同時に行うことは困難を極めます。
そのため、ノードが行う計算作業には頻繁に誤差が発生します。
このノードの計算作業の誤差こそが、ブロックチェーンが分岐する原因となります。
なぜなら、誤差が発生することで異なるブロックが形成されてしまうからです。
異なるブロックが形成されるということは、当然異なるブロックチェーンが形成されるということになります。
このようにして、ブロックチェーンは分岐(ブロックチェーンが複数形成される)していくのです。
なお、分岐したブロックチェーンは永久的に分岐したままではありません。
ブロックチェーンには、最も長いものを正しいものとする、という絶対的なルールが存在します。
ノードは、分岐したブロックチェーンのうち正しいと思うものを選択し、そのブロックチェーンに対して新たなブロックを連結させていきます。
このようにして、せいぜい数ブロック分だけ分岐が発生し、その後は自然と一つのブロックチェーンに収束していくのです。
Check your achievement
Click the “Tick” button
if you understand the lesson so far.
ハードフォークとソフトフォーク
ここまでで学習したブロックチェーンの分岐は、自然発生的に起こるものであり特に大きな問題とはなりません。
一方で、ブロックチェーンを意図的に分岐させる方法もあります。
それが「ソフトフォーク」と「ハードフォーク」です。
ソフトフォークは前向きな分岐、ハードフォークは後ろ向きな分岐といったイメージを持つ人もいるかもしれません。
しかしながら厳密には、ソフトフォークは各ブロックの形成ルールをより厳しくするための変更に伴う分岐、ハードフォークは各ブロックの形成ルールをより易しくするための変更に伴う分岐です。
ハードフォークが後ろ向きに思える理由としては、ルールを緩和することにより可用性を損なう恐れがある点になります。
可用性とはシステムが安定して稼働することを意味しており、ルールが緩和されることで汎用性の高いシステムにはなりますが、これはより複雑なシステムになってしまうことも意味します。
複雑なシステムを不具合なく維持することは至難の技です。
そのため、ハードフォークを実施する際にはノードの意見が分かれることが多く、結果的に何かいざこざが起きたように見えてしまうのです。
ソフトフォークとハードフォークに限らず、ノードは分岐したブロックチェーンのどちらを支持しても構いません。
その際、ノードがマイニングを行うためのインセンティブである仮想通貨も同時に分裂することになります。
全てのブロックチェーンには必ず1つの仮想通貨が存在するのであり、ブロックチェーンが分岐した場合には新たな仮想通貨が誕生することになるのです。
こうして2017年に誕生したのが「ビットコインキャッシュ」です。
ビットコインキャッシュは、ビットコインのブロックチェーンがハードフォークした際に、その分岐を認めなかったノードが多数存在したことから生まれました。
従って、元々はビットコインであったものだといえますが、現在は全く別物のブロックチェーンであり仮想通貨です。
この後のレッスンでは、そんなビットコインキャッシュの誕生経緯や特徴、独自の仕組みについて理解を深めていきます。
Check your achievement
Click the “Tick” button
if you understand the lesson so far.