本文へ移動

プライベートトランザクション RPC

プライベートトランザクション RPC は、公開 mempool で伝播する前に署名済みトランザクションまたはバンドルを限定されたプロバイダ、リレー、ビルダーへ送ります。変わるのは初期開示であり、実行の有効性、採用、価格、ファイナリティの保証ではありません。

更新日

教育目的の情報であり、投資助言ではありません。プライベートルーティングは失敗したり、取引意図を漏らしたり、不利な執行や不可逆的な損失を生じさせたりすることがあります。

要点

プライベートトランザクション RPC は、公開 mempool で伝播する前に署名済みトランザクションまたは順序付きバンドルを限定されたサービス経路へ送ります。経路には RPC プロバイダ、リレー、指定ビルダーのほか、開示されたヒントを受け取るサーチャーが含まれる場合があります。したがって「プライベート」が表すのは初期配布であり、暗号化、匿名性、中間者からの不可視性ではありません。

公開 mempool でのコピー、フロントランニング、サンドイッチ攻撃への露出を減らせる可能性はありますが、ブロック採用、EVM 実行成功、最良執行、MEV 還元、ファイナリティは保証されません。プロバイダの確認や返されたトランザクションハッシュが証明するのは、リクエストがそのインターフェースに届いたことだけです。ビルダーへの配布、ペイロード選択、ブロック採用、レシートの status、正規チェーン上の地位、ファイナリティは別々の状態です。

すべてのプライベート方式を同一視してはいけません。単一の eth_sendPrivateTransaction、従来の eth_sendBundlemev_sendBundle では、対象ブロック、順序付きボディ、許容リバート、置換・取消し、ビルダー選択、プライバシーヒント、還元規則が異なる場合があります。結果を決めるのは、正確なチェーン、エンドポイント、API バージョン、署名済みペイロードです。

仕組み

ウォレットはまず、チェーン ID、nonce、宛先、金額、calldata、gas 上限、EIP-1559 手数料上限を持つ通常のチェーントランザクションを構築して署名します。プライベートルーティングが変えるのは署名済みバイトの提出先であり、nonce 順序、残高・allowance 検査、コントラクト実行、base fee 規則、コンセンサス検証を迂回しません。同一の署名済みバイトを再送すればハッシュは同じですが、手数料や calldata を変更した同一 nonce の置換は別ハッシュになります。

プロバイダは指定された状態に対してペイロードをシミュレーションし、一つ以上のビルダーへ配布することがあります。シミュレーションはその状態を前提とします。残高、ストレージ、オラクル値、競合トランザクション、base fee は構築前に変化し得ます。有効なトランザクションでも、到着が遅い、支払いが少ない、より価値の高いブロックに負ける、提案者が選んだビルダーへ届かない、といった理由で除外されます。

バンドルには順序付き実行ポリシーも加わります。成功必須の処理がリバートすればバンドルは不適格になり得ます。一方、明示的に許容されたリバートは gas を消費し、それ以前に成功したバンドル内処理の状態変更を残す場合があります。これは自動的な全件ロールバックではありません。プライバシーヒントはトランザクションハッシュ、コントラクトアドレス、関数セレクタ、calldata、ログを開示し得ます。高速モードや広範なビルダー配信は到達範囲を広げますが、通常は信頼・開示範囲も広げます。

nonce とタイムアウトには明示的な状態機械が必要です。プライベート保留中トランザクションは通常の公開 RPC の pending 表示に出ないことがあり、後続 nonce を塞ぎ得ます。プロバイダの取消しは、その管理経路からの今後の提出を止めるだけです。既に共有、公開送信、採用されたコピーは回収できません。同一 nonce の置換や公開フォールバックは残存する全バージョンと競合し、公開オーダーフローへの露出を再び発生させます。

次の手順を使います。

  1. チェーン ID、プロバイダ、API バージョンを固定します。単一プライベートトランザクションかバンドル方式を選び、ログ、ビルダー・サーチャー配布、ヒント、リバート、還元、公開フォールバック方針を記録します。
  2. 未署名の意図と署名済みペイロードを正確にデコードします。送信者、nonce、宛先、金額、calldata、allowance、gas 上限、手数料上限、期限、最低出力、対象ブロック範囲、各順序付きバンドル項目を確認します。
  3. 特定したブロックと状態に対してシミュレーションします。成功・リバート経路、状態変化、スリッページ、残高変化、許容失敗、総 gas、経済的に最悪な有効結果を検証します。
  4. 意図したエンドポイントへ提出し、トランザクションまたはバンドルハッシュ、リクエスト ID、認証主体、時刻、対象・最大ブロック、ビルダー、ヒント、元ペイロードを保存します。
  5. プロバイダ確認、シミュレーション、ビルダー配布、プライベート nonce、有効期限を正規レシートとは別々に監視します。再提出前に対象ブロックと手数料前提を更新します。
  6. 期限時には、待機、取消し、同一 nonce での置換、公開フォールバックでの開示のいずれかを明示的に選びます。取消しでコピーを回収できると思い込まず、競合を追跡せずに矛盾する版を送らないでください。
  7. 正しいチェーンのレシート status、ログ、残高、出力、実効 gas 価格、還元を照合します。その後、必要な safe または finalized 状態まで待ち、reorg、漏えい、説明できない執行差を調査します。

  • 出力保護は最良執行ではない。 スワップの入力見積りを 100,000 USDC、最低出力を 98,800 USDC とします。公開執行の出力は 98,950 USDC で、額面比の不足は 1,050 USDC、すなわち 1.05% ですが、最低出力をわずか 150 USDC 上回るだけです。プライベートルーティングは観測を減らし得ますが、別の公開市場や RFQ より良い出力を保証しません。
  • EIP-1559 の採用上限。 トランザクションは 180,000 gas、base fee は 30 gwei、priority fee 上限は 2 gwei、max fee は 40 gwei とします。実効価格は min(40, 30 + 2) = 32 gwei、手数料は 180,000 x 32 = 5,760,000 gwei = 0.005760 ETH です。候補ブロックの base fee が 42 gwei なら、40 gwei の max fee では不足し、プライベートルーティングでもそのブロックへ採用可能にはなりません。
  • 同一 nonce のフォールバック競合。 プライベートペイロード A と公開フォールバック B はともに nonce 42 を使います。提出が二つでも、正規チェーンが nonce 42 を消費できるのは一度だけです。A がブロック N + 2 で採用されれば B は無効になり、B が先なら A が無効になります。取消し確認は取り消した結果ではなく、残存コピーをすべて追跡する必要があります。
  • 許容リバートは原子的ロールバックではない。 順序付きバンドルで、approve が 45,000 gas を使い、スワップが 120,000 gas 消費後にリバートし、その実効価格が 25 gwei とします。許容リバート規則がなければ、記載の方針ではバンドルは除外されます。スワップのリバートを許容して採用された場合、approve は残り、スワップは status = 0、gas 費用は (45,000 + 120,000) x 25 gwei = 0.004125 ETH です。

リスク

  • ウォレットが誤ったチェーン、プロバイダ、エンドポイント、API バージョンを使う。
  • DNS、TLS、API キー、RPC インターフェースがフィッシングまたは侵害される。
  • プロバイダが IP、アカウント、時刻、署名済みペイロードを関連付ける。
  • リレーが完全なトランザクションを記録、漏えい、複製、再送する。
  • ヒントがハッシュ、セレクタ、コントラクト、calldata、ログを開示する。
  • 高速モードや広範なビルダー配信が信頼・開示範囲を広げる。
  • ビルダーまたはサーチャーがプライベートオーダーフローを検閲、複製、悪用する。
  • 誤ったブロックをシミュレーションする、または構築前に結果が陳腐化する。
  • コントラクト状態、残高、価格、順序が変わってリバートする。
  • base fee、max fee、priority fee によりペイロードが不利または無効になる。
  • nonce の欠番や見えないプライベート保留中取引が後続 nonce を塞ぐ。
  • 取消しまたは同一 nonce 置換が時間競合に負ける。
  • 無断の公開フォールバックが公開 mempool の MEV リスクを戻す。
  • 対象ブロック、最大ブロック、タイムスタンプ、サービス TTL を誤解する。
  • バンドル順序や許容リバート方針が意図しない状態変更を残す。
  • ビルダー、リレー、提案者の到達範囲不足や検閲で採用されない。
  • 停止、レート制限、遅延により有効期間を逃す。
  • プライベートルーティングをスリッページ保護や最良執行と誤認する。
  • レシート状態、ログ、残高、手数料、還元を誤って照合する。
  • reorg、早すぎるファイナリティ判断、L2 シーケンサー境界が結論を覆す。

よくある誤解

  • プライベートとは、暗号化され、匿名で、誰にも見えないという意味だ。 プロバイダや指定された下流参加者は、完全なペイロードまたは開示ヒントを見られる場合があります。
  • プライベート RPC なら MEV がなく、最良価格が保証される。 変わるのは配布経路です。コントラクト上の制限、市場比較、執行品質は依然重要です。
  • RPC 成功やトランザクションハッシュは、採用、成功、確定を意味する。 確認、レシート、EVM 状態、ファイナリティは別々です。
  • 取消しや同一 nonce 置換は必ず成功する。 一つが採用されるか全てが期限切れになるまで、コピーと競合版は争います。
  • プライベートトランザクションは自動的に原子的バンドルになる。 単一取引と複数のバンドル形式では、順序・リバートの意味が異なります。

関連トピック

出典

ナビゲーション

Wiki を検索...