スケーラビリティ問題とは

編集:
安藤 啓明 (Hiroaki Ando)
この記事の編集者
安藤 啓明

暗号資産 (仮想通貨) に関する記事のディレクターで、これまでにも「お金」をテーマにした記事のディレクションを多数行った経験があります。

編集ポリシー

スケーラビリティ問題とは

ネットワークが正常に処理できる範囲以上に需要が増加してしまうことを、スケーラビリティ問題と呼びます。ブロックチェーンの需要が増大することによって発生している問題は、データ処理の遅延およびネットワーク手数料の高騰です。

ブロックチェーンでスケーラビリティ問題が発生するしくみを、ブロックチェーンで取引が完了するメカニズムをもとに説明しましょう。

近い時間帯に発生した数多くの取引データが「ブロック」にまとめられることにより、ブロックチェーンのデータベースが更新され取引が完了します。ただし「ブロック」には一定の容量制限があるほか、生成されるスピードが一定という縛りもあるのです。

取引データが増大すると、現在のブロックにすべての取引データが記録できなくなります。すると、処理されないままネットワーク上に残ってしまう取引データが発生し、処理が遅延します。そして、ユーザーは自分の取引を優先的に処理してもらうため、より高いネットワーク手数料を設定するようになり、結果的にネットワーク手数料の高騰を引き起こします。

取引データを「バスを待つ人」、ブロックを「乗れる人数が決まっているバス」、ネットワーク手数料を「バス代」に例えるとわかりやすいかもしれません。バスを待つ人の数がバスの定員よりも少なければ、全員がバスに乗れます。ですが、バスの定員よりもはるかに多い人数のバスを待つ人がいる場合、バスに乗れない人が発生していまいます。

ルール上、バスの増便やより多くの人が乗れるバスを手配するといったことは行われません。よって次のバスが来るまでの間にバスを待つ人がさらに増えていく、といったことが起こります。これがスケーラビリティ問題においてデータ処理が遅延するしくみです。

また、次のバスに乗れるのは、早くからバス待っていた人ではなく、バス代をより多く払う人というルールがあるため、バス代を安く済ませようとする人はいつまで経ってもバスに乗れません。たとえば、バス代に100円を支払う人は、後から来たバス代に1000円を支払う人にどんどん先を越されてしまいます。バスに乗るためにはより高いバス代を払わざるを得なくなるでしょう。このようにしてネットワーク手数料が高騰します。

スケーラビリティ問題の代表的な解決策

ブロックの容量を拡大する

1ブロックあたりの容量を増やすと、1度に処理できる取引データの量が増えるため、スケーラビリティ問題を解決する方法の1つとされています。ですが、さらにネットワークの利用者が増大すれば、再びブロックサイズを増やす必要があるため、根本的な解決策にはなりません。

またブロックチェーンが更新されるたびに更新データを取得するするノードにとって、ブロックサイズが増えることは望ましいものではありません。なぜなら大きなサイズのものをたびたびダウンロードするには、インターネット環境やコンピューター設備を増強する必要があるからです。

設備を強化できるほど資金が潤沢なノードは限られるため、多数の人たちによって運営される分散ネットワークというブロックチェーンの原則が崩れてしまうでしょう。

ブロックに書き込む取引データを縮小する

ブロックに書き込まれる取引データの量を減らして、より多くの取引データがブロックに収まるようにする方法があります。ビットコインが2017年に実装した技術「SegWit (セグウィット)」もこの方法のひとつです。

ただしこの方法によってスケーラビリティが改善しても、取引データがさらに増加したときに別の技術を実装する必要があります。

ブロックが生成される時間を短縮する

ブロックの生成間隔を短くすると、時間あたりに生成されるブロックの数が増えるため、処理の遅延を防ぐ効果があります。ですがこの方法は、セキュリティ上の大きな問題を引き起こします。

そもそも次のブロックの生成までに一定の時間が設けられているのは、各ノードにおいてデータ更新の時間が必要だからです。集中的にサーバーが管理するネットワークとは異なり、ブロックチェーンは分散型で運営されているため、各ノードが新しいブロックを取得するには時間がかかります。

もしブロック生成時間が短縮された場合、各ノードが新しいブロックを取得する前に、次のブロックが生成されるでしょう。そうすると正しいブロックが取り込まれなかったり、ブロックチェーンが分岐したり、攻撃者による二重支払い攻撃を受けたりするリスクが高まります。

ブロックチェーンの外で取引を行う

ブロックチェーンについては何も変更せず、処理遅延の問題を解決しようとするのがオフチェーンスケーリングです。ブロックチェーンの外部で処理を行うしくみで、レイヤー2スケーリングとも呼ばれます。

一般的なオフチェーンスケーリングでは、取引データは最初からレイヤー2へ送信され、処理された後にメインネット (レイヤー1) で固定されます。最もよく知られている
オフチェーンスケーリングは、ビットコインのライトニングネットワークです。

PoWからPoSに変更

コンセンサスアルゴリズムをPoWからPoSへ変更することも、スケーラビリティを向上させる可能性があります。

PoWの場合、一定以上の時間を要する数学的パズルを誰よりも速く解くことで、次のブロックを生成する人が決まります。一方PoSでは、コインの保有量に応じて次のブロックを生成する人をシステムがランダムに選択するため、ブロック生成者 (マイナー) は競争する必要がありません。PoSは作業量に依存しないため、効率的にブロックを生成できます。

スケーラビリティ問題を解決・対処中の仮想通貨

ビットコインキャッシュ (BCH)

ビットコインキャッシュは、ブロックサイズを大きくすることでスケーラビリティに対処しました。もともと1MBだったブロックサイズを8MBに変更し、さらに32MBまで拡張しました。なお8MBにサイズをアップしたときに、ビットコインから分岐 (ハードフォーク) しています。

イーサリアム (ETH)

イーサリアムは「イーサリアム2.0」というアップグレードにおいて、スケーラビリティに対処する予定です。

イーサリアム2.0では、コンセンサスアルゴリズムをPoWからPoSへ変更するとともに、「シャーディング」というブロックチェーンを分割するしくみが導入されます。シャーディングを実装することにより、64個のシャードチェーンに負荷が分散され、取引データを高速で処理できるようになるとされています。

イオス (EOS)

イオスは、イーサリアムのようなアプリを開発、構築できるプラットフォーム型のブロックチェーンです。イオスの処理速度は、現在のイーサリアムよりも高速です。その理由のひとつが、コンセンサスアルゴリズムにDPoS (Delegated Proof of Stake) を採用していることです。

DPoSの特徴は、ブロック生成者が少人数であることです。DPoSでは、選挙によって選ばれる「デリゲーター」からブロックを生成する人が選ばれます。各ノードが更新データを取得するのにかかる時間は、他のアルゴリズムよりも短いのがメリットです。

バイナンスコイン (BNB)

バイナンススマートチェーン (BSC) は、イーサリアムと互換性を持ち、Dappsを構築できるプラットフォーム型のブロックチェーンです。内部通貨バイナンスコインをもつバイナンスチェーン (BC) とは別のものです。

バイナンススマートチェーンは、コンセンサスアルゴリズムに「プルーフ・オブ・ステーク・オーソリティ(PoSA) 」を採用しており、バイナンスコインの保有者によって選ばれた21人という少数の「バリデーター」がブロックを生成するしくみによって、高速な処理速度を実現しています。

ただし、バイナンスコインの大口保有者はバイナンスと近い関係の団体に多いです。バイナンススマートチェーンは、中央集権的な面があるといえるでしょう。

ソラナ (SOL)

ソラナは、Dappsの作成ができるブロックチェーンです。既存のしくみとはまったく異なる「プルーフ・オブ・ヒストリー (PoH) 」を採用することで、スケーラビリティを向上させています。

PoHでは新しいブロックを作成したときに、コンセンサスを得るのに他のノードと相互通信を行う必要がありません。これにより、非常に高いTPS (Transaction Per Second) を誇っているのが特徴です。

スケーラビリティ問題まとめ

スケーラビリティ問題についてかんたんにまとめると、次のとおりです。

想定以上に取引件数が増えるとスケーラビリティ問題が発生する
取引処理が遅延し手数料が高騰する
いくつかのブロックチェーンはスケーラビリティ問題に対処している

ブロックチェーンが一般に普及するためには、スケーラビリティ問題への対処は欠かせないでしょう。

仮想通貨取引所(総合)ランキング

国内
海外
人気記事
新着記事
編集部おすすめHOTトピック記事
広告掲載 / お問い合わせ
「Kasobu」への広告掲載・そのほかご相談は、下記お問い合わせボタンよりご連絡ください。
お問い合わせ
Kasobu / 仮想通貨投資情報サイトの Twitter