SKALEネットワークとそれが重要である理由

SKALEはイーサリアム上にインフラストラクチャのレイヤを構築し、開発者が迅速により良いパフォーマンスのプロジェクトを構築することを可能にします。私たちはそれを、イーサリアムパブリックメインネットと接続している、何千もの独立したブロックチェーン、サイドチェーン、ストレージチェーン、その他のタイプのサブチェーンからなる、弾性ブロックチェーンネットワークを構築することで実現しました。このネットワークは、レイヤ1セキュリティ保証と組み合わせた数千の独立したノードにより構成されていますが、より効率的で多目的な方法でリソースを使用するために設計されています。例えば、SKALEネットワーク内の1,000件のバリデータは、8,000個の独立したチェーンをサポートできます。これらのチェーンは、最小のサイドチェーンから非常に大きなパブリックブロックチェーンやプライベートブロックチェーンまでさまざまです。

このアプローチは、私たちが新たなチェーンを発明しようとしていることを意味しません。私たちは、イーサリアム開発者が、スマートコントラクトをスケーリングし、dAppをより迅速に開発できるよう支援することに重点を置いています。これらはすべて、イーサリアムメインネットと密接に結びついたセキュリティモデルを備えたセキュアなレイヤ2ソリューションを介して行われます。

SKALEの弾性ブロックチェーンやサイドチェーンを使用すると、dAppsは秒単位のブロック時間と毎秒最大2,000トランザクションのスループットで実行できるようになります。それにより、フルステートスマートコントラクトを実行し、洗練されたストレージと機械学習アルゴリズムを利用し、GAS手数料やその他のユーザーに課された取引コストを大幅に削減または撤廃することが可能になります。SKALEネットワークでは、dAppがメインネットと連携してステート更新を実行できる、チェーン間メッセージングも提供しています。これらのすべてを、高レベルのセキュリティと安全性のなか行えます。最後に、それぞれのSKALEチェーンは、dAppがエンドツーエンドの分散型アプリ、ウェブサイト、ゲームなどを実行できる、ファイルストレージ機能を提供しています。

多くのサイドチェーンプロトコルは安全ではありません。その理由は、大多数のソリューションでは、少数のノードがそれぞれのチェーンの検証を行っており、それらは通常固定され、変更することはないからです。この種の取り決めにより、アプリ開発者はコンセンサスレイヤで深刻なリスクに晒される危険性があります。これらのリスクには、共謀、贈収賄、その他のトランザクションの有効性を損なうような不適切な行為が含まれます。

レイヤ2ソリューションにおけるセキュリティリスクの軽減

第2層におけるサイドチェーンやサブチェーン内のトランザクションのセキュリティと有効性は、主としてバリデータノードのパフォーマンスと行動に左右されます。検証レイヤが正しく動作しているかを確認するには、まずネットワークに多数の検証ノードが必要となります。ネットワーク内のノードが少数だと、本質的に危険で脆弱です。

さらに、安全で堅牢なネットワークの要件として、a) チェーンバリデータセットをランダムに選択できることとb) チェーンに出入りするノードの循環を頻繁に行うことが前提となります。ランダム性や循環性がなければ、バリデータ間で贈収賄や癒着が生じるリスクがはるかに高まり、ネットワーク内のチェーンの安全性と整合性が大幅に低下することとなります。

A picture containing window, fence

Description automatically generated
SKALEネットワークはプールされた検証モデルを使用しています

この層での最終的な要件は、ペナルティと報酬の両方に対処できる、適切なインセンティブ構造です。前者に関しては、すべての検証ノードはネットワークに大きな価値を提供する必要があります。バリデータが結託または策謀することを決めて捕まった場合、自身のステークを失いネットワークから排除されるため、ステークこそが、良識ある行動を促す抑止力となります。SKALEでは、バリデータのステークは10万米ドル相当(トークン評価額によってはそれ以上)の規模になります。

ランダムな選択と頻繁なノード循環が行われている、このようなタイプのプールされた検証モデルを有するサイドチェーンでは、バリデータに対して強要、贈収賄を試みると、その有害なアクターは、より大きなネットワークの3分の2を効果的に賄賂を贈る必要性が生じます。ネットワーク全体の多数のノードで、このような行為を行うのは非常に困難です。SKALEのネットワーク設計は上記ようなコア原則に基づいており、攻撃を妨害(もしくは排除)し、それはネットワークにおける各チェーンのトランザクション整合性を維持することに直結しています。

プールされた検証モデルの仕組み

分散型ネットワーク設計はまだ初期段階にあり、プールされた検証モデルの仕組みについて混乱が起きても驚きではありません。また、見落とされている点として、SKALEのイノベーションが癒着や贈収賄を防ぐ仕組みや、イーサリアムメインネットとの接続がどのようにこのセキュリティモデルの中核をなしているかも挙げられる。

上述したように、SKALEネットワークはノードによるネットワークであり、そのすべてが同時かつ独立に実行され、それらが監督するブロックチェーンやサイドチェーン内のトランザクションの検証を行います。これらのノードはすべて、イーサリアムメインネット上で実施される一連の独自のSKALE コントラクトを使用しています。これらのスマートコントラクトが、SKALEトークンが位置している場所であり、インフレが発生する場所であり、報酬がノードバリデータに支払われる場所となります。また、これらのスマートコントラクトでは、ネットワークの分析が行われ、いずれかのノードによる不適切な行動があった場合に修正措置が行われる場所でもあります。

SKALEネットワーク内でチェーンを作成するプロセスは、比較的簡単です。開発者はまず、SKALEトークンを取得する必要があります。(SKALEデプロイメントインタフェースの分散型ウィジェットを介してETHからSKALEに両替することは非常に簡単です。) 次に、必要なチェーンのサイズ、ストレージの量、チェーンの初期存続期間(例えば3ヶ月、6ヶ月、12ヶ月など)を選択します。次に、開発者は適切な額のトークンをネットワークに送信します。これらのトークンは、そのネットワークに存在するSKALEコントラクトのひとつを介して、イーサリアムのメインネットにステークされます。毎月、この開発者のステークから一定額のトークンが賞金プールに移行し、ネットワーク内のバリデータへの支払いに使用されます。毎月、メインネット上のコントラクト(下記の注釈を参照)を介して新たなSKALEトークンが生成する、インフレーションイベントが発生します。これらの新規トークンは、バリデータへの支払いのためにバウンティプールにプッシュされます。

カストディはSKALEサイドチェーンに属するのに対し、SKALEネットワークのセキュリティはイーサリアムメインネットに由来していることを強調しておく必要があります。バリデータからの出資、開発者からの支払い、トークンのインフレーションは、すべてイーサリアムメインネット上で行われ、そのすべてが各SKALEノードと連携して稼働するスマートコントラクトによって管理されます。

このアプローチは、検証や不正証明を実施するためにメインネットインタラクションを利用する、その他のレイヤ2モデルとは異なります。SKALEは、堅牢で信頼のおけるレイヤ2ネットワークの作成に適合した方法で、ステーキングやその他の機械操作についてイーサリアムメインネットを使用して行います。SKALEはまた、MainNetのカストディに完全に依存する必要があるユースケースに対しては、BLSロールアップもサポートしています。

トークンインフレーションの詳細

イーサリアムのメインネット上のスマートコントラクトは、SKALEトークンのインフレーションを制御します。新規トークンは、毎月、コントラクト内で事前に決められた方法により、特定のスケジュールとレートで生成されます。メインネット上のコントラクトの透明性により、インフレーションスケジュールやレートを誰でも見ることができます。また、コントラクトには、4年目に最初の半減期を迎え、7年目に次の半減期を迎えるとのロジックが含まれています。留意すべき点として、オンチェーンボーティングを利用して、コミュニティでインフレ率を変更するかを投票することが可能で、決定した場合はインフレ率を上げるまたは下げることができます。

ネットワークの動作と構成の仕組み

ネットワーク内のバリデータノードは、独立して自ら動作、再編成を行います。ノードがどのチェーンで動作するかを決定するような、セントラルノードコントローラは存在しません。その代わり、ノードは互いに強調してアルゴリズムを処理して、ランダム性と循環性を持たせ、どのチェーンで動作するかを把握します。各ノードは、ドローンと同様に動作します。これらのノードは、ネットワーク内のその他のノードと共に、分散型でも協調的な方法で、メインネットコントラクトと通信を行っています。

大量のネットワーク操作は、それぞれのSKALE検証ノードに組み込まれているノードコアに付与されます。このコアでは、ネットワーク監査、調整、管理が行われています。ノードコアは、他のノードからメトリクスを収集し、これらのメトリクスに対して独立した処理を実行し、そのデータをメインネット上で実行されているスマートコントラクトにアップロードする役割も持っています。

A picture containing building, drawing

Description automatically generated
検証ノードは仮想化サブノードとノードコアで構成されている

チェーンを立ち上げる際に、開発者はチェーンのパラメータ(特にサイズ、ストレージ容量、存続期間)を選択し、トークンをメインネットにステークします。この操作は、Web3 APIを介してSKALEネットワークに接続する、ウェブインターフェイスを介して行われます。新規チェーンのリクエストは、ランダムにノードに渡されます。ノードコアは、メインネットに接続し、スマートコントラクトが使用可能なプールからランダムに一連のノードを割り当てます。メインネットにチェックインすると、これらのノードは、この新たなチェーンをサポートするために連携して作業を開始します。

ノードは、頻繁にチェーンから削除され、異なるチェーンが追加されます。この循環は、割り当てを取得するためメインネットに継続的にチェックインを行う、ノードコアの同時発生的なアクティビティにより繰り返し実施されます。循環は、メインネットコントラクトによって規定された特定のスケジュールに従い行われます。ノードは、これらの循環イベントの監視およびピックアップを行い、現在のチェーンを出て定められた新たなチェーンとの接続や作業を実施します。

A picture containing drawing

Description automatically generated
SKALEチェーン内のノードは、定期的にランダムに循環しており、それにより各チェーンに代わってネットワーク全体のセキュリティプールを活用する‌‌

開発者はいつでもチェーンパラメータを変更できる点にご留意ください。これらの変更は、同様のプロセスにより、次回スケジュールされたネットワークローテーション中に反映されます。(変更リクエストはノードコアまでリレーされた後、メインネットに伝播され、そこでスマートコントラクトにより、その時点で該当するチェーンを管理・運用しているノードにこのリソース変更をリレーされます。)

A close up of a logo

Description automatically generated

この記事は、2部構成のシリーズうち最初の記事となります。次回の2番目にして最後の記事では、検証ノードの役割、ステーキングの重要性、トークンのネットワーク効果などについて解説します。パート2こちらからご覧いただけます。