イントロダクション
ブロックチェーンスケーラビリティ問題
その結果として、ここがボトルネックとなっています。ブロックチェーンは一定間隔毎に発車する電車のようなサービスと考えることができます。それぞれの車両の座席数には限界があり、チケットを手に入れるには旅行者は場所を確保するために入札しなければいけません。もしも、全員が同時に電車に乗ろうとした場合、場所を確保するための価格は高騰します。同様に、ネットワークが保留中のトランザクションで混雑した場合ユーザーはタイムリーにトランザクションをブロックチェーンに追加してもらうにはより高い手数料を支払う必要があります。
イーサリウムの考案者であるヴィタリック・ブテリンはブロックチェーンが直面している課題を説明するためにスケーラビリティのトリレンマという言葉を作りました。彼はプロトコルはスケーラビリティ、セキュリティ、そして分散性のトレードオフが必須であることを理論化しました。これらのうちの2つに重点を置くと残った1つがおろそかになってしまうため、これら3つは緩やかに対立しています。
オフチェーンスケーリングソリューションとは?
オフチェーンスケーリングソリューションとは、ブロックチェーンに付加をかけることなく、トランザクションを実行できるようにするアプローチです。チェーンにプラグインされたプロトコルによって、ユーザーはメインチェーン上でトランザクションを表示することなく、資金の送金と受取ができます。ここからはこういったソリューションの中でも最も有名な2つであるサイドチェーンとペイメントチャネルを見ていきます。
サイドチェーンの紹介
サイドチェーンとは?
サイドチェーンは別のブロックチェーンです。しかしながら、独立したプラットフォームではなく、何らかの方法でメインチェーンにペッグされています。そのメインチェーンとサイドチェーン間では資産が自由に行き来することができ、これをインターオペラビリティと呼びます。
サイドチェーンの仕組み
アリスは5BTCを持っているとします。彼女はそれをビットコインのサイドチェーン上の同じ単位の資産と交換したいとします。このサイドチェーンはメインチェーンとサイドチェーン間で資産の行き来ができる、両方向ペッグを使用しています。
これでアリスは持っていたコインをサイドコインに変換しましたが、今やったプロセスの逆を行うことで、いつでもビットコインを取り戻すことができます。現在、彼女はサイドチェーン上でアセットを持っているので、この違うブロックチェーン上で自由に取引を行うことができます。彼女がメインチェーンで行っているのと同様に、誰かにサイドコインを送ったり、受け取ったりすることができます。
彼女はバイナンスパーカーのために、ボブに1サイドコインで支払いをすることもできます。彼女がビットコインを取り戻したくなったら、残っている4サイドコインを特別なアドレスに送ることができます。トランザクションが承認されたら、4BTCはアンロックされ、メインチェーン上で彼女が管理しているアドレスに入金されます。
サイドチェーンが使用される理由
アリスは普通にビットコインのブロックチェーンを使えばよくて、わざわざサイドチェーンを使う意味がわからないかもしれないので、ここからその説明をしていきます。
確かに、日々の小額の支払いにこのレベルのセキュリティの必要性はおそらくないでしょう。アリスがコーヒーの支払いをする場合、彼女はトランザクションが承認されるのを待つことはしないでしょう。もしも、彼女が承認されるまで待っていたら、飲み物は渡される頃には 冷たくなっているでしょう。
興味深いことに、サイドチェーンは基盤となるチェーンに影響を与えることなく、致命的なバグを持つ可能性もあります。これによって、サイドチェーンを実験用のプラットフォームとして使ったり、ネットワークの大半の合意が必要な機能を展開するために使ったりすることができます。
ユーザーがこのトレードオフに満足しているとしたら、サイドチェーンは効率的なスケーリングに向けた必須のステップとなるでしょう。メインチェーンノードにはサイドチェーンからの全トランザクションを保管するという要件はありません。アリスはたった1回のビットコイントランザクションでサイドチェーンに入り、何百ものサイドコインでのトランザクションを実行し、それからサイドチェーンから出ることができます。ビットコインブロックチェーン上では、彼女はサイドチェーンへ入る時とそこから出た時の2回しかトランザクションを実行していません。
ペイメントチャネルの紹介
ペイメントチャネルとは?
スケーラビリティという観点では、ペイメントチャネルはサイドチェーンと同じ機能を果たしますが、基本的にこの2つは全く違う技術です。サイドチェーンのように、ペイメントチャネルでもブロックチェーンが混雑しないようにトランザクションをメインチェーン以外のところで実行します。しかし、サイドチェーンとは違って、ペイメントチャネルでは機能するための別のブロックチェーンは必要ではないです。
ペイメントチャネルの仕組み
ここでは、それぞれが10BTCを入金し、アドレスには20BTCがあるとしましょう。アリスとボブの両方がそれぞれ10BTCを持って始めたことを示すバランスシートを維持するのは簡単です。もしも、アリスがボブにコインを与えたい場合、それをアップデートして、アリスは9BTC、ボブは11BTCを持っているとします。彼らは、この残高を更新し続ける限り、ブロックチェーンに公開する必要はありません。
しかし、ある時、アリスが5BTC、ボブが15BTCになった時、彼らはこれらの残高を共有のアドレスに送り、署名し、それを広めるトランザクションを作成することができます。
アリスとボブはバランスシートに好きなだけトランザクションを記録することができました。しかし、ブロックチェーンに関する限り、彼らは2つのオンチェーン操作しか行っていません。1つは最初のアドレスにそれぞれ資金を送金するトランザクションで、もう1つは取引が終わったら残高を再配分するためのトランザクションです。この2つを除けば、他のすべての取引は無料で、オフチェーンで行われるため、ほぼ即時に行われます。支払うべきマイナー手数料も、待つべきブロック確認もありません。
ペイメントルーティング
ペイメントチャネルが大量のトランザクションを行うである当事者にとっては便利なのは疑いようがないです。しかし、このソリューションはさらに進化しています。これらのチャネルのネットワークは拡大することが可能なので、アリスは直接つながっていない当事者に支払いをすることができます。もしも、ボブがキャロルとチャネルを開いていたら、十分な残高さえあれば、アリスは彼女に支払いをすることができます。アリスはボブの方に資金を送り、ボブはそれをキャロルに転送します。もしも、キャロルが別の参加者であるダンと繋がっていた場合、同じようにアリスからダンに資金を送ることができます。
このようなネットワークは誰もが複数のピアと接続している、分散型トポロジーに進化します。たいていの場合、宛先までは複数のルートがあり、ユーザーは最も効率的なものを選ぶことができます。
まとめ
基盤となるブロックチェーンに負荷をかけることなく、トランザクションを行うことを可能にする2つのスケーラビリティアプローチについてここで見てきました。サイドチェーンもペイメントチャネルテクノロジーの両方ともまだ成熟していません。しかし、ベースレイヤートランザクションの欠点を回避したいユーザーによってどんどん活用されるようになってきています。
時間が過ぎて、より多くのユーザーがネットワークに参加すると、分散性が維持されることが重要です。これは、新しいノードが簡単に参加できるようにするために、ブロックチェーンの成長に限界を設定することでしか実現できません。オフチェーンスケーラビリティソリューションの支持者は、将来的にはメインチェーンは高価値なトランザクションやサイドチェーンのペッグ関連とチャネルの開設/閉鎖にしか使われなくなると信じています。