SolanaにおけるL2について
SolanaのL2はEthereumなど、他のL2と大きく異なる特徴を持っています。
今回は、SolanaのL2の一つである、HyperGrid Frameworkについて紹介します。
「HyperGrid Framework」は、Solanaエコシステムに特化した次世代のロールアップスケーリングとオーケストレーションを実現する注目の技術です。
と言っても難しそうなので、一つずつ紐解いていきましょう。
SolanaのL2としての独自の特徴については第2章からになります。
1. 概要
1-1. 全体の構成
まず、HyperGrid Frameworkは下のような構成になっており、L1であるSolana Base Layer(いわゆるSolana)に対して、L2側である「HyperGrid」「Grid」が存在しています。
ちなみに、Validatorがいるのはこの「HyperGrid」の箇所です。
そのため、L2のコンセンサスレイヤーの役割を担っているのは、この「HyperGrid」です。
1-2. ロールアップスケーリングについて
では、ロールアップについて見てみましょう。
詳しくは後で触れますが、このようにGridで処理を行い、その結果をHyperGridを通じて「Solana Base Layer」に送っています。
さらにもうちょっと細かく見てみますと、その処理というのは、ユーザーがProgramID(コントラクトアドレスのようなもの)やメソッドなどを指定して実行しています。
さらに細かく見てみますと、「HyperGrid」の「Synchronization Program」というプログラムが処理を行ってくれています。
名前が「Synchronization(同期)」というのが気になりますね。
この理由は第2章で出てきます。
1-3. オーケストレーションについて
オーケストレーションとは調整役のことです。
これにより、複数の Gridが効率よく動くように調整してくれています。
例えば、その一環として、HyperGridはガスの支払い履歴を「Sonic Grid」に共有します。
これを元に、Sonic Gridはガス計算プログラムを実行しています。
2. Solanaのデータの利用
ここまでで、何がすごいの?と思った方も多いと思います。
ここからは、SolanaのL2として、多くの他のブロックチェーンのL2との違いを見てみましょう。
一番の違いは、利用するデータがL2オリジナルのものではなく、「Solana Base Layer」のものであるという点です。
2-1. 状態の同期の流れ
下の図のように、「HyperGrid」を通じて、各Gridに状態が共有されています。
2-2. 状態の同期の特徴
この大きな特徴の一つとして、エコシステムが分散しにくいということがあります。
あくまでもオリジナルのデータはSolanaにあります。
L2の主な役割はその処理を迅速に行うことです。
そのため、仮に特定のGridが成長した場合も、彼らが使っている元のデータはSolanaのものであり、Solanaのエコシステムの成長と利害が衝突しません。
2-3. 状態の同期の方法
GridはHyperGridを通じて、Solana Base Layerのアカウント情報を同期しています。
Gridでのデータを「Bank – local」、Solana Base Layerでのデータを「Bank – remote」と呼んでいます。
2-4. 整合性について
ただ、同じデータが二つもあると、整合性の問題が気になりますね。
その部分の処理をしているのが、HyperGridの「Synchronization Program」です。
ユーザーからのリクエストを受けると、該当のプログラムをロック状態にします。
ロックされた状態で、HyperGridで書き込みを行います。
その後、Solana Base Layerで書き込みを行い、ロックの解除(リリース)を行います。
このようにして、Solana Base Layerとの整合性を保っています。
3. 最後に
これらのように、HyperGrid Framework は、Solana エコシステムに特化した次世代の L2 スケーリング技術として、ユニークなアプローチを提供します。
Grid を通じて効率的にデータを処理しながらも、Solana Base Layer のセキュリティや整合性を活用することで、スケーラビリティと分散性を両立させています。
このような仕組みは、Solana エコシステムの拡大と、より高度な分散型アプリケーションの実現を支える重要な要素です。
以上です。
最後までありがとうございました。



はじめての仮想通貨
TOP
新着一覧
チャート
学習-運用
WebX





























































