-
bitcoin $82743.465691 USD
1.39% -
ethereum $2429.584590 USD
0.92% -
tether $0.998904 USD
0.03% -
bnb $726.898196 USD
1.00% -
xrp $1.315117 USD
1.60% -
usd-coin $0.999868 USD
0.00% -
solana $105.673654 USD
2.10% -
tron $0.331125 USD
-0.54% -
hyperliquid $80.154059 USD
2.30% -
zcash $1163.500649 USD
3.00% -
dogecoin $0.079770 USD
0.82% -
monero $598.040801 USD
2.57% -
chainlink $12.198465 USD
1.74% -
unus-sed-leo $9.030524 USD
-0.01% -
cardano $0.221054 USD
0.65%
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) までご連絡ください。速やかに削除させていただきます。
- テザーCEO、市場動向の変化でイラン関連のステーブルコイン取引量が94%減少したと主張
- 2026-10-20 04:25:01
- 仮想通貨デリバティブの状況が拡大する中、ヘッジファンドがビットコイン先物の弱気相場を縮小
- 2026-10-20 04:35:01
- ホスキンソン、カルダノ、レイオス: 完全なブロックチェーンの未来への道筋を描く
- 2026-10-20 01:49:45
- Qubic Hack が解き放たれる: 脆弱なウォレット シードにより 130 万ドルの QU が盗まれ、ネットワークが停止
- 2026-10-19 17:39:21
- ビットコイン、ETH、XRP分析:ETFの流出と強気のささやきの中での仮想通貨の流れをナビゲートする
- 2026-10-19 17:23:37
- ドギナルドッグスが市場低迷をものともせず、NFT低迷と2026年の市場予測の中で過去最高値を記録
- 2026-10-19 13:05:01
関連知識
Gate.ioから現物取引記録をエクスポートする方法
2026-10-18 03:20:32
Web インターフェイス経由で現物取引記録にアクセスする1. Gate.io アカウントにログインし、スポット取引セクションに移動します。 2. マーケットリストから BTC/USDT や ETH/USDT などの希望の取引ペアを選択します。 3. 取引インターフェイスの右側で、リアルタイムのティッ...
OKX で USDT フレキシブルセービングの APR を確認する方法
2026-10-15 22:00:27
OKX Flexible Savings の APR について1. APR は Annual Percentage Rate の略で、複利効果のない USDT 預金の名目年間収益を反映します。 2. OKX は、市場の流動性需要と融資プール全体にわたる資金配分に応じて、APR を固定金利または変動金...
Bitget でトレーダーのコピーをやめる方法
2026-10-16 02:59:36
市場のボラティリティパターン1. Bitcoin の価格変動は、主要なマクロ経済発表中に 24 時間以内に 15% を超えることがよくあります。 2. アルトコイン指数は BTC と比較してより高いベータ係数を示し、流動性ショック時の利益と損失の両方を増幅します。 3. フラッシュクラッシュイベント...
Bybitでコピートレーディングの利益シェアを確認する方法
2026-10-16 10:19:45
Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごと、つまり約 4 年ごとに半分になるという固定スケジュールを強制します。 2. 最新の半減期は 2024 年 4 月に発生し、マイナー報酬がブロックあたり 6.25 BTC から 3.125 B...
暗号通貨購入のために Coinbase に新しい銀行口座を追加する方法
2026-10-19 08:39:38
Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、ブロックごとに流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の...
BybitのUSDT出金ネットワークを変更する方法
2026-10-18 05:24:47
出金設定へのアクセス1. 検証済みの資格情報と 2 要素認証を使用して、Bybit アカウントにログインします。 2. 上部のナビゲーション バーまたはユーザー ドロップダウン メニューから[資産]セクションに移動します。 3. 残高が存在する場所に応じて、スポット ウォレットまたは統合取引口座でU...
Gate.ioから現物取引記録をエクスポートする方法
2026-10-18 03:20:32
Web インターフェイス経由で現物取引記録にアクセスする1. Gate.io アカウントにログインし、スポット取引セクションに移動します。 2. マーケットリストから BTC/USDT や ETH/USDT などの希望の取引ペアを選択します。 3. 取引インターフェイスの右側で、リアルタイムのティッ...
OKX で USDT フレキシブルセービングの APR を確認する方法
2026-10-15 22:00:27
OKX Flexible Savings の APR について1. APR は Annual Percentage Rate の略で、複利効果のない USDT 預金の名目年間収益を反映します。 2. OKX は、市場の流動性需要と融資プール全体にわたる資金配分に応じて、APR を固定金利または変動金...
Bitget でトレーダーのコピーをやめる方法
2026-10-16 02:59:36
市場のボラティリティパターン1. Bitcoin の価格変動は、主要なマクロ経済発表中に 24 時間以内に 15% を超えることがよくあります。 2. アルトコイン指数は BTC と比較してより高いベータ係数を示し、流動性ショック時の利益と損失の両方を増幅します。 3. フラッシュクラッシュイベント...
Bybitでコピートレーディングの利益シェアを確認する方法
2026-10-16 10:19:45
Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごと、つまり約 4 年ごとに半分になるという固定スケジュールを強制します。 2. 最新の半減期は 2024 年 4 月に発生し、マイナー報酬がブロックあたり 6.25 BTC から 3.125 B...
暗号通貨購入のために Coinbase に新しい銀行口座を追加する方法
2026-10-19 08:39:38
Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、ブロックごとに流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の...
BybitのUSDT出金ネットワークを変更する方法
2026-10-18 05:24:47
出金設定へのアクセス1. 検証済みの資格情報と 2 要素認証を使用して、Bybit アカウントにログインします。 2. 上部のナビゲーション バーまたはユーザー ドロップダウン メニューから[資産]セクションに移動します。 3. 残高が存在する場所に応じて、スポット ウォレットまたは統合取引口座でU...
すべての記事を見る














