Cointime.com 237 より
Gear Protocol は、Substrate 上に構築されたスマート コントラクト プラットフォームで、誰でも数分で dApp を開発して実行できます。 Gear Protocol は、最もフレンドリーな開発方法として、任意のロジックと複雑さを備えたスマート コントラクトを実装します。 Gear スマート コントラクトは WebAssembly プログラムとして実行されるため、さまざまな一般的なプログラミング言語 (Rust、C、C++ など) を使用してコンパイルできます。
このプロトコルは、複数のネットワーク上でプログラムを簡単に実装して実行できるようにする、簡潔で直感的で機能豊富な API を提供します。技術的な観点から見ると、Gear Protocol は、通信のためのアクター モデルの使用、永続メモリの概念、WebAssembly 実行環境など、開発者がまったく新しい、これまで実現できなかったユーザー エクスペリエンスを作成できる独自の機能によって差別化されています。このプロトコルは、通信エンティティとしての Actor の特性を定義します。
Gear Protocol は、革新的な dApp、マイクロサービス、ミドルウェア、オープン API をサポートすることで、Web3 テクノロジーの大量採用を推進します。 Gear Network は、スタンドアロンの L1 ネットワークとして、または Polkadot および Kusama エコシステムのパラチェーンとして機能できます。 Gear Protocol 上に導入することで、開発者は Gear が提供するさまざまな利点を最大限に活用できます。
Vara Network は、独立して構築され、Gear Protocol 上で実行される初のレイヤー 1 分散型ネットワークです。
Vara は、分散型アプリケーションを構築し、Web3 業界を新たなレベルに押し上げるための環境を開発者に提供することを目指しています。独自のブロックチェーンを開発しなくても、誰でも Vara ネットワーク上に dApp を構築してデプロイできます。
Web2 と Web3 の間に橋を架けることで、Vara は開発者に次世代の分散型アプリケーションの機会を開き、Web3 テクノロジーの導入を加速し、将来の開発をリードします。 WebAssembly に基づくネイティブ ブロックチェーンとして、開発者は従来のプログラミング言語を使用してコードを作成し、コンパイルできます。
さらに、Vara Network は、低取引コスト、ステーキング、ガバナンスへの参加、バリデーター、ノミネーター、アンバサダー プログラム (および将来のガス料金のリベート) などの機能を提供します。
プラットフォームの機能
Gear Protocol には、他のプラットフォームとは異なる独自の機能がいくつかあります。
1.真の分散型
他のプラットフォームとは異なり、Gear スマート コントラクトは、オンチェーン トランザクションをトリガーするための外部コンポーネントやサービスを必要とせずに、機能を自律的にトリガーできます。従来のスマート コントラクトでは、通常、ユーザーがコントラクトを起動するためにトランザクションを開始する必要がありますが、多くの場合、特定の時点に到達したり、特定のイベントが発生したりするなど、特定の条件が満たされたときにコントラクトをトリガーする必要があります。これまでは、これによりスマート コントラクトの機能が制限されたり、開発者はコントラクトをトリガーする集中サービスを導入する必要がありました。
Gear Protocol は、非同期メッセージのサポートに基づいており、コントラクト開発者が遅延メッセージを含む任意のコントラクト ロジックを実装するのに役立ちます。これにより、指定された期間の経過後、または特定のイベントが発生したときにコントラクトをウェイクアップできます。これにより、スマート コントラクトのアプリケーション シナリオの幅が広がり、新しい分散機能が解放され、ブロックチェーン エコシステムのユーザーにより多くの価値が生まれます。
2. 継続的なメッセージの自動化
Gear 内のすべてのメッセージ (システム メッセージを含む) を実行すると、「ガス」が消費されます。 Gear Protocol は、ガス予約の概念を導入し、さらなるプログラムの実行に使用できるガス プールの作成を可能にします。各プールはそれを作成したプログラムに固有であり、プログラムの「gas_available」が不十分な場合はそのプールからガスを消費する可能性があります。
ガス予約の重要な利点は、将来の特定の時刻に自動的にトリガーされる遅延メッセージを送信できることです。これらのメッセージは Gear 内の他のメッセージと似ており、ネットワーク内の別のスマート コントラクトを呼び出したり、ユーザーのメールボックスに表示されたりすることがあります。
最も興味深いのは、ガス予約を使用すると、プログラムが後で自分自身にメッセージを送信し、定義された期間が経過した後も実行を継続できることです。これにより、スマート コントラクトは、(十分なガスが利用可能な場合に限り) 無限に何度でも実行することができます。
これにより、スマート コントラクトでの継続的なメッセージングの自動化に関連する機能ロジックを実装するための大きな可能性が開かれます。遅延メッセージは cron ジョブに似ており、外部リソースを使用しない限り、他のブロックチェーン プラットフォーム上のスマート コントラクトに実装できません。このソリューションの大きな利点は、dApps の集中コンポーネントの必要性がなくなり、コンポーネントが完全にオンチェーンで実行され、完全に分散化され自律型になることです。
コア技術 1: 基板
Substrate は、カスタムまたは事前構築されたコンポーネントをネットワーキング、コンセンサス メカニズム、コア機能、セキュリティ、ガバナンス機能と組み合わせることで、独自のブロックチェーンをカスタム構築できるようにするモジュール式フレームワークです。
Substrate は、カスタムまたは事前構築されたコンポーネントをネットワーキング、コンセンサス メカニズム、コア機能、セキュリティ、ガバナンス機能と組み合わせることで、独自のブロックチェーンをカスタム構築できるようにするモジュール式フレームワークです。
Substrate フレームワークを使用すると、特定のアプリケーション用にさまざまなブロックチェーンを作成するプロセスが簡素化されます。 Substrate はすぐに使える豊富な機能を提供し、開発者はプロトコル上にカスタム エンジンを作成することに集中できます。
基板の主な機能は次のとおりです。
1. フォーク更新がない
2. 内蔵調整機能
3. WebAssembly の言語間サポートのサポート
4. 顧客への優しい対応
5. 決定的なファイナリティ
6. シームレスな統合
Substrate により、Gear チームは開発時間を大幅に短縮し、主要な Gear プロトコル コンポーネントの開発に集中できるようになりました。 Rust 言語は、安全性と高いパフォーマンスも保証します。
Gear 独自の非同期メッセージング アーキテクチャにより、Substrate テクノロジーに基づいて構築されたネットワーク間の効率的な通信が可能になります。このシームレスな統合により、ネットワーク機能と連携の相互運用性が向上します。
コア技術2:アクターモデル
アクター モデルは、Gear Protocol の重要かつユニークな機能であり、メッセージ パッシング通信に使用されます。同時実行コンピューティング システムでは、「メッセージ パッシング通信」とは、プログラムがメッセージを交換することによって通信することを意味します。メッセージ パッシングは、「共有メモリ通信」よりも理解しやすく、パフォーマンス特性も優れています。
Actor モデル フレームワークは、非同期メッセージングと並列コンピューティングをサポートしており、速度が大幅に向上し、複雑な dApp の構築が容易になります。一般に、プレーンな Actor モデルはメッセージの順序を保証しませんが、Gear Protocol はいくつかの追加保証を提供し、2 つの特定のプログラム間のメッセージの順序が確実に保持されるようにします。
このうち、Actor は、メッセージを送受信できるアクター モデル内のアトミックなコンピューティング ユニットを指します。 Gear では、Gear Protocol のインスタンスはすべてアクターであり、プログラム (スマート コントラクト) またはプログラムにメッセージを送信するユーザーの場合があります。各アクターには独自の内部プライベート状態があり、ユーザーにはメールボックスもあります。通信は非同期であり、メッセージはメールボックスからフェッチされてメッセージ処理ストリームに分散され、そこで定期的に処理されます。
コアテクノロジー 3: WebAssembly
WebAssembly は、Web ページで非 JavaScript プログラミング言語アプリケーションを実行する方法です。実際には、Wasm は最新のブラウザ上で実行される単なる仮想マシンですが、これまで Web ページでコードを実行するために JavaScript を使用する必要があったのではなく、Wasm を使用すると、非 JavaScript プログラミング言語を使用して Web ページでコードを実行できるようになります。ブラウザ。
WebAssembly は、Web ページで非 JavaScript プログラミング言語アプリケーションを実行する方法です。実際には、Wasm は最新のブラウザ上で実行される単なる仮想マシンですが、これまで Web ページでコードを実行するために JavaScript を使用する必要があったのではなく、Wasm を使用すると、非 JavaScript プログラミング言語を使用して Web ページでコードを実行できるようになります。ブラウザ。
WebAssembly 仮想マシン (略して Wasm) は、その技術的特性により、他の仮想マシンよりも高速であることが証明されています。 WebAssembly を使用すると、Gear のスマート コントラクトをマシン コードに直接コンパイルし、ネイティブに近い速度で実行できます。速度が速いほど、トランザクションコストが低くなり、効率が高くなります。
すべての Gear プログラムとスマート コントラクトは、WebAssembly プログラムとして実行されます。これは、開発者がアプリケーションを Web に公開し、Windows や Mac でネイティブに実行するのと同じように、Web ブラウザでアプリケーションの完全なパフォーマンスと完全な機能セットを実現できることを意味します。開発者は実際には Wasm コードを直接記述する必要はありませんが、他の言語で記述されたプログラムのコンパイル ターゲットとして Wasm を使用します。
WebAssembly が解決する主な問題は、Web 上で JavaScript 以外のプログラミング言語を使用できないことです。 JavaScript は優れたプログラミング言語ですが、大規模なアプリケーションの超高速実行には適していません。 Wasm は、他のプログラミング言語で書かれたネイティブ アプリケーションのパフォーマンスを完全に安全な方法で Web に提供するという点で革新的です。
Wasm は 2 つの主要な領域で速度を大幅に向上させます。
まず、アプリケーションの起動速度が大幅に向上するはずです。実際、すでに Wasm を使用しているアプリケーションでは、アプリケーションの起動時間を半分に短縮することができており、最適化がさらに行われるほど起動速度はさらに向上します。これにより、大規模なアプリケーションを非常に迅速にロードできるようになります。
第 2 に、Wasm はスループットを大幅に向上させることもできます。つまり、コードがコンパイルされると実行速度が向上し、アプリケーションの効率と応答性が向上し、ユーザー エクスペリエンスが大幅に向上します。
コアテクノロジー 4: 永続メモリ
Gear Protocol のもう 1 つの重要な機能は、永続メモリ テクノロジです。このテクノロジにより、開発が容易になり、複雑さが軽減され、実際のハードウェアおよびオペレーティング システムのメモリ管理と一致します。
Gear ネットワーク上で実行されるプログラムは、従来のストレージ方法を使用せず、完全な状態を保持します。そうすることで、ブロックチェーン上の API サーフェスを大幅に削減できます。同時に、この方法では特定のドメイン言語の制限が回避され、永続クロージャやフューチャー コンビネータなどのより複雑な言語構造を使用できます。
Gear Protocol は、メモリの割り当てと解放を第 1 レベルのシステム コールとして処理する、独創的なメモリ仮想化テクノロジを採用しています。また、メモリアクセスを追跡し、必要なページのみをロード/ストアします。このようにして、スマート コントラクト (通常は先物とそのコンビネーター) でのヒープ割り当てをシームレスに永続化し、状態を保存するために必要なときに呼び出すことができます。
プログラム コードは、メッセージ処理間で持続する一定量のメモリ領域 (静的領域と呼ばれます) を持つ不変の Wasm ブロックに格納されます。各プログラムには独自のメモリ空間があり、初期化フェーズ中に追加コストなしで予約されます。プログラムは自身のメモリ空間でのみ読み取りおよび書き込みが可能であり、他のプログラムのメモリ空間にはアクセスできません。
プログラムは、必要なメモリを 64KB ブロック単位で割り当てることができます。各メモリ ブロックの割り当てにはガスがかかります。これらのメモリ ブロックの各ページ (64KB) は、分散データベース バックエンドに個別に保存されます。ただし、実行時には、Gear ノードは連続した実行時メモリを構築し、プログラムをリロードせずにそのメモリ上で実行できるようにします。
永続メモリ テクノロジはメモリの並列処理もサポートします。各プログラムには独立した分離されたメモリ空間があり、Gear ノード上で複数のメッセージ ストリームを並列処理できます。並列処理されるストリームの数は、CPU コアの数と同じです。各プロセスは、他のプログラムまたは外部 (ユーザー トランザクション) から送信される特定のプログラム メッセージのセットを処理する責任があります。
永続メモリ テクノロジはメモリの並列処理もサポートします。各プログラムには独立した分離されたメモリ空間があり、Gear ノード上で複数のメッセージ ストリームを並列処理できます。並列処理されるストリームの数は、CPU コアの数と同じです。各プロセスは、他のプログラムまたは外部 (ユーザー トランザクション) から送信される特定のプログラム メッセージのセットを処理する責任があります。
Gear Protocol は永続メモリ テクノロジを通じて効率的なメッセージ処理の並列化を実現し、システム パフォーマンスを向上させます。この手法により、プログラム状態の永続性が確保され、開発者はより柔軟で強力なプログラミング機能を利用できるようになります。
コアテクノロジー5:ギアネットワークのステータス
Gear ネットワークは、一連のステートフル コンポーネントを通じて分散状態を維持します。他のブロックチェーン システムと同様に、WebAssembly にコンパイルされたランタイム コードは、ブロックチェーンに保存される状態の一部になります。
Gear は、フォークレス ランタイム アップグレードという重要な機能を採用しています。ファイナリティ ツールを使用すると、状態の決定性を確保できます。
ストレージ状態は次のコンポーネントで構成されます。
1. プログラムとメモリ
プログラムコードとプライベートメモリが含まれます。プログラム コードは、不変の Wasm ブロックに保存されます。各プログラムには一定量のメモリがあり、メッセージ処理の間に保持されます (つまり、静的領域)。プログラムは、Gear インスタンスによって提供されるメモリ プールからより多くのメモリを割り当てることができ、プログラムに特別に割り当てられたメモリ内でのみ読み取りと書き込みが可能です。
2. メッセージキュー
グローバル メッセージ キューは、ユーザーが特定のプログラムに送信したメッセージ トランザクションを受信するために使用されます。これらのメッセージはメッセージ キューを埋め、ブロックの構築中にキューから取り出され、適切なプログラムにルーティングされます。
3. アカウント
ネットワーク アカウントとその残高はアカウント コンポーネントに保存されます。 Gear は、ユーザーとプログラムの残高を管理し、取引手数料を支払うための残高モジュールを提供します。パブリック ネットワークの場合、DOS 攻撃に対する防御には通常、ガス/料金の支払いが必要です。許可されている場合、バランスモジュールは必要ない場合があります。
Gear ネットワークは、許可付きまたは許可なしのパブリック ブロックチェーンにすることができます。許容される状況では、バランス モジュールは必要ない場合がありますが、パブリック ネットワークの場合は必要です。
つまり、Gear ネットワーク状態テクノロジーは、プログラム、メモリ、メッセージ キュー、アカウントなどのコンポーネントを通じて効率的な分散状態管理を実現し、開発者にさまざまなアプリケーション シナリオ向けのブロックチェーン ソリューションを構築するための強力なツールを提供します。
コアテクノロジー6:状態遷移
各システムは一定の規則に従って状態遷移を行っており、ネットワークが新たな入力データを処理すると、状態遷移規則に従って状態が更新されます。これらの入力データは、トランザクションと呼ばれる詳細な情報にパッケージ化されます。
Gear ネットワークでは、ノードはすべての新しいトランザクションを含むトランザクション プールを維持および同期します。いずれかのノード (バリデーターまたは非バリデーター) がトランザクションを受信すると、そのノードはそれを接続されているすべてのノードに伝播します。
Gear バリデーターが新しいブロックを生成する準備ができると、トランザクション プールから一部またはすべてのトランザクションを選択し、状態遷移が行われるブロックにそれらをマージします。前のブロックに含まれていないトランザクションは、次のブロックが生成されるまでプールに残ります。
Gear ネットワークは、次のタイプのトランザクションをサポートします。
1. プログラムのアップロード: ユーザーは新しいプログラム (スマート コントラクト) をアップロードし、それを初期残高に関連付けることができます。
2. コードのアップロード: 後でプログラムを作成するために、初期化されていない Wasm コードをアップロードできます。
3. プログラムの作成: ユーザーとプログラムは、アップロードされたコードを使用して新しいプログラムを作成できます。
2. コードのアップロード: 後でプログラムを作成するために、初期化されていない Wasm コードをアップロードできます。
3. プログラムの作成: ユーザーとプログラムは、アップロードされたコードを使用して新しいプログラムを作成できます。
4. メッセージの送信: エンド ユーザーは、Gear ネットワークにメッセージを送信してプログラムと対話します。送信されたメッセージは、ランタイム駆動のトランザクション キューとして機能するグローバル メッセージ キューに入力され、最終的にすべてのメッセージが処理されることが保証されます。
5. 返信の送信: メッセージと同様、返信は受信したメッセージに対する応答としてのみ送信できます。ユーザーは、自分のメールボックスに含まれるメッセージに返信を送信できます。
6. メールボックスから値を受信する: 特定の値に関連付けられたメッセージを受信した後、ユーザーはその値を要求し、その値をメッセージからユーザーに転送する必要があります。請求されていない価値は、ガス制限がなくなると送信者に返されます。
7. メッセージのデキュー: バリデーターは、次のブロックを生成する番になったときに、どのメッセージをデキューするかを選択します。そうすることで、各バリデーターが完全なメモリ内状態を維持する必要がなくなります。デキュープロセスは、各ブロックの最後にのみ発生します。
8. 残高転送: 通常の残高転送は 2 つの方法で実行できます。1 つは、Substrate Balances モジュールによって提供される外部関数 (transfer、setBalance など) を使用する方法、もう 1 つは関連する値を含む転送を送信する方法です。メッセージを通じて他のユーザーに尋ねます。
Gear ネットワークにおけるメッセージ処理、ブロック構築、イベントのライフ サイクルを次の図に示します。コミュニケーションのアクター モデルによれば、共有はなく、メッセージのみが存在します。最終的には、ユーザー空間検査用のイベント ログの形式になります。
エピローグ
Gear Protocol と Vara Network は、Web3 業界で革新的な分散アプリケーションを構築するための強力なツールと環境を開発者に提供します。これらのプラットフォームは、複数のプログラミング言語とスマート コントラクトの柔軟性をサポートすることにより、開発者に大きな利便性と自由をもたらします。
非同期メッセージのサポートやガス予約メカニズムなどの Gear Protocol の独自の機能は、スマート コントラクトに高度な機能と自動化機能をもたらします。これにより、開発者は、これまでは実現できなかった永続的なメッセージの自動化と分散化ロジックを実装できるようになり、ブロックチェーン アプリケーションの境界がさらに拡大します。
Web3 テクノロジーが進化し続け、導入が加速するにつれて、Gear Protocol と Vara Network がこの分野を前進させ続けることが期待できます。これらのプラットフォームは、次世代の分散型アプリケーションの作成と革新のための強力な基盤を提供し、Web3 エコシステムの繁栄を促進します。重要な技術サポートとして、将来の開発において、これらのプラットフォームは Web3 テクノロジーの最前線をリードし、ユーザーにより多くの価値と豊かなユーザー エクスペリエンスを生み出す可能性があります。
全てのコメント