ビットコインのスケーラビリティ問題

ヒロ

ビットコインのことを調べてたら出てきた「スケーラビリティ問題」って何ですか?
ヒロくん、ブロックチェーンの仕組みは分かるかしら。

ルリ先輩

ヒロ

うーん、何となくですが…。”ブロック”に見立てた取引データが、時間と共にどんどん作られてくんですよね。”チェーン(鎖)”みたいに前のデータを引き継いでいくから改ざんできないとかなんとか…。
そうそう。ざっくり言うと増大した取引データがブロックチェーンの処理速度をオーバーして起こる問題のことよ。

ルリ先輩

参考:ブロックチェーンおさらいはここ!

「スケーラビリティ」ってどういう意味?

英語のスケーラブル(scalable)には「拡大・縮小可能な」「拡張性のある」という意味があります。

IT・ビジネス業界や、ここでのスケーラビリティ(scalability)とは、既存のシステムやアルゴリズムを大幅に変更せず、様々な量や質の異なる処理に適宜対応できる拡張性のことを指します。

ヒロ

色々な処理をどれだけ柔軟に対応できるか、みたいな感じかな

ブロックの容量が1MBまでに制限されているのが原因


ビットコインの需要が高まって取引が増えると、当然ですが取引データも増大します。ビットコインのブロックの容量は上限が1MBに制限されていて小さいため、ブロックのデータがすぐにいっぱいになってしまい入りきらない取引データが出てきます。

ビットコインの取引が増えれば増えるほど処理の遅延が発生し、送金が遅延したり承認されない、マイナー手数料(計算処理をする人に支払う手数料)が高騰する問題が発生しました。これでは本来のビットコインが持つ利便性が失われてしまいます。

スケーラビリティ問題の解決方法として大きく2つが行われる

この問題が上がっていた2017年頃、解決するための方法が考えられました。

  1. 取引データを圧縮(小さく)する
  2. ブロックの容量を大きくする
1番目の取引データを圧縮(小さく)するは、「セグウィット(Segwit)」という方法です。Segwitは”Segregated Witness​”の略で、直訳すると「分離された証人」です。

取引データの中にある一部の署名データを別の領域に移すことでデータ容量を少なくするというもので、既存のルールを保ちつつアップデートが可能な「ソフトフォーク」の例です。結果的にビットコインはセグウィットが導入されました。

参考:ソフトフォークとSegwit(セグウィット)


2番目のブロックの容量を大きくするですが、処理の遅延は解消されるものの一部デメリットがありました。

まずブロックの容量を大きくすると計算処理にコストがかかり、より高性能なマイニングマシンを持つ一部のユーザーしか参加できなくなり独占が進むリスクがあることです。

これは本来、管理者を持たないというブロックチェーンの理念から外れてしまうおそれがあります。

これを実現するためには既存のルールとは大きく異なるアップデートが必要です。しかしコミュニティの中でビットコインの理念を重視するメンバーの合意が得られず、結果的にビットコインは分岐(ハードフォーク)することになりました。その結果、新しく誕生した暗号資産がビットコインキャッシュです。

参考:ソフトフォークとハードフォーク