ステートチャネルとサイドチェーンの違いとその応用を考察する

ステートチャネルとサイドチェーンの違いとその応用を考察する

Kouta Takeuchi
Kouta Takeuchi
2018/12/14

現状のブロックチェーンは以下の3つの課題を抱えています。

  • スケーラビリティ (拡張性)
  • インターオペラビリティ (相互運用性)
  • リクイディティ (流動性)

本記事ではこのうちスケーラビリティとそのソリューションである、ステートチャネルとサイドチェーンにフォーカスします。

共通点

ステートチャネル(State Channels)とサイドチェーン(Side Chain)は、どちらもブロックチェーンスケーラビリティ問題を解決することを目的とし、メインチェーン以外の場所でのトランザクション処理を実現しようとしたレイヤー2技術です。

この二つはアセットやステートをロックし、メインチェーンから外れたところ(レイヤー2)でトランザクションを処理するという同様のモデルを用いていますが、相違点もあります。

今回はそれぞれの技術を簡単に確認し、相違点、それぞれのメリット、デメリットを明確化していきましょう。

ステートチャネル(State Channels)概要

ステートチャネルとはオフチェーンで手数料フリーのコンスタントな決済を実現するものです。

ビットコインのライトニングネットワークなどが有名ですが、これはステートチャネルの一種であるペイメントチャネルです。

ステートチャネルとは、ペイメントチャネルよりもさらに幅広くチェーン全体の状態遷移までも反映したものを表します。例えばコントラクトアカウントの状態(ステート)などです。

  1. スマートコントラクトまたはマルチシグを用いてステートをロックアップ
  2. オフチェーンでトランザクション処理(この際に、最新のステートはいつでもメインチェーンに公開できる状態でなければならない)
  3. 変更後の最新のステートをメインチェーンに提出して完了(ステートは閉じられ、ステートのロックは解除される)

というステップを踏みます。

この”ステート”が電子上の通貨の残高であれば、それはペイメントチャネルです。

ステップ1,3でブロックチェーン処理が求められますが、ステップ2での処理数はオフチェーンのため無限です。また、ステップ2において最新ステートは常に古いステートを上書きします。

サイドチェーン(Side chain)概要

サイドチェーンとはメインチェーンに付随させたもう一つのブロックチェーンです。

つまり、親チェーンからロックされたアセットを引っ張ってきて処理することができる点ではステートチャネルと同様ですが、決定的な違いはこのメインチェーン外での処理がオフチェーンでなく、別のブロックチェーン上で処理されるということです。つまり、レイヤー2での処理にもマイナーがついて検証と承認を行なっているということです。

メインチェーン、サイドチェーンを区別して親チェーン、子チェーンと呼ぶこともあります。

ユーザーはまず一定量の通貨を特定のアウトプットアドレスにロックすると、同量の通貨がサイドチェーンに解放されるので、それを用いて取引をします。この仕組みによって二重支払いを防ぎます。

ステートチャネルとサイドチェーン比較

ステートチャネル

サイドチェーンより優れている点

  • 取引のプライバシーが強い

ステートチャネルでは、トランザクションが全てブロックチェーン上で行われるサイドチェーンと異なり、トランザクションは全てオフチェーンのチャネル内で行われ、ブロックチェーンで処理されるのは最初と最後のステートだけなので、個々のトランザクションの内容は任意で公開しない限りは第三者に知られることがなく、プライバシーが保たれます。

ステートチャネルでは、チャネル内でのトランザクションは、”メインチェーンにはいつでも反映できるが、反映していないだけ”というcounterfactualの姿勢を取ることでトランザクションの信頼性を保ちます。そのため、個々のトランザクションにユーザー同士が署名した時点でファイナリティとみなすことができます。

ステートチャネルはオフチェーンで取引を行うため、ブロックチェーンの混雑を回避することができます。アダルトエンターテイメントプラットフォームのSpankChainはチャネル内でトークンセールを行いました。この性質を利用し、柔軟にトークンの価格と量を変更することが必要なダッチオークション形式のトークンセールを成功させました。

劣っている点

  • 参加者は常にオンラインでいなければならない

サイドチェーンと異なり、参加者が常にオンラインでいなければなりません。

ステートチャネルでは、取引の途中でもし参加者のうち一人が消滅してしまったら、全員が最終ステートに合意していると仮定され、メインチェーンに公開することができます。

そのため、もしあなたが予期せずインターネットへのアクセスを失った場合、取引相手が自分にとって都合の良い状態でステートをメインチェーンに提出してしまう可能性があります。

だから、最新のステートが古いステートに優越しているよう、見張る必要があるのです。これは必ずしも本人である必要はなく、スマートコントラクトを通じて第三者に最新ステートのコピーを預け、必要な際に公開してもらうこともできます。

しかし、代理人が攻撃されたり買収されたりするリスクもあります。

  • 参加者を把握する必要がある

チャネルを開く際にステートをロックするためのjudge contractが常に参加者、参加団体を把握している必要があります。参加者を追加したり、削除するたびにjudge contractを書き換えなければなりません。そのため、不特定多数の参加するサービスにはあまり向いておらず、参加者の固定されているサービスに向いています。

  • 短期的な取引に向かない

チャネルを開くのにjudge contractをデプロイしたりとイニシャルコストがかかるため、長期にわたる継続的な取引がある場合でないとあまりメリットがありません。しかし、長期にわたる継続的な取引がある場合、コンスタントなマイクロペイメントを実現できます。

サイドチェーン

ステートチャネルより優れている点

  • 新しい取引を始める際の障壁が少ない

サイドチェーンはチャネルとは異なり、取引を始める際に新しく開いたり閉じたりする必要がなく、一度作られたらそのまま保たれます。

契約を始める際は新しい参加者をそのまま招待でき、終了する際もアセットをロックしてメインチェーンに戻すだけです。ブロックチェーン外で何かのタスクをしている参加者を全て同じサイドチェーンに招待することが可能なのです。例えば、dog coinというプロジェクトではこの特性を利用して、一度DogCoinを購入すれば取引所を経由せずにいつでもDog Coin⇄ETHの交換ができるようにしていく予定でプロジェクトが進行中です。

このように、サイドチェーンは一度開いたら永久的に利用でき、新しい参加者も同じチェーン上にそのまま参入することができます。

※この点に関しては、Lightening NetworkとRaidenがソリューションとして、チャネルを開いていない参加者同士でも、共通してチャネルが開かれている他の参加者を通して繋がれる仕組みを提案しています。

  • 実験的に使える

サイドチェーンはメインチェーンから独立して機能する上に、異なる暗号通貨同士を交換できるため、ディベロッパーはアルトコインのベータ版や、ソフトウェアアップデートをメインチェーン上に公開する前にサイドチェーンで実験することができます。また、通常の銀行の行う通貨発行やシェア所有権の記録もメインチェーンで行う前にサイドチェーンでテストできます。

劣っている点

  • マイナーが必要となるため、開始するための初期投資が大きすぎる

サイドチェーンをセキュアに機能させるためには、充分なマイナーが必要でり、しかもそれらのマイナーが必ずアクティブでなければ意味がありません。この点、ステートチャネルではブロックチェーンを利用しないため、このようなコストはかかりません。

これを解決するために、merged miningという、同じアルゴリズムを持つ異なる暗号通貨を同時にマイニングできる仕組みが整えられています。例えば、Rootstockというプロジェクトでは、RSKトークンビットコインと同時に掘ることができます。

  • Federationが必要である

サイドチェーンの構造には、メインチェーンとサイドチェーンの仲介点となるFederationという組織が存在し、通貨のロックと解除のタイミングを決定します。Federationの構成メンバーはサイドチェーンの生成者が選びます。

なぜこの層が必要なのかというと、メインチェーンのセキュリティを守るためです。もしサイドチェーンに十分なマイナーがいなければハッキングされる可能性があります。このようにサイドチェーンを完全にメインチェーンから独立して動くようにすることで、万が一サイドチェーンがダウンしてしまった場合でもメインチェーンに影響が出ないようにしています。

逆に、メインチェーンがダウンしてしまった場合も、サイドチェーンは残りますが、大部分の価値を失うことになります。

 

この構造の問題点は、メインチェーンとサイドチェーンの間にもう一つのレイヤーを生じさせてしまうことです。

メインチェーンとサイドチェーンの間に新たなレイヤーを追加すると、カウンターパーティにとっての攻撃対象を増やすことになります。ハッキングや買収をされる恐れがあります。

まとめ

このように、現在の時点ではStateChannelsとSideChainは成長中の段階であり、各々の問題点を解決しようとするプロジェクトも多く動いています。そのため、一概に優劣をつけることはできませんが、それぞれに適したユースケースが今後もどんどん生まれていくでしょう。

なた、どちらもブロックチェーンをスケーリングさせるという目的は同じであるため、もしかしたら今後この二つのハイブリッドのようなテクノロジーが生まれるかもしれません。

 


参照

 

LINE@

LINE@で最新情報をチェック!!

Economies 2.0のLINE@を友達に追加して 最新情報を受け取りましょう

LINE@で最新情報を受け取る