> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# MEVプロテクト: サンドイッチ攻撃者の回避ルート

> MEVプロテクトにオプトインすることで、サンドイッチ攻撃に統計的に関連するバリデーターからソラナのトランザクションをルートから外します。基本送信、バンドル、Helius Senderで動作します。

<Note>
  **これはオプションの機能です。** MEVプロテクトはデフォルトでは無効です。エンドポイントURLに`mev-protect=true`クエリパラメータを追加することで、リクエストごとにオプトインします。
</Note>

## MEVプロテクトとは？

サンドイッチ攻撃は、有害な形のMEVであり、ボットがあなたの取引を前後して前に走り、価格をあなたに不利に動かし、差額を得ます。前後の実行は同じブロックに収まる必要はなく、**広いサンドイッチング**では、より長い期間に複数のブロックにまたがることができます。攻撃が本当に依存するのは、サンドイッチングを防御しない情報源を通じた**注文フローへのアクセス**です。ボットがあなたの保留中の取引を見ることができると、どのバリデーターのブロックにもサンドイッチを行うことができます。

実際には、その注文フローを提供するのはしばしばバリデーターであり、これらのバリデーターはしばしば報酬を高めるために自分のブロックにサンドイッチを含めます。それにより、彼らのブロックはサンドイッチングの不均衡な源となります。

MEVプロテクトはルーティング層でそのリスクを低減します。オプトインすると、Heliusはサンドイッチ活動に統計的に関連するバリデーターにトランザクションを送信しないようにし、サンドイッチされる可能性が大幅に低くなります。

<CardGroup cols={2}>
  <Card title="リクエストごとにオプトイン" icon="toggle-on">
    デフォルトでは無効です。エンドポイントURLに`mev-protect=true`を追加します — トランザクションや署名ロジックに変更は不要です。
  </Card>

  <Card title="どこでも動作" icon="arrows-split-up-and-left">
    基本的な`sendTransaction`、基本的な`sendBundle`、Sender Max、Sender SWQOSオンリーをサポートします。
  </Card>

  <Card title="データ駆動のルーティング" icon="chart-line">
    サンドイッチを自分のブロックや隣接するブロックに含めるバリデーターを除外します — パターンが統計的に有意な場合のみ。
  </Card>

  <Card title="最小限の着地影響" icon="gauge-high">
    総ステークのごく一部のみが除外されるため、着地率やレイテンシへの影響は限られています。
  </Card>
</CardGroup>

## どのように機能するか

Heliusは既知のサンドイッチボットを積極的に監視し、彼らのサンドイッチの着地点を分析します。バリデーターは、次のパターンのいずれかが一貫している場合にフラグが立てられます：

* **自分のブロックで** — バリデーターがサンドイッチトランザクションを直接含める。
* **隣接ブロックで** — サンドイッチは繰り返し、バリデーターの直前や後のブロックに着地する。

偶然の接近に対するバリデーターへのペナルティを避けるため、Heliusはサンドイッチ活動との統計的に有意な関連を持つバリデーターのみを除外します。これにより、除外セットは小さくターゲットを絞り、広範にステークをブロックすることはありません。

<Steps titleSize="h3">
  <Step title="オプトイン">
    エンドポイントURLに`mev-protect=true`を追加。これがそのリクエストに適用されます。
  </Step>

  <Step title="保護されたルーティング">
    Heliusはサンドイッチ関連のフラグが立てられたリーダーを避けてあなたのトランザクションを提出します。
  </Step>

  <Step title="通常の実行">
    あなたのトランザクションは通常通り着地しますが、サンドイッチされる可能性は大幅に低くなります。
  </Step>
</Steps>

## サポートされている送信方法

MEVプロテクトはクエリパラメータであり、リクエストボディを変更せずにすべての送信方法に重ね合わせます。

| Method                                                                       | Endpoint                             | Enable with                              |
| ---------------------------------------------------------------------------- | ------------------------------------ | ---------------------------------------- |
| [Basic `sendTransaction`](/ja/sending-transactions/send-manually)            | `https://mainnet.helius-rpc.com`     | `?api-key=YOUR_API_KEY&mev-protect=true` |
| [Basic `sendBundle`](/ja/sending-transactions/send-bundle)                   | `https://mainnet.helius-rpc.com`     | `?api-key=YOUR_API_KEY&mev-protect=true` |
| [Sender Max](/ja/sending-transactions/sender-max) (transactions and bundles) | `https://sender.helius-rpc.com/fast` | `?mev-protect=true`                      |
| [Sender SWQOS-only](/ja/sending-transactions/sender-swqos-only)              | `https://sender.helius-rpc.com/fast` | `?swqos_only=true&mev-protect=true`      |

## 有効化方法

既に使用しているエンドポイントURLに`mev-protect=true`を追加します。他のクエリパラメータ（`api-key`、`swqos_only`、`rebate-address`）と`&`を使用して組み合わせます。

<Tabs>
  <Tab title="Basic sendTransaction">
    ```bash theme={"system"}
    curl "https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY&mev-protect=true" \
      -X POST \
      -H "Content-Type: application/json" \
      -d '{
        "jsonrpc": "2.0",
        "id": 1,
        "method": "sendTransaction",
        "params": [
          "BASE64_ENCODED_TRANSACTION",
          { "encoding": "base64", "skipPreflight": true, "maxRetries": 0 }
        ]
      }'
    ```
  </Tab>

  <Tab title="Basic sendBundle">
    ```bash theme={"system"}
    curl "https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY&mev-protect=true" \
      -X POST \
      -H "Content-Type: application/json" \
      -d '{
        "jsonrpc": "2.0",
        "id": 1,
        "method": "sendBundle",
        "params": [
          ["BASE64_SIGNED_TX_1", "BASE64_SIGNED_TX_2"],
          { "encoding": "base64" }
        ]
      }'
    ```
  </Tab>

  <Tab title="Sender Max">
    ```bash theme={"system"}
    curl "https://sender.helius-rpc.com/fast?mev-protect=true" \
      -X POST \
      -H "Content-Type: application/json" \
      -d '{
        "jsonrpc": "2.0",
        "id": 1,
        "method": "sendTransaction",
        "params": [
          "BASE64_ENCODED_TRANSACTION",
          { "encoding": "base64", "skipPreflight": true, "maxRetries": 0 }
        ]
      }'
    ```
  </Tab>

  <Tab title="Sender SWQOS-only">
    ```bash theme={"system"}
    curl "https://sender.helius-rpc.com/fast?swqos_only=true&mev-protect=true" \
      -X POST \
      -H "Content-Type: application/json" \
      -d '{
        "jsonrpc": "2.0",
        "id": 1,
        "method": "sendTransaction",
        "params": [
          "BASE64_ENCODED_TRANSACTION",
          { "encoding": "base64", "skipPreflight": true, "maxRetries": 0 }
        ]
      }'
    ```
  </Tab>
</Tabs>

<Tip>
  MEVプロテクトはトランザクションがルートされる場所を変更するだけです。既存のチップと優先料金の要件を維持してください — Senderでは、チップと優先料金の両方が必須です。
</Tip>

## トレードオフ

バリデーターを除外することは、トランザクションが着地できるリーダーがわずかに少なくなることを意味します。実際の影響は小さく、総ネットワークステークのごく一部（約3〜4百万SOL）が除外されるに過ぎません。ほとんどのフローでの着地率の低下とレイテンシの増加は無視できるものです。

<Warning>
  リーダーのすべてが重要な最もレイテンシーに敏感な戦略では、本番環境で有効化する前に特定のフローに対して`mev-protect=true`の有無で着地率を測定してください。
</Warning>

## MEVプロテクトとトランザクションリベートの比較

これらはMEVの異なる部分に対処する補完的な機能です：

* **MEVプロテクト**は防御的なルーティングで、サンドイッチ攻撃者が取引から価値を抽出する可能性を低減します。
* \*\*[トランザクションリベート](/ja/sending-transactions/backrun-rebates)\*\*は攻撃的で、取引が作成する有益なポストトレードバックランMEVの一部を支払います。

両方のクエリパラメータを追加することで、同じリクエストで両方にオプトインできます。

## 関連

<CardGroup cols={2}>
  <Card title="Helius Sender" icon="rocket" href="/ja/sending-transactions/sender">
    超低レイテンシ、多パスの取引送信、チップベースの価格設定。
  </Card>

  <Card title="トランザクションリベート" icon="coins" href="/ja/sending-transactions/backrun-rebates">
    トランザクションが生み出すMEVの一部をSOLで獲得しましょう。
  </Card>

  <Card title="トランザクションの送信（基本）" icon="paper-plane" href="/ja/sending-transactions/send-manually">
    頑丈なリトライループを使って`sendTransaction`を構築、最適化、確認します。
  </Card>

  <Card title="バンドルの送信（基本）" icon="layer-group" href="/ja/sending-transactions/send-bundle">
    最大5つのトランザクションを`sendBundle`で原子かつ全てまたは何も実行しません。
  </Card>
</CardGroup>
