見出し画像

フラッシュレイヤーを提供するAltlayerについて

こんにちは、you425です。
今回は面白いアプローチでブロックチェーンのスケーリングを図るAltlayerについて、現状分かっている範囲で解説・整理していきます。

現状だとまだ正式なドキュメントが公開されておらず、Medium記事がベースとなるのでご了承ください。

1.現在のスケーリングソリューションの確認

BitcoinやEthereumのスケーラビリティの問題から、様々な手段でブロックチェーンのスケーリングを図るソリューションが出てきました。
Altlayerを理解するうえで重要なため、ひとまずどのようなものがあるかおさらいします。

ⅰ. ブロックチェーン単体の処理性能の向上(Monolithic)

トランザクションが詰まるということは、そのブロックチェーンでの時間当たりの処理数を増やすことができれば、その問題は解決します。2020年~これまでに流行った多くのチェーンがこれに該当し、今でも新しく出続けています。

具体例)
・ノードの必要スペックを高くしてブロック容量を増やしたりブロックタイムを減らしたりする
・トランザクションを処理するバリデーターの数を減らして同期時間を減らす
・トランザクションをバリデーターの小規模なグループで並行処理する
など

ⅱ. 1つのブロックチェーンを複数に分ける(Sharding)

前述の並行処理に似ていますが、あちらはあくまで1つのチェーンで処理を行いますが、Shardingの場合は複数のチェーンからなる1つのチェーンを構成します。親チェーンが子チェーンにバリデーターを定期的にランダムに振り分けることで全体で同レベルのセキュリティを担保していきます。
親チェーンによって取りまとめられているため、子チェーン同士での通信が容易にされることが特徴です。

Ethereum2.0、Near、Harmonyなどが該当し、Polkadotも該当しますが、少し仕様が異なります。
前者のチェーンは同じ仕様のShard(homogeneous shards)から構成されますが、Polkadotの場合はそれぞれのShardが異種チェーン(heterogenous shards)であるというところに差があります。

ⅲ. アプリケーション専用チェーンを作る(Application Specific)

汎用チェーンの場合様々なdAppsが乗るため、どれかのdAppで過剰なトランザクションが発生することで、チェーン全体に影響が出ます。最近では、EthereumでOthersideのランドセールで大規模なガス代の高騰がが起きたことは記憶に新しいでしょう。
SolanaではBOTによるトランザクションの大量送信によりチェーンのが停止する状況に複数回追い込まれるようなことも引き起こされました。

また、汎用チェーンではチェーンの仕様にアプリケーション側が合わせる必要があるというのも不便な点として挙げられます。

そこで、それぞれのアプリケーションが独自のチェーンを作成し、かつ相互運用性を高めるためのネットワークが登場しました。

CosmosやPolkadotがこれに当たります。(AvalancheのSubnetもこれに近いですが、まだSubnet間の通信方法が確定していないので除外します)
どちらもブロックチェーンを作るためのフレームワーク(Cosmos SDK、Substrate)やブロックチェーン間の通信方法(IBC、XCMP)を提供することで、独自性の高いチェーンを相互運用性を持ちながら構築できます。
Polkadotの場合は前述のとおりShardingであるため親チェーンと子チェーンの関係になりますが、Cosmosの場合はそれぞれがソブリン(独立)チェーンとして動くため横並びの関係であるという違いがあります。

詳しくは過去記事をご覧ください。

ⅳ. Layer1&Layer2(Consensus Layer&Execution Layer)

新しく独自のレイヤーを作るとトランザクションが分散され、スケーリングができるのは確かに効果的です。しかし、新しいブロックチェーンを作るということはリソースが分散されてしまうということになります。
ブロックチェーンにおいてリソースが分散されるということは、セキュリティの低下や運営ノードの集中化が進むことになってしまうため、大きな問題となります。

そこで、既存のLayer1のリソースを利用しながら独自のチェーンを作るのがLayer2です。BitcoinのLightning(Payment Channel)や、EthereumのOptimismやArbitrum(Optimistic Rollup)、zkSyncやStarkNet(Zk Rollup)などがあります。

Layer2の仕様にもよりますが、仮にLayer2のノードで不正がありブロックが捏造された場合でも、Layer1側からロールバックして元の状態に戻すことができます。
Polkadotの異種Shardingは、これに近い構造をしています。

ⅴ. 実行レイヤーのみ構築して他は借りる(Modular)

ⅳとは違い、コンセンサスだけではなくデータの保存もほかのチェーンに依存します。Consensus Layer&Data Layer&Execution Layerの3つに分かれ、基本的にはExecution Layerのみを担当するためトランザクションの処理だけで済み、維持コストが非常に安く済みます。

ただしデータの保存やコンセンサスは外部チェーンを利用することになるため、単独でチェーンを維持することはできなくなります。

CelestiaやPolygonのSupernetがこれに当たります。
PolkadotもParachainを利用することで、Modular構造のチェーンを作ることもできるようになります。


2.新しいソリューション、フラッシュレイヤー

ここまでのおさらいで、様々な方法でスケーリングを図っているということが再確認できました。しかし、どの方法においてもチェーンを維持することになるため、大小の差はあれコストがかかるということは想像に難くありません。L2もロールアップしてL1にトランザクションを送るため、状況次第では非常にガス代がかかります。

独自のチェーンを作るということは、ランニングコストを賄えるだけの使用率がなければサスティナブルとは言えませんし、リソースの無駄が生じます。

そこでAltlayerが新しく持ち出した概念がフラッシュレイヤーであり、Modular Blockchain方式を応用したものです。

フラッシュレイヤーを簡潔に説明すると「使い捨ての実行レイヤー(Layer2)」となります。

多くのアプリケーションは、トランザクションが多くなるタイミングがある程度決まっています。例えば、トークンセールやNFTのミントなどです。
そのため、そのように多くのトランザクションが発生する時期だけ実行レイヤーとしてdApp専用のLayer2を立ち上げ、イベントが終了したら実行レイヤーを破棄します(この段階ですべての処理はLayer1に書き込まれ、ユーザーによるブリッジも必要ない)。
これにより、無駄なリソースを削減しつつスケーリングを可能とします。

また、フラッシュレイヤーはEVMだけでなくWASM VMにも対応し、様々なブロックチェーンで利用を可能としているところも大きな特徴です。
更にフラッシュレイヤーでは独自チェーンのようにカスタムできるため、例えばNFT Mintの時に立ち上げた時にガスフリーにするようなことも可能です。


3.ここまでの経過とこれからの動き

Altlayerは、7月1日に7.2Mドルのシードラウンドを完了したことを発表しました。VCというより、各有名プロジェクトのFounder等から資金調達を行っていることが印象的です。

開発はParity Asia の元ディレクターであり、Zilliqa の共同設立者兼 CTO である Dr. Yaoqi Jia が主導しています。他にParity、 Zilliqa、Synthetixなどの元開発者が参加しているとのことですが、人数や詳細などはまだ明らかになっていません。

Altlayerは2022年Q3にEVMのテストネット展開が予定されています。

GithubのRepositoriesを見てみるとSubstrateやCosmos SDKに対応したものが存在していることから、早い段階から多くのチェーンで対応することを想定していることが確認できます。

4.まとめ

フラッシュレイヤーは、独自レイヤーを作るほどではなくとも一時的にトランザクション量が増えるような事があるdApps向けのソリューションです。

主に中小規模のdAppsや、NFTプロジェクトがイベントに合わせて一時的にUXを向上させるために使うのが有効と考えられます。逆にトランザクションが長期的に大量に発生するようなdApps(BCGなど)であれば、既存のソリューションの方が向いている可能性が高いです。

しかし現状では多くのアプリケーションが独自のチェーンを維持するほどの規模ではないため、このように一時的なオフチェーンリソース(クラウドコンピューティングといっていいかもしれません)を提供するプロジェクトは非常に面白いと思います。独自チェーンを持つ前に、一時的にAltlayerを使っていき徐々にステップアップしていくような進め方も効果的かもしれません。

トークンに関してはまだ情報は出ていませんが、Altlayerがフラッシュレイヤーを立ち上げる時にシーケンサー(トランザクションを実行するノード)が必要になるため、おそらくそこに参加するために必要になる可能性が高いです。

現在公開されているドキュメントからではまだ読み取られ情報が少なく、フラッシュレイヤーが使い捨てられた時のデータの保存(Data Availability)や実行に選ばれるシーケンサーの選定方法、レイヤーの立ち上げ方など不明な部分は多いです。
ですがプロジェクトとしては非常に面白く、ポテンシャルがありそうなので引き続きチェックしていこうと思っています。

いいなと思ったら応援しよう!