【レッスン③】ビットコインとビットコインキャッシュ

Why does this lesson matter?

ビットコインキャッシュは、ビットコインからハードフォークすることで誕生しました。なぜハードフォークしなければならなかったのか、その経緯とスケーラビリティ問題への対応方針について理解を深めましょう。なお、ビットコインからハードフォークした後もビットコインキャッシュは度々ハードフォークを繰り返しています。そのため、本レッスンで学習する内容は細かなハードフォークについては触れず2020年10月時点のものとしています。

What you can learn in this lesson

  • ビットコインとビットコインキャッシュの違い
  • ハードフォークの経緯
  • スケーラビリティ問題への対応

ビットコインから生まれたビットコインキャッシュ

ビットコインキャッシュは、ビットコインからハードフォークすることで2017年8月に誕生した新たなブロックチェーンです。

ブロックチェーンが分岐したことで仮想通貨も新たに誕生しました。

通貨コードは、ビットコインがBTCであるのに対してビットコインキャッシュはBCHと表記します。


基本的な仕組みはビットコインと変わりません。

これはビットコインからハードフォークすることで誕生した背景を鑑みると自然なことだといえるでしょう。


ビットコインとの最大の違いとしては、ブロックサイズが2020年12月時点で32MBに拡張されている点です。

ビットコインが1MBであるのに対し、ビットコインキャッシュは非常に大きなブロックサイズを誇ります。


ブロックサイズが大きくなることで、1つのブロック内に格納できるデータ量が多くなり、結果的にスケーラビリティ問題の解決に繋がります。


このブロックサイズは、ハードフォークによって誕生した直後は8MBに設定されていました。

その後、ビットコインキャッシュの需要が高まり取引が増加するにつれて徐々にブロックサイズを拡張し、現在の32MBに至っています。


Check your achievement

Click the “Tick” button
if you understand the lesson so far.

なぜハードフォークは起きたの?

そもそもなぜ、ビットコインのハードフォークは起きたのでしょうか。


ビットコインとビットコインキャッシュの場合は、需要が高まるつれてスケーラビリティ問題が浮き彫りとなり、対応するために2つの方法が提案されたことに起因します。

Segwit(セグウィット」と「Big Block(ビッグブロック)」です。


両者についてはこの後学習しますが、最後までこの2つのどちらを選択するかコミュニティで意見がまとまらず、痺れを切らしたBig Block派の人々がハードフォークを決行しました。


すなわち、Segwit派がビットコイン、Big Block派がビットコインキャッシュです。

いずれもスケーラビリティ問題への対応は必要としながらも、その対応方法に違いが生じたことからハードフォークするに至っています。


このように、ブロックチェーンの運営というのは非常に難しく、ビットコインのような規模の大きいプロジェクトになるほどコミュニティの意見は分かれやすくなってしまいます。


Check your achievement

Click the “Tick” button
if you understand the lesson so far.

SegwitとBig Block

ビットコインとビットコインキャッシュの主な違いは、スケーラビリティ問題への対応方針です。

これがハードフォークを発生させたそもそもの原因でもあります。


まずはBig Blockからみていきましょう。

Big Blockは、文字通りブロックサイズの拡張でありビットコインキャッシュ(BCH)が選択した処理性能を高めるためのソリューションです。


各ブロックに格納できるトランザクションに上限があるのであれば、その上限を引き上げようという考え方であり、至ってシンプルだといえるでしょう。


次にSegwitですが、こちらは現在のビットコイン(BTC)が選択したスケーリングソリューションです。

Big Block派が選択したブロックサイズの拡張に対して、Segwitはブロック内に格納するデータサイズを削減しようというアプローチを取りました。


ブロックチェーンを構成する各ブロックの中身は以下のような構造になっています。


つまり、ブロック内に格納されているデータはトランザクション(取引)を中心に構成されているのです。

このトランザクションをさらに細かく見てみると、次のような構造になっています。


Segwitでは、このトランザクションに含まれる署名の部分を取り出し、ブロックとは別の新たな領域に格納しようというアプローチを取りました。


こうすることで、ブロックに格納するトランザクションの量を増やすことができます。

つまり、ブロックサイズを拡張せずとも結果的にスケーラビリティ問題に対応することができるのです。


Big Blockは入れ物となる箱を大きくしようというアプローチ、Segwitは入れ物はそのままに入れるものを小さくしようとするアプローチになります。


なお、ビットコインキャッシュがブロックサイズの拡張を選択した理由としては、全てのトランザクションブロックチェーン内で記録するためです。

ビットコインでは、ライトニングネットワークなどのオフチェーンによってトランザクションを処理する仕組みが進められている一方、ビットコインキャッシュは全てオンチェーンで処理しようとしています。


理由としては、オンチェーンに記録しておくことでトランザクションを全て透明な状態で管理することができるからです。

また、オフチェーンで処理されるトランザクションオンチェーンで処理されるトランザクションと異なる性質を持っているため、場合によってはオフチェーンで処理できないトランザクションが出てくる可能性があります。


レッスン1で学習した通り、ブロックサイズは小さすぎても良くないという点も重要です。

1つ1つのブロックサイズが小さすぎる場合、外部の攻撃者は容易に全てのブロックを不正なトランザクションで埋めることができてしまいます。


サトシ・ナカモトは、ビットコインやビットコインキャッシュの取引が増加するにつれてブロックサイズを拡大していくよう発明当時から設計していました。

その思想を汲み取ったのがビットコインキャッシュであり、設計通りブロックサイズを徐々に拡大し続けているのです。


Check your achievement

Click the “Tick” button
if you understand the lesson so far.

0%

You haven’t finished all the lessons. Make sure to complete them before taking a quiz!

You can start a quiz by clicking the button below.