時価総額: $2.2043T 0.58%
ボリューム(24時間): $56.8553B 3.76%
恐怖と貪欲の指数:

39 - 恐れ

  • 時価総額: $2.2043T 0.58%
  • ボリューム(24時間): $56.8553B 3.76%
  • 恐怖と貪欲の指数:
  • 時価総額: $2.2043T 0.58%
暗号
トピック
暗号化
ニュース
暗号造園
動画
トップクリプトスペディア

言語を選択する

言語を選択する

通貨の選択

暗号
トピック
暗号化
ニュース
暗号造園
動画

Uniswap V4「フラッシュ会計」: どのようにガスを節約するのですか? (プロトコルテック)

Uniswap V4’s Flash Accounting uses in-memory accumulators to defer balance updates until transaction end—slashing SSTORE/SLOAD ops, cutting gas, and boosting composability.

2026/04/02 07:39

フラッシュアカウンティングの仕組み

1. Flash Accounting は、スワップの開始時と終了時に、複数の状態更新を単一のアトミック台帳スナップショットに置き換えます。

2. Uniswap V4 は、複雑なマルチホップ スワップ中に中間残高をストレージに書き込む代わりに、トランザクションの終了フェーズまですべての残高変更を延期します。

3. 各プールは、決済まで EVM ストレージに触れることなく、デルタ (入金、出金、手数料、プロトコル料金) を追跡するローカル アキュムレータを維持します。

4. アキュムレータはスタックベースの演算を使用してメモリ内で動作し、非ゼロから非ゼロへの書き込みごとに 20,000 ガスのコストがかかる SSTORE オペコードを回避します。

5. トランザクションの終了時に、ネットデルタのみがプールのリザーブ残高に適用され、プールのインタラクションごとにストレージ書き込みが数十から 1 つまたは 2 つに削減されます。

フック駆動の状態管理

1. フックは、コア プール操作の前後に実行されるカスタマイズ可能なオンチェーン ロジック モジュールですが、リザーブを直接変更することはありません。

2. フックは、複数のストレージ スロットにわたる冗長な残高再計算をトリガーすることなく、料金の再分配または流動性の再バランスをトリガーできます。

3. フックはコンテキストを認識した分離で実行されるため、ストレージからプールの状態を繰り返し再読み取りすることを回避し、代わりに現在のアキュムレータ値をパラメータとして継承します。

4. これにより、フック呼び出しごとに最大 15 ~ 20 の SLOAD 操作が排除されます。それぞれに 100 ガスのコストがかかり、特にネストされたスワップまたは構成スワップに影響を及ぼします。

5. フック実行パスは事前検証され、最適化されたジャンプ先にコンパイルされ、EVM での条件分岐のオーバーヘッドが削減されます。

シングルトン プールのアーキテクチャ

1. Uniswap V4 は、トークン ペアごとに個別のコントラクトを展開するのではなく、すべてのプールを 1 つのコントラクト インスタンスに統合します。

2. この設計により、プールごとの導入コストが削減され、数千の流動性会場にわたる冗長なバイトコードの重複が排除されます。

3. ストレージ レイアウトは、スロット効率の高いマッピング キーを使用して緊密にパックされます。プール識別子は、順序付けされたトークン アドレス ハッシュを介して uint256 キーにエンコードされ、補助インデックス構造なしで O(1) ルックアップが可能になります。

4. 手数料層の検証やティック ビットマップの割り当てなどのガスを大量に消費する初期化ルーチンは、プールごとではなくグローバルに 1 回実行され、すべての取引アクティビティで固定オーバーヘッドが償却されます。

5. シングルトン モデルは、内部プール ロジックを同じ実行コンテキスト内に維持し、CALL オペコードと関連する 700 ガスの基本コストとメモリ拡張ペナルティを回避することで、クロスコントラクト呼び出しのオーバーヘッドを削減します。

ストレージ書き込みなしの料金の蓄積

1. プロトコル料金と流動性プロバイダーの報酬は、スワップ中に永続ストレージではなく揮発性メモリ アキュムレータで集計されます。

2. 料金の発生は、フック ロジックで明示的に要求されない限り、オーバーフロー チェックをバイパスし、アキュムレータ内のチェックされていない加算によって発生します。

3. 流動性プロバイダーがcollect()を呼び出すまでストレージへの書き込みは行われないため、手数料収集はスワップごとの負担ではなく、オプトインの低頻度操作になります。

4. この分離は、3 つのプールを含む 1 つのスワップで、SSTORE なしで 5 つの異なる LP ポジション (すべてメモリ内でオフチェーンで追跡) に対する手数料が発生する可能性があることを意味します。

5. アキュムレータはビットパッキング技術を使用して、複数の料金コンポーネント (プロトコルシェア、LP シェア、フック固有の課徴金など) を単一の uint256 内に格納し、ストレージ効率を維持します。

よくある質問

Q: フラッシュ アカウンティングはフロントランニングの抵抗に影響しますか? Flash Accounting は、メモリプールの可視性やトランザクションの順序を変更しません。アキュムレータ デルタは最終決済時にのみコールデータとイベント ログに表示されるため、以前のバージョンと同じ MEV サーフェスが保存されます。

Q: 開発者はトランザクション中にアキュムレータの値を読み取ることができますか?いいえ。アキュムレータの内容は、実行中にパブリック ゲッターを介して公開されません。アクセスが許可されたフックのみが、定義されたスコープ内で検査または操作できます。

Q: Flash Accounting は既存の Uniswap V3 統合と互換性がありますか?ネイティブではありません。リアルタイムの残高読み取りまたは外部 Oracle フィードに依存する統合は、決済後の状態をクエリするか、V4 で導入された新しいイベントベースの通知パターンを使用するように更新する必要があります。

Q: Flash Accounting はフラッシュ ローンとどのように連携しますか?借入ステップと返済ステップの間の冗長な準備金検証を排除することで、フラッシュ ローンの効率が向上します。アキュムレータは、中間ストレージ同期を必要とせずに、トランザクション境界全体にわたる一貫性を保証します。

免責事項:info@kdj.com

提供される情報は取引に関するアドバイスではありません。 kdj.com は、この記事で提供される情報に基づいて行われた投資に対して一切の責任を負いません。暗号通貨は変動性が高いため、十分な調査を行った上で慎重に投資することを強くお勧めします。

このウェブサイトで使用されているコンテンツが著作権を侵害していると思われる場合は、直ちに当社 (info@kdj.com) までご連絡ください。速やかに削除させていただきます。

関連知識

MEXC契約マージン率とは何ですか?清算はいつ行われますか?

MEXC契約マージン率とは何ですか?清算はいつ行われますか?

2026-08-06 04:02:16

MEXC契約マージン率の定義1. MEXC 契約証拠金率は、当初証拠金の形で担保として保持しなければならないトレーダーのポジション価値の割合を表します。 2. この比率は、市場のボラティリティ、資産の種類、契約満期に基づいて動的に調整され、その範囲は、高流動性無期限の 0.5% から、少量の四半期先...

MEXC先物清算はどのように機能しますか?完全な説明

MEXC先物清算はどのように機能しますか?完全な説明

2026-08-06 01:19:41

MEXC の先物清算メカニズム1. トレーダーの証拠金残高が、特定の先物契約に対して MEXC によって設定された維持証拠金要件を下回ると、清算がトリガーされます。 2. プラットフォームは、Chainlink や Binance Smart Chain オラクルを含む複数の外部価格フィードから導出...

Gate.io コントラクト ポジション モードとは何ですか?設定を変更するには?

Gate.io コントラクト ポジション モードとは何ですか?設定を変更するには?

2026-08-09 22:39:43

Gate.io コントラクト ポジション モードについて1. Gate.io は、先物と無期限契約の 2 つの異なるポジション モード、ヘッジ モードと一方向モードをサポートします。 2. ヘッジ モードでは、ユーザーは同じ契約シンボルに対してロング ポジションとショート ポジションの両方を同時に保...

Gate.io先物取引手数料を削減するにはどうすればよいですか?

Gate.io先物取引手数料を削減するにはどうすればよいですか?

2026-08-06 06:24:43

Gate.ioの料金体系を理解する1. Gate.io は、30 日間の取引量と GT トークン保有量に基づいた段階的な手数料モデルを適用します。より多くのボリュームまたはより大きな GT 残高を持つユーザーは、メーカー手数料とテイカー手数料が安くなります。 2. メーカー注文(注文簿に流動性を追加...

Gate.io リスク制限システムとは何ですか?仕組みは?

Gate.io リスク制限システムとは何ですか?仕組みは?

2026-08-05 21:19:48

リスク制限制度の定義と目的1. Gate.io リスク制限システムは、ポジション サイズに基づいてレバレッジを動的に調整することで、無期限先物契約のエクスポージャーを管理するように設計された組み込みメカニズムです。 2. ユーザーが口座資本に対して過度に大きなポジションを保持することを防ぐ、段階的な...

Gate.io 先物計算ツールの使い方完全なチュートリアル

Gate.io 先物計算ツールの使い方完全なチュートリアル

2026-08-10 14:39:38

Gate.io 先物計算インターフェイスの理解1. 計算機は、Gate.io 公式 Web サイトの「ツール」セクションからアクセスするか、Web プラットフォームとモバイル プラットフォームの両方の先物取引インターフェイスに直接埋め込まれてアクセスできます。 2. Gate.io にリストされてい...

MEXC契約マージン率とは何ですか?清算はいつ行われますか?

MEXC契約マージン率とは何ですか?清算はいつ行われますか?

2026-08-06 04:02:16

MEXC契約マージン率の定義1. MEXC 契約証拠金率は、当初証拠金の形で担保として保持しなければならないトレーダーのポジション価値の割合を表します。 2. この比率は、市場のボラティリティ、資産の種類、契約満期に基づいて動的に調整され、その範囲は、高流動性無期限の 0.5% から、少量の四半期先...

MEXC先物清算はどのように機能しますか?完全な説明

MEXC先物清算はどのように機能しますか?完全な説明

2026-08-06 01:19:41

MEXC の先物清算メカニズム1. トレーダーの証拠金残高が、特定の先物契約に対して MEXC によって設定された維持証拠金要件を下回ると、清算がトリガーされます。 2. プラットフォームは、Chainlink や Binance Smart Chain オラクルを含む複数の外部価格フィードから導出...

Gate.io コントラクト ポジション モードとは何ですか?設定を変更するには?

Gate.io コントラクト ポジション モードとは何ですか?設定を変更するには?

2026-08-09 22:39:43

Gate.io コントラクト ポジション モードについて1. Gate.io は、先物と無期限契約の 2 つの異なるポジション モード、ヘッジ モードと一方向モードをサポートします。 2. ヘッジ モードでは、ユーザーは同じ契約シンボルに対してロング ポジションとショート ポジションの両方を同時に保...

Gate.io先物取引手数料を削減するにはどうすればよいですか?

Gate.io先物取引手数料を削減するにはどうすればよいですか?

2026-08-06 06:24:43

Gate.ioの料金体系を理解する1. Gate.io は、30 日間の取引量と GT トークン保有量に基づいた段階的な手数料モデルを適用します。より多くのボリュームまたはより大きな GT 残高を持つユーザーは、メーカー手数料とテイカー手数料が安くなります。 2. メーカー注文(注文簿に流動性を追加...

Gate.io リスク制限システムとは何ですか?仕組みは?

Gate.io リスク制限システムとは何ですか?仕組みは?

2026-08-05 21:19:48

リスク制限制度の定義と目的1. Gate.io リスク制限システムは、ポジション サイズに基づいてレバレッジを動的に調整することで、無期限先物契約のエクスポージャーを管理するように設計された組み込みメカニズムです。 2. ユーザーが口座資本に対して過度に大きなポジションを保持することを防ぐ、段階的な...

Gate.io 先物計算ツールの使い方完全なチュートリアル

Gate.io 先物計算ツールの使い方完全なチュートリアル

2026-08-10 14:39:38

Gate.io 先物計算インターフェイスの理解1. 計算機は、Gate.io 公式 Web サイトの「ツール」セクションからアクセスするか、Web プラットフォームとモバイル プラットフォームの両方の先物取引インターフェイスに直接埋め込まれてアクセスできます。 2. Gate.io にリストされてい...

すべての記事を見る

User not found or password invalid

Your input is correct