PolySwarmPolySwarmPolySwarmPolySwarm
Help

Microengines

概要

マイクロエンジン・アーキテクチャー

マイクロエンジンは、PolySwarm マーケットプレイスでセキュリティー専門家の代理として機能します。 マイクロエンジンは、シグネチャー、ヒューリスティックス、動的分析、エミュレーション、仮想化などを単体または組み合わせた形で、セキュリティーの専門知識をカプセル化します。

マイクロエンジンは、PolySwarm マーケットプレイスで報奨金とオファーに応答し、疑わしいファイルが悪意のあるものなのか無害なのかを判別して、そのアサーションとともに一定量の Nectar (NCT) トークンを投資します。 セキュリティー専門家は、新しい脅威情報や新しい分析ツールに対応して、自身のマイクロエンジンを保守および調整し、専門家同士で競い合って、自身の専門知識分野で先頭に立とうとします。

特定のマルウェア系統に関する独自の知見を有している場合、その知見に対する評判とトークン (NCT) を獲得するために、マイクロエンジンを開発できます。


マーケットプレイスにおけるマイクロエンジンの役割

PolySwarm マーケットプレイスでは、アンバサダーが、西部劇の指名手配のような PolySwarm 報奨金メカニズムを利用して、疑わしいアーティファクト (ファイル) についてクラウドソーシングを活用した意見をマーケットに求めます。 アンバサダーは、オファー・チャネルを利用して特定の専門家に依頼することもできます。これについては、後述します。

概要:

  1. アンバサダーが、疑わしいアーティファクト (ファイル) に報奨金をかけます。
  2. マイクロエンジン が (polyswarmd を介して) イーサリアム・イベントをリッスンして、新しいアーティファクトに関する情報を認識します。
  3. 当該アーティファクトが専門知識分野の範囲内かどうかを各マイクロエンジンが判断します。
  4. マイクロエンジンは、アーティファクトに関する知見がある場合、アサーションを生成し、そのアサーションに対して NCT を投資します。この NCT はいったん BountyRegistry スマート・コントラクトに預託されます。
  5. アンバサダーがすべてのアサーションを検討し、判定を顧客に返します。
  6. (時間の経過)
  7. 評価者が、アーティファクトの悪意性について確認・評価を行います。
  8. 不正解だったマイクロエンジンが預託した資金を利用して、正解を出したマイクロエンジンに報酬が支払われます。

このプロセスの詳細については、PolySwarm ホワイトペーパーをご覧ください。


マイクロエンジンの構成

概念的に、マイクロエンジンは以下から構成されています。

  1. N 個の分析バックエンド: アーティファクト (ファイル) を取り込んで、悪意がある無害かを判別します。
  2. 1 個の判定生成エンジン: 分析バックエンドの出力を取り込み、単一の判定 + 信頼区間を生成します。
  3. 1 個の投資エンジン: 判定生成の出力とマーケット/競合相手の情報を取り込み、Nectar (NCT) を投資します。

マイクロエンジンは、PolySwarm マーケットプレイスでセキュリティー専門家に代わって自律的に動作する主体です。 ファイルのスキャンからファイルの悪意に関するアサーションに対する投資に至るまで、すべてのタスクを実行します。

具体的には、マイクロエンジンは以下を行います。

  1. (polyswarmd を介して) イーサリアム・ブロックチェーンで報奨金およびオファーがないかを確認する
  2. (polyswarmd を介して) IPFS からアーティファクトを取得する
  3. (1 つ以上の分析バックエンドを介して) アーティファクトをスキャン/分析する
  4. (判定生成エンジンを介して) Nectar (NCT) 投資金額を決定する
  5. (投資エンジンを介して) アサーション (判定 + 投資) を行う

すべてのマイクロエンジンがこの一連のタスクを行います。 このチュートリアルでは、項目 3 だけを取り上げ、microengine-scratch スケルトン・プロジェクトへの分析バックエンドの作成について説明します。 他のすべての項目については、polyswarmd によってデフォルトで処理されます。 After completing these tutorials, advanced users may want to refer to polyswarmd API for pointers on customizing these other aspects of their Microengine.


マイクロエンジンの開発

最初のマイクロエンジンを開発して NCT を獲得する準備はできましたか?

I want to build a Linux-based Microengine (Recommended) →

Linux ベースのエンジンは、Windows ベースのエンジンよりもテストがはるかに簡単で、用意されているデプロイメント・オプションも多くなっています。

使用しているスキャン・エンジンで Windows しかサポートされないため、Windows ベースのマイクロエンジンを作成する →