banner
0xjokereven

0xjokereven

All is for consistent
twitter
github
pixiv
jike
medium

Fluenceの世界へようこそ、Fluenceの実行方法

運作原理
プロトコル
Fluence プロトコルは、計算リソースのネットワークを構築し、クラウドスタックを使用せずに計算タスクを実行するためのフレームワークを定義しています。

Fluence ネットワークの概要

クラウドに依存しない関数、Aqua
Fluence ネットワークは完全に Aqua プロトコルに基づいて動作し、分散型のセキュアな実行を提供します。 Aqua は、分散アルゴリズムをデッドロックフリーに表現するために、π 計算操作にコンパイルされるドメイン固有のスクリプト言語です。 Aqua プロトコルはデプロイメントを必要とせず、Aqua スクリプトはパッケージ化され、スクリプトによって書かれたプログラムがネットワーク上で実行されるときに実行されます。さらに、Aqua はスクリプトの実行を暗号化して安全に行います。すべてのリクエストとそのステップ実行は、参加ノードによって署名され、実行されたスクリプトは監査および検証可能になります。

Aqua で書かれたコードはクラウドに依存しない関数と呼ばれます。これはクラウド、サーバー、地域をまたいで実行されます。クラウドに依存しない関数は、クライアントアプリケーションと Fluence プロトコル自体を駆動します。サービスの検出、ルーティング、負荷分散、サブネットの起動と操作、拡張および耐障害性アルゴリズムはすべて Aqua 上で実行され、クラウドに依存しない関数として表現されます。

計算関数、Marine
Aqua は、Aqua マネージャーサーバーとクラウド間の実行トポロジとフローを管理する一方、Fluence は Marine を使用してノード上で計算タスクを実行します。Marine は WebAssembly ランタイムであり、インターフェースタイプと WASI を組み合わせて効果的なアクセスを実現します。

Marine は計算関数を駆動し、これらの関数はサーバーレスクラウド関数と同様に単一のマシンで実行されます。Marine は Rust と C++ をソース言語としてサポートしており、WebAssembly の標準の進化に伴い、さらに多くの言語をサポートする予定です。

サブネット
ネットワーク内のすべての計算関数は、冗長なデプロイメントによって冗長性を確保するために複製されます:ハードウェアの障害やネットワークの中断により、ノードが利用できなくなった場合でも。複製されたデプロイメントはサブネットと呼ばれます。サブネットの動作は完全に開発者によってカスタマイズされたクラウドに依存しない関数によって制御されるため、開発者はフェールオーバー、負荷分散、コンセンサス、またはその他のカスタムアルゴリズムを有効にすることができます。

サブネットは Fluence 上で高可用性のデータストレージを作成します。ホットキャッシュやデータインデックスに使用でき、大量のデータのストレージは外部ストレージネットワークにアウトソースされます。集中型(S3 など)または分散型(Filecoin/Arweave など)のいずれかです。

計算証明
Fluence プロトコルは、ネットワーク内のすべての実行が暗号証明を生成するよう強制します。プロバイダは計算に対して証明を生成し、クライアントは検証済みかつ正しい作業に証明が付いたものを支払うだけです。

Aqua のセキュリティ
Fluence 内のノードは、受信したクラウドに依存しない関数の呼び出しに対応するために継続的にサービスを提供します。これらの呼び出しは、関数のさらなる転送または計算関数の実行を必要とする場合、またはそのノードで実行する場合があります。各受信クラウドに依存しない関数に対して、ノードは関与したノードの実行パスを検証し、このプロセスが正しく実行されることを確認するためにノードが関与した実行パスを検証します。エラーのあるノードによって実行されたクラウドに依存しない関数や乱れたトポロジは破棄されます。

クラウドに依存しない関数がノードに計算関数の実行を要求する場合、ノードは作業を完了し、実行パスを拡張し、リクエストをさらに転送します。この方法により、プロトコルは正しい操作を保証し、すべての実行に対して監査記録を生成します。

処理証明
プロトコルは、Aqua の実行に対してチェーン上で確率的な検証を強制します。すべての計算が Aqua にカプセル化されているため、プラットフォーム上で実行されるすべての操作はチェーン上で確率的に検証されます。プロバイダは報酬を得るために必要な実行を提出する必要があります。そうでない場合、報酬は削減されます。

実行証明
Fluence 上の特定のコード実行に対する暗号証明。各関数の実行には、Fluence の Marine WebAssembly ランタイムによって生成されるこの証明が付属します。これらの証明は、後続の実行に参加するノードによって検証され、処理証明に含まれます。

マーケット
チェーン上のマーケットは、計算プロバイダと計算リソースを使用するクライアントをマッチングします。マーケットは完全に許可されているため、どのプロバイダでも参加し、利用可能な容量を公開することができます。

マーケットは Fluence 自体のチェーン上にホストされ、IPC によって駆動され、Fluence の計算プロバイダによって検証され、Filecoin L1 にアンカーされます。独自のチェーンにより、任意のスケールで計算リソースをレンタルするための安価で迅速な取引が可能になります:小規模な負荷から大規模なものまで。

Fluence マーケットの計算プロバイダ
Fluence マーケットの計算プロバイダ

計算プロバイダリソース
計算プロバイダリソース

容量証明
Fluence は、提供者が宣伝するリソースが存在し、利用可能であることを保証するために、容量証明と呼ばれる暗号証明を強制します。提供者は、ハードウェアリソースを継続的に容量証明に適用し、これらのリソースが顧客にサービスを提供する準備ができていることを確認します。プロトコルは、これらのリソースに Fluence トークンを割り当てることで報酬を提供します。

顧客が特定のプロバイダの計算能力を必要とする場合、これらのリソースは証明の生成からアプリケーションのサービスへの切り替えに使用されます。

容量証明を提出する計算ユニット
容量証明を提出する計算ユニット

リソース価格設定
顧客は、広告価格やその他のパラメータに基づいてプロバイダを選択するか、ジョブを投稿し、必要な最高価格を指定して任意のプロバイダがピックアップできるようにすることができます。

裏側では、各アプリケーションデプロイメントごとに、顧客とプロバイダの間のトランザクションがチェーン上に作成されます。トランザクションは、財務の詳細(価格、前払い、プロバイダの必要な担保)、サービスに関連する技術要件(特定のデータ、バイナリファイル、Web API へのアクセス)、およびコードのインストールリンクを記録します。

プロバイダのマッチング基準の選択
プロバイダのマッチング基準の選択

課金モデル
最初は、課金モデルは前払い制で、リソースのレンタル時間に基づいてエポック単位で計算されます。最小リソースレンタルは 1 つの計算ユニットであり、2 つのエポックにわたります。エポックは 1 日を定義し、計算ユニットは 1 つのコア、4GB のメモリ、5GB の仮想ディスクスペースです。顧客は最小期間の前払いを行う必要があり、プロバイダが報酬を受け取ることを保証します。

リクエストベースの課金モデルと弾力性のある計算ユニットは、プロジェクトの次の段階で導入されます。

ネットワーク
Fluence ネットワークは、グローバルに接続されたノードの集合と見なすことができます。各ノードは AquaVM と Marine を実行し、コマンドを受け取ってコードをローカルにデプロイし、受信したクラウドに依存しない関数と他のノードとの協調を行うことができます。これらのノードはほとんどが経済活動に参加しており、トランザクションを監視し、参加し、新しいサブネットを形成したり、サブネットの参加を調整したり、トランザクションの要件に応じてアプリケーションをインストールしたり、実行を調整したり、受信リクエストを処理したりします。彼らはまた、実行証明を生成し、これらの証明を提出して報酬を得るための証明アルゴリズムに従います。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。