レイヤー2の主要な技術と今後の大きな方向性を理解する (2021年上半期時点)

目次

  • 前提
  • これまでのレイヤー2の技術変遷と今後の大きな方向性
  • Optimistic Rollupとzk Rollupの概要
  • サイドチェーンとレイヤー2は何が違うのか
  • 予想:レイヤー2は2021年以降どのように躍進するか
  • 総論
  • 参考リンク

前提

本レポートでは、レイヤー2の主要な技術を紹介し、今後の大きな方向性を理解することを目的とします。
近年Ethereumのブロックチェーンは混雑によりネットワーク手数料が高騰しており、スケーラビリティ問題が顕在化しています。レイヤー2とは、トランザクションをブロックチェーンの外部で安全に処理しようとする技術の総称です。これまで主要な技術として、State Channel、Plasma、Optimistic Rollup、zk Rollupなどが注目されてきました。Ethereumなどのブロックチェーンを一層目(レイヤー1)として取り扱い、これらの技術をその上の層で処理するというような抽象表現から、レイヤー2と呼ばれています。
これらの技術は2016年頃から研究開発が活発になっていますが、2021年上半期時点でも一般のユーザーがレイヤー2を気軽に使用するほどの状況にはなっていません。時間を要している理由は、トランザクションをオフチェーンで処理しながらも、セキュリティと検証性が高い状態を構築することが技術的に困難であるためです。
しかしながらレイヤー2の長い研究開発期間は徐々に実を結びつつあり、少しずつ利用しやすいレイヤー2のフレームワークが登場していることで、今後数ヶ月から1-2年で多数のユーザーがレイヤー2を利用することになるだろうと予想する声も多いです。
また、そもそもEthereumはコンセンサスメカニズムをPoSに移行するアップデートを含むEthereum 2.0への移行をしたとしても、レイヤー2を積極的に使用することを前提としており、Ethereumの将来性とレイヤー2の将来性は切っても切り離せない関係です。むしろ近い将来にレイヤー2がユーザーに利用できるものにならなければEthereumに未来はないと言い換えても、多少強い表現ではありますが、言い過ぎではないでしょう。
これらの観点からレイヤー2は重要な技術であり、本レポートではそのレイヤー2のこれまでの技術変遷と今後の大きな方向性、また今後主流となる技術だと期待されているOptimistic Rollupとzk Rollupの概要を解説します。そのうえでレイヤー2が2021年から半年、あるいは1-2年の時間軸でどのように躍進するかの未来予想にも筆者の視点で触れます。
なお、本レポートの内容は2021年上半期時点の現状から内容を纏めていることを予めご了承下さい。またレイヤー2とは、Bitcoinでも採用される技術ですが、本レポートでの中心は主にEthereum(またはその他のEVM互換のブロックチェーン)のレイヤー2について取り扱います。

これまでのレイヤー2の技術変遷と今後の大きな方向性

まずこれまでのレイヤー2の技術変遷と今後の大きな方向性について解説します。レイヤー2はこれまで長い研究開発期間があり、その間に注目されてきた技術や方向性が変遷しています。

Bitcoinのレイヤー2:Lightning Network

まずはレイヤー2に区分される最初の技術提案であるLightning Networkについて触れましょう。Lightning NetworkはBitcoinのレイヤーです。
Joseph Poon氏とThaddeus Dryja氏が『The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments 』という論文で2016年に提案しました。
Lightning Networkは現在においてもBitcoinの主要なスケーラビリティの手段として注目されています。また最近では、Lightning Network上のキャパシティも上昇傾向にあり、ネットワークの様々な指標が向上しています。
参照:https://bitcoinvisuals.com/lightning
Lightning Networkはペイメントチャネルの応用です。Lightning Networkは、第三者も含む双方向のペイメントチャンネルを構築します。ペイメントチャネルは、二者間で送金用のチャネルを開き、複数回数送金しあった最後の結果をオンチェーンに記録する技術です。
まず、送信者と受信者が鍵を持つマルチシグのウォレットに固定のBitcoinをデポジットします。このとき、チャネル開設のスクリプトを載せてトランザクションを送ることで「チャネル」というものが開きます。チャネルにはデポジットした人同士のBitcoinが供託金となり、Bitcoinを持っていることが証明されます。Lightning Network上には多くのチャネルが開いてあり、それらのチャネルを経由して目的の相手に送金をします。より多くのチャネルと繋がっているノードがハブの役割を果たすという設計が基本概念です。
Lightning Networkが提案された2016年時点では、Ethereum上のアプリケーションはまだ活発化しておらず、Ethereumのレイヤー2は議論に上がっていませんでした。しかし後に示すようにLightning NetworkはEthereumのスケーリングの議論にも影響を与えています。

Lightning NetworkをEthereumに応用:State Channel

ここからがEthereumのレイヤー2についてです。まずState Channelについて解説します。
Ethereumのネットワークが初めて混雑を経験したのは2017年で、CryptoKittiesというdAppsのユーザー増加によってネットワーク手数料が引き上がりました。これによってEthereumコミュニティはスケーラビリティ問題の解決を強く意識し始めます。
Ethereumのレイヤー2として初期に提案された技術はState Channelと呼ばれるものです。State ChannelはLightning Networkを応用したもので、特定の参加者間でチャネルを開き、オフチェーンで状態遷移を行い、ある時点でオンチェーンに記録をするというものです。
しかしBitcoinのレイヤー2であれば送金機能のみを拡張させればユーザー需要を満たせるのに対して、Ethereumではスマートコントラクトなどの機能もレイヤー2に持ち込みたい需要がありました。しかしペイメントチャネルを応用したState Channelではこの需要を満たせずに、主要なスケーリング技術になることが難しいと認識されるようになりました。スマートコントラクトの処理もできるGeneralized State Channelも提案されてきましたが、結局汎用性のあるスマートコントラクトの構築が困難であると指摘されることも多く主要な技術としては成長していません。Generalized State Channelは、Celer Networkなどが提供しているフレームワークです。
このようにState Channelは期待されたような汎用的なレイヤー2としては成長することがない見込みですが、最近では別の角度での発展をしています。それがConnextというプロジェクトで、ペイメントチャネルをレイヤー2間同士あるいはEVM互換のブロックチェーン同士で構築して、レイヤー2やサイドチェーンを横断するクロスチェーン流動性ネットワークを作る構想です。これについて詳しくは下記を参照して下さい。各レイヤー2の間で分離してしまう取引流動性を接続するネットワークという構想を持っています。

より汎用性が高いスケーリングを模索しようとした技術:Plasma

State Channelの課題が少しずつ明らかになってきた時期にPlasmaが提案されました。PlasmaはEthereum創設者のVitalik Buterin氏と、Lightning Networkを提案したJoseph Poon氏の2名によって2017年11月に提案されました。
Plasmaとはメインチェーン(親チェーン)に繋げることができるchild chain(子チェーン)のネットワークです。それぞれのchild chainは、今度はそのchild chainを親として別の子チェーンを繋げることができ、実質的に制限がなくchild chainを繋げることができるネットワークが想定されています。それぞれのチェーンは、各ノードオペレーターが稼働して独立的に運用されます。
Plasmaでは、Merkle Rootの短いブロックチェーンに書き込み、Merkle Rootさえ適切に変えさえすれば、汎用性を確保できるということを基本的なコンセプトにしていました。Merkle Rootには様々なMerkle Leafが含まれており、Merkle Leafには様々な資産データやトランザクションデータが格納されています。つまり、小さなMerkle Rootデータの変更をコントラクトアカウントのトランザクションによって変更すれば、Ethereumと同じセキュリティでオフチェーンに資産とコントラクトコードを拡張できます。
基本的なコンセプトは初期に提案されていたものの、Plasmaも問題を抱えていました。様々な資産データやトランザクションデータが格納されているMerkle Leafの元データをどのように保存するかの問題です。この元データを誰がどのように保存して、どのように検証可能な状態にして、不正があった場合にどうするかという問題にEthereumコミュニティは多くの議論をしました。この課題はData availability問題と呼ばれます。
Plasmaは、そのData availability問題を中心に他いくつかの課題を解決するために、Plasma Cash 、Plasma Debit 、Plasma Prime、MVP (Minimum Viable Plasma)など様々な派生系が提案されました。
これら様々な派生系が生まれPlasmaコミュニティが細分化しつつあるときに、Plasmaを発展させようと開発されたのがRollupと呼ばれる技術です。RollupはPlasmaの延長線にありますが、Plasmaコミュニティの議論が混沌化していたため、新しい流れの技術として提案するために名称を変えたのではないかと推察されます。

大きな方向性の確定:2つのRollup

2021年上半期現在、このRollupがレイヤー2の大きな方向性になるだろうという意見がEthereumコミュニティ全体で多数のコンセンサスを得ています。
Rollupには、Optimistic Rollupとzk Rollupの2種類がありますが、どちらもPlasmaを派生して生まれたものです。2021年時点でPlasmaというスケーラビリティの名称を使うことはほとんどなくなりました。
Rollupは、PlasmaのData availability問題を独自の形で解決しようとしたものです。Optimistic Rollupはfraud proofと呼ばれるオフチェーンデータの不正検知をする方法で解決し、zk Rollupはゼロ知識証明でオフチェーンデータの圧縮と検証性を高めています。技術の基本概要は後の節で触れます。
重要な点として、 これら2つのRollupはレイヤー2の方向性として確定的なものになりつつあることです。
最初にPlasmaを提案したVitalik氏は2018年9月にRollupの方向性を『On-chain scaling to potentially ~500 tx/sec through mass tx validation』で示し、ゼロ知識証明でのスケーリングに傾倒し始めます。これがzk Rollupに繋がっています。
Plasmaコミュニティ内で主要な開発グループであったPlasma Groupは、2020年1月に『Optimistic Game Semantics』という論文を発表し、これがOptimistic Rollupの原型コンセプトになりました。そしてPlasma Groupは一度解散し、Optimistic Rollupを営利企業として開発するOptimismという組織に再編されました。
さらに、2020年10月にVitalik氏が『A rollup-centric ethereum roadmap』という新しい提案を公開しました。実用化しつつあるRollupを前提に、Ethereumの開発もRollupを前提にすべきではないかという考えを示す提案です。
PoSへの移行を含む大型アップデートのEthereum 2.0は、段階的に開発されます。そしてEthereum2.0の新しいブロックチェーンでは、ある開発段階まではスマートコントラクトが使えず、それまでは実質的にユーザーが使える機能を持たないブロックチェーンです。Ethereum2.0はフェーズ2からスマートコントラクトが使用できるようにバーチャルマシンの実装を始めますが、バーチャルマシンとシャーディングを組み合わせる実装は難易度が高いとされています。しかしRollupはバーチャルマシンを表現してスマートコントラクトの実行が可能です。このことから、バーチャルマシンを持たないがシャーディングだけは可能とされるEthereum 2.0の開発フェーズでRollupを使えば、レイヤー2上でバーチャルマシンを使えるのではないか、というのが提案の骨子です。つまり各シャードはデータの保存だけを行い、Beacon chainでファイナライズして、コントラクトの実行をRollup上で行うというものです。
Vitalik氏は、Ethereumエコシステムは短期および中期的にはRollupに全面的に取り組む可能性が高いと述べており、もし本格的にこのロードマップが稼働すると、Ethereum2.0は早い段階で実用化される可能性があります。
このようにRollupがEthereumのブロックチェーン自体の開発計画にも統合されたことで、Ethereumコミュニティはレイヤー2の大きい方向性としてRollupに期待しています。すでにEthereumの大型プロジェクトがRollupを使用することを決定、あるいはすでに運用しており、UniswapやSynthetixはOptimistic Rollupを、dYdXやLoopringはzk Rollupを採用することを表明しています。

Optimistic Rollupとzk Rollupの概要

本節ではOptimistic Rollupとzk Rollupの基本概要を解説します。

Optimistic Rollup

まず、Optimistic RollupはEthereumのメインチェーン上にデプロイされるスマートコントラクトを介して実行されます。デポジット(Bondと呼ぶ)があれば誰でもオペレーター(レイヤー2のノード運用者)になれます。このオペレーターは、オフチェーンでトランザクションを処理します。その後、トランザクションとステートルートが含まれたブロックをEthereumメインネットに提出します。

このレポートは会員登録ユーザー限定のレポートです。

ユーザー登録すると無料で続きをお読みいただけます。

既に会員の方はログインへお進みください。

タグ