導入
スケーラビリティとは、広義には、需要の増加に対応するために拡張できるシステムの能力を指します。コンピューティングでは、ハードウェアをアップグレードすることでマシンのパフォーマンスを向上させ、特定のタスクの実行を高速化することがあります。ブロックチェーンのスケーラビリティについて話すとき、私たちはより多くのトランザクションを処理できるようにする能力の向上を指します。
ビットコインのようなプロトコルには多くの利点がありますが、スケーラビリティはその 1 つではありません。ビットコインが中央所有のデータベースで実行されていれば、管理者が速度とスループットを向上させるのは比較的簡単です。しかし、ビットコインの価値提案(つまり、検閲への耐性)には、多くの参加者がブロックチェーンのコピーを同期することが必要です。
ブロックチェーンのスケーラビリティ問題
ビットコインノードの実行は比較的安価で、シンプルなデバイスでも実行できます。しかし、何千ものノードが互いに最新の状態を維持する必要があるため、その容量には一定の制限があります。
データベースが手に負えないほど大きくならないように、オンチェーンで処理できるトランザクションの数には上限が設けられています。データベースが急激に大きくなりすぎると、ノードが追いつかなくなります。さらに、ブロックが大きすぎると、ネットワーク全体に迅速に中継できなくなります。
その結果、私たちはボトルネックのようなものに陥っています。ブロックチェーンは、一定の間隔で出発する列車サービスと見なすことができます。各車両の座席数は限られており、チケットを入手するには、旅行者は場所を確保するために入札する必要があります。全員が同時に列車に乗ろうとすると、価格は高くなります。同様に、保留中のトランザクションで混雑したネットワークでは、ユーザーはトランザクションをタイムリーに含めるために高い手数料を支払う必要があります。
解決策の 1 つは、車両を大きくすることです。これにより、座席数が増え、スループットが向上し、チケットの価格が安くなります。ただし、座席が以前のように埋まらないという保証はありません。車両を永久に広げることはできません。ブロックやブロック ガス制限が無限に拡張できないのと同じです。後者の場合、同期を維持するためにより高価なハードウェアが必要になるため、ノードがネットワーク上にとどまるコストが高くなります。
イーサリアムの創始者ヴィタリック・ブテリンは、ブロックチェーンが直面する課題を説明するために「スケーラビリティのトリレンマ」という造語を考案しました。彼は、プロトコルはスケーラビリティ、セキュリティ、分散化の間でトレードオフを行う必要があると理論づけています。これらは互いに多少矛盾しており、2 つの特性に重点を置きすぎると、3 つ目の特性が悪くなります。
このため、多くの人は、スケーラビリティはオフチェーンで実現されるべきものであると考えていますが、セキュリティと分散化はブロックチェーン自体で最大化されるべきです。
オフチェーンスケーリングソリューションとは何ですか?
オフチェーン スケーリングとは、ブロックチェーンを肥大化させることなくトランザクションを実行できるアプローチを指します。チェーンにプラグインするプロトコルにより、ユーザーはメイン チェーンにトランザクションが表示されずに資金を送受信できます。この分野で最も注目すべき 2 つの進歩、サイドチェーンと支払いチャネルについて詳しく説明します。
サイドチェーンの紹介
サイドチェーンとは何ですか?
サイドチェーンは独立したブロックチェーンです。ただし、メインチェーンに何らかの形で固定されているため、スタンドアロンのプラットフォームではありません。メインチェーンとサイドチェーンは相互運用可能であり、資産は一方から他方へ自由に移動できます。
資金を移送できるようにする方法はいくつかあります。場合によっては、資産はメインチェーンから特別なアドレスに預け入れられて移動されます。資産は実際には移送されず、アドレスにロックされ、サイドチェーンで同額が発行されます。より簡単な(ただし集中化されたオプション)方法は、資金を保管人に送り、保管人が預け入れた資金をサイドチェーンの資金と交換することです。
サイドチェーンはどのように機能しますか?
友人のアリスが 5 ビットコインを持っているとします。アリスはそれをビットコイン サイドチェーン上の同等の 5 つの単位 (サイドコインと呼ぶことにします) と交換したいと考えています。問題のサイドチェーンは双方向ペグを使用しているため、ユーザーは資産をメインチェーンからサイドチェーンに転送することも、その逆も可能です。
サイドチェーンは別のブロックチェーンであることを覚えておいてください。したがって、サイドチェーンには異なるブロック、ノード、検証メカニズムがあります。サイドコインを取得するために、アリスは 5 ビットコインを別のアドレスに送信します。そのアドレスは、ビットコインを受け取ったら 5 サイドコインをアリスのサイドチェーン アドレスに入金する誰かの所有物である可能性があります。または、ソフトウェアが支払いを検出するとサイドコインが自動的に入金される、信頼を最小限に抑えた設定になっている可能性があります。

アリスはこれでコインをサイドコインに変換しましたが、いつでもプロセスを逆にしてビットコインを取り戻すことができます。サイドチェーンに入ったので、この別のブロックチェーンで自由に取引できます。メインチェーンの場合と同じように、サイドコインを送信したり、他の人から受け取ったりできます。
たとえば、彼女はボブにバイナンスのパーカーを買うためにサイドコインを 1 枚支払うことができます。ビットコインに戻りたいときは、残りのサイドコイン 4 枚を特別なアドレスに送信できます。取引が確認されると、4 ビットコインがロック解除され、メインチェーン上で彼女が管理するアドレスに配信されます。
サイドチェーンはなぜ使用されるのですか?
これのポイントは何だろうと思うかもしれません。なぜアリスはビットコインのブロックチェーンを使わないのでしょうか?
答えは、サイドチェーンはビットコインではできないことができるかもしれないということです。ブロックチェーンは慎重に設計されたトレードオフのシステムです。ビットコインは最も安全で分散化された暗号通貨ですが、スループットの点では最高ではありません。ビットコインの取引は従来の方法よりも高速ですが、他のブロックチェーン システムと比較するとまだ比較的遅いです。ブロックは 10 分ごとにマイニングされ、ネットワークが混雑すると手数料が大幅に増加する可能性があります。
確かに、日常の小額の支払いにこのレベルのセキュリティは必要ないかもしれません。アリスがコーヒー代を払う場合、取引の確認を待つつもりはありません。彼女は列に並ぶのを遅らせ、飲み物が手渡される頃には冷めてしまうでしょう。
サイドチェーンは同じルールに縛られていません。実際、サイドチェーンは機能するためにプルーフ オブ ワークを使用する必要さえありません。任意のコンセンサス メカニズムを使用したり、単一のバリデーターを信頼したり、任意の数のパラメーターを調整したりできます。メイン チェーンに存在しないアップグレードを追加したり、より大きなブロックを生成したり、迅速な決済を強制したりすることもできます。
興味深いことに、サイドチェーンには、基盤となるチェーンに影響を与えずに重大なバグが存在する可能性もあります。これにより、サイドチェーンを実験用のプラットフォームとして使用し、通常はネットワークの過半数の合意を必要とする機能を展開することができます。
ユーザーがトレードオフに満足している限り、サイドチェーンは効果的なスケーリングに向けた不可欠なステップになる可能性があります。メインチェーンのノードがサイドチェーンからのすべてのトランザクションを保存する必要はありません。アリスは、1 つのビットコイン トランザクションでサイドチェーンに入り、数百のサイドコイン トランザクションを実行してから、サイドチェーンから出ることができます。ビットコイン ブロックチェーンに関する限り、彼女は 2 回しか実行していません。1 回は入力、もう 1 回は出力です。
Ethereum の Plasma は似ていますが、いくつか大きな違いがあります。詳細については、「Ethereum Plasma とは何ですか?」をご覧ください。
支払いチャネルの紹介
支払いチャネルとは何ですか?
支払いチャネルは、スケーラビリティの面ではサイドチェーンと同じ目的を果たしますが、根本的には非常に異なります。サイドチェーンと同様に、支払いチャネルはトランザクションをメインチェーンから押し出して、ブロックチェーンが肥大化するのを防ぎます。ただし、サイドチェーンとは異なり、機能するために別のブロックチェーンは必要ありません。
支払いチャネルはスマート コントラクトを使用して、ユーザーがブロックチェーンにトランザクションを公開せずに取引できるようにします。これは、2 人の参加者間のソフトウェア強制契約を使用して行われます。
支払いチャネルはどのように機能しますか?
人気の Lightning Network のようなモデルでは、まず 2 者が共同所有するアドレスにコインを預けます。これはマルチ署名アドレスであり、資金を使うには 2 つの署名が必要です。したがって、アリスとボブがこのようなアドレスを作成した場合、資金は両者の同意がないと移動できません。
2人がそれぞれ10 BTCを、現在20 BTCを保有しているアドレスに入金したとします。アリスとボブがそれぞれ10 BTCを保有しているというバランスシートを維持するのは簡単です。アリスがボブにコインをあげたい場合、アリスは9 BTC、ボブは11 BTCを持っていると更新できます。これらの残高を更新し続ける際に、ブロックチェーンに公開する必要はありません。

しかし、いざというとき、アリスが 5 BTC を持ち、ボブが 15 BTC を持っているとします。その場合、両者はこれらの残高を当事者が所有するアドレスに送信するトランザクションを作成し、署名してブロードキャストすることができます。
アリスとボブは、バランスシートに 10 件、100 件、または 1,000 件の取引を記録している可能性があります。しかし、ブロックチェーンに関する限り、オンチェーンで実行された操作は 2 つだけです。1 つは最初の資金調達取引、もう 1 つは完了後に残高を再割り当てする操作です。これら 2 つを除くすべての取引は、オフチェーンで発生するため、無料かつほぼ即時です。マイナー手数料を支払う必要はなく、ブロックの確認を待つ必要もありません。
もちろん、上で説明した例では両者が協力する必要があり、見知らぬ人にとっては理想的な状況ではありません。ただし、不正行為を罰する特別なメカニズムを使用すれば、信頼関係がなくても安全にやり取りすることができます。
支払い経路
明らかに、支払いチャネルは、大量の取引が予想される 2 者にとって便利です。しかし、さらに良いことがあります。これらのチャネルのネットワークを充実させることができるため、アリスは直接接続されていない相手に支払うことができます。ボブがキャロルとのチャネルを開いている場合、十分な容量があればアリスは彼女に支払うことができます。アリスはチャネルのボブ側に資金をプッシュし、ボブはそれをキャロル側にプッシュします。キャロルが別の参加者であるダンと接続されている場合、同じことを行うことができます。
このようなネットワークは、誰もが複数のピアに接続する分散トポロジーに進化します。多くの場合、宛先までのルートは複数存在し、ユーザーは最も効果的なルートを選択できます。
最後に
基盤となるブロックチェーンに負担をかけずにトランザクションを行える 2 つのスケーラビリティ アプローチについて説明しました。サイドチェーンと支払いチャネルのテクノロジはどちらもまだ成熟していませんが、ベース レイヤー トランザクションの欠点を回避したいユーザーによってますます活用されています。
時間が経ち、より多くのユーザーがネットワークに参加するようになると、分散化を維持することが重要になります。これは、新しいノードが簡単に参加できるように、ブロックチェーンの成長に制限を課すことによってのみ達成できます。オフチェーン スケーラビリティ ソリューションの支持者は、やがてメイン チェーンは高額トランザクションの決済、またはサイドチェーンのペグイン/ペグアウトやチャネルの開閉にのみ使用されるようになると考えています。

