read現状のブロックチェーンは以下の3つの課題を抱えています。(流動性)本記事ではこのうちスケーラビリティとそのソリューションである、ステートチャネルとサイドチェーンにフォーカスします。Chain)は、どちらもブロックチェーンのスケーラビリティ問題を解決することを目的とし、メインチェーン以外の場所でのトランザクション処理を実現しようとしたレイヤー2技術です。この二つはアセットやステートをロックし、メインチェーンから外れたところ(レイヤー2)でトランザクションを処理するという同様のモデルを用いていますが、相違点もあります。今回はそれぞれの技術を簡単に確認し、相違点、それぞれのメリット、デメリットを明確化していきましょう。Channels)概要ステートチャネルとはオフチェーンで手数料フリーのコンスタントな決済を実現するものです。ビットコインのライトニングネットワークなどが有名ですが、これはステートチャネルの一種であるペイメントチャネルです。ステートチャネルとは、ペイメントチャネルよりもさらに幅広くチェーン全体の状態遷移までも反映したものを表します。コントラクトアカウントの状態(ステート)などです。スマートコントラクトまたはマルチシグを用いてステートをロックアップオフチェーンでトランザクション処理(この際に、最新のステートはいつでもメインチェーンに公開できる状態でなければならない)変更後の最新のステートをメインチェーンに提出して完了(ステートは閉じられ、ステートのロックは解除される)というステップを踏みます。この”ステート”が電子上の通貨の残高であれば、それはペイメントチャネルです。ステップ1,3でブロックチェーン処理が求められますが、ステップ2での処理数はオフチェーンのため無限です。ステップ2において最新ステートは常に古いステートを上書きします。chain)概要サイドチェーンとはメインチェーンに付随させたもう一つのブロックチェーンです。親チェーンからロックされたアセットを引っ張ってきて処理することができる点ではステートチャネルと同様ですが、決定的な違いはこのメインチェーン外での処理がオフチェーンでなく、別のブロックチェーン上で処理されるということです。レイヤー2での処理にもマイナーがついて検証と承認を行なっているということです。メインチェーン、サイドチェーンを区別して親チェーン、子チェーンと呼ぶこともあります。ユーザーはまず一定量の通貨を特定のアウトプットアドレスにロックすると、同量の通貨がサイドチェーンに解放されるので、それを用いて取引をします。この仕組みによって二重支払いを防ぎます。取引のプライバシーが強いステートチャネルでは、トランザクションが全てブロックチェーン上で行われるサイドチェーンと異なり、トランザクションは全てオフチェーンのチャネル内で行われ、ブロックチェーンで処理されるのは最初と最後のステートだけなので、個々のトランザクションの内容は任意で公開しない限りは第三者に知られることがなく、プライバシーが保たれます。全てのトランザクションにファイナリティがあるステートチャネルでは、チャネル内でのトランザクションは、”メインチェーンにはいつでも反映できるが、反映していないだけ”というcounterfactualの姿勢を取ることでトランザクションの信頼性を保ちます。そのため、個々のトランザクションにユーザー同士が署名した時点でファイナリティとみなすことができます。一度に大量のトランザクションが発生してもネットワークがダウンしないステートチャネルはオフチェーンで取引を行うため、ブロックチェーンの混雑を回避することができます。アダルトエンターテイメントプラットフォームのSpankChainはチャネル内でトークンセールを行いました。この性質を利用し、柔軟にトークンの価格と量を変更することが必要なダッチオークション形式のトークンセールを成功させました。参加者は常にオンラインでいなければならないサイドチェーンと異なり、参加者が常にオンラインでいなければなりません。ステートチャネルでは、取引の途中でもし参加者のうち一人が消滅してしまったら、全員が最終ステートに合意していると仮定され、メインチェーンに公開することができます。そのため、もしあなたが予期せずインターネットへのアクセスを失った場合、取引相手が自分にとって都合の良い状態でステートをメインチェーンに提出してしまう可能性があります。最新のステートが古いステートに優越しているよう、見張る必要があるのです。これは必ずしも本人である必要はなく、スマートコントラクトを通じて第三者に最新ステートのコピーを預け、必要な際に公開してもらうこともできます。代理人が攻撃されたり買収されたりするリスクもあります。contractが常に参加者、参加団体を把握している必要があります。contractを書き換えなければなりません。そのため、不特定多数の参加するサービスにはあまり向いておらず、参加者の固定されているサービスに向いています。contractをデプロイしたりとイニシャルコストがかかるため、長期にわたる継続的な取引がある場合でないとあまりメリットがありません。長期にわたる継続的な取引がある場合、コンスタントなマイクロペイメントを実現できます。新しい取引を始める際の障壁が少ないサイドチェーンはチャネルとは異なり、取引を始める際に新しく開いたり閉じたりする必要がなく、一度作られたらそのまま保たれます。契約を始める際は新しい参加者をそのまま招待でき、終了する際もアセットをロックしてメインチェーンに戻すだけです。ブロックチェーン外で何かのタスクをしている参加者を全て同じサイドチェーンに招待することが可能なのです。Coin⇄ETHの交換ができるようにしていく予定でプロジェクトが進行中です。このように、サイドチェーンは一度開いたら永久的に利用でき、新しい参加者も同じチェーン上にそのまま参入することができます。NetworkとRaidenがソリューションとして、チャネルを開いていない参加者同士でも、共通してチャネルが開かれている他の参加者を通して繋がれる仕組みを提案しています。実験的に使えるサイドチェーンはメインチェーンから独立して機能する上に、異なる暗号通貨同士を交換できるため、ディベロッパーはアルトコインのベータ版や、ソフトウェアアップデートをメインチェーン上に公開する前にサイドチェーンで実験することができます。通常の銀行の行う通貨発行やシェア所有権の記録もメインチェーンで行う前にサイドチェーンでテストできます。劣っている点マイナーが必要となるため、開始するための初期投資が大きすぎるサイドチェーンをセキュアに機能させるためには、充分なマイナーが必要でり、しかもそれらのマイナーが必ずアクティブでなければ意味がありません。この点、ステートチャネルではブロックチェーンを利用しないため、このようなコストはかかりません。miningという、同じアルゴリズムを持つ異なる暗号通貨を同時にマイニングできる仕組みが整えられています。Rootstockというプロジェクトでは、RSKトークンはビットコインと同時に掘ることができます。Federationが必要であるサイドチェーンの構造には、メインチェーンとサイドチェーンの仲介点となるFederationという組織が存在し、通貨のロックと解除のタイミングを決定します。Federationの構成メンバーはサイドチェーンの生成者が選びます。この層が必要なのかというと、メインチェーンのセキュリティを守るためです。サイドチェーンに十分なマイナーがいなければハッキングされる可能性があります。このようにサイドチェーンを完全にメインチェーンから独立して動くようにすることで、万が一サイドチェーンがダウンしてしまった場合でもメインチェーンに影響が出ないようにしています。逆に、メインチェーンがダウンしてしまった場合も、サイドチェーンは残りますが、大部分の価値を失うことになります。この構造の問題点は、メインチェーンとサイドチェーンの間にもう一つのレイヤーを生じさせてしまうことです。メインチェーンとサイドチェーンの間に新たなレイヤーを追加すると、カウンターパーティにとっての攻撃対象を増やすことになります。ハッキングや買収をされる恐れがあります。まとめこのように、現在の時点ではStateChannelsとSideChainは成長中の段階であり、各々の問題点を解決しようとするプロジェクトも多く動いています。そのため、一概に優劣をつけることはできませんが、それぞれに適したユースケースが今後もどんどん生まれていくでしょう。どちらもブロックチェーンをスケーリングさせるという目的は同じであるため、もしかしたら今後この二つのハイブリッドのようなテクノロジーが生まれるかもしれません。5月お問い合わせ事例の紹介や、事業に合わせた提案など承っております。こちらのフォームからお申し込みください。2018特定業界や地域に特化した調査レポートの作成や、ブロックチェーンを活用したビジネスのプランニング等も承っております。