-
bitcoin $84577.234968 USD
-1.56% -
ethereum $2680.004128 USD
-1.70% -
tether $0.999808 USD
0.02% -
bnb $765.682454 USD
-1.34% -
xrp $1.484099 USD
-2.46% -
usd-coin $0.999988 USD
0.00% -
solana $119.429084 USD
-1.45% -
tron $0.335308 USD
0.33% -
zcash $1313.504956 USD
-4.56% -
hyperliquid $88.248433 USD
-1.74% -
dogecoin $0.092877 USD
-2.97% -
chainlink $14.020892 USD
-2.26% -
monero $548.883836 USD
0.03% -
cardano $0.244660 USD
-3.58% -
unus-sed-leo $9.010719 USD
0.45%
Uniswap V4 « Flash Accounting » : Comment ça économise du gaz ? (Technologie du protocole)
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.
Apr 02, 2026 at 07:39 am
Mécanisme de comptabilité Flash
1. Flash Accounting remplace plusieurs mises à jour d'état par un seul instantané du grand livre atomique au début et à la fin d'un échange.
2. Au lieu d'écrire des soldes intermédiaires dans le stockage lors d'échanges multi-sauts complexes, Uniswap V4 reporte toutes les mutations de solde jusqu'à la phase de finalisation de la transaction.
3. Chaque pool gère un accumulateur local qui suit les deltas (dépôts, retraits, frais et frais de protocole) sans toucher au stockage EVM jusqu'au règlement.
4. L'accumulateur fonctionne en mémoire en utilisant une arithmétique basée sur la pile, évitant les opcodes SSTORE qui coûtent 20 000 gaz chacun pour des écritures non nulles à non nulles.
5. À la conclusion de la transaction, seul le delta net est appliqué aux soldes de réserve du pool, réduisant ainsi les écritures de stockage de dizaines à une ou deux par interaction de pool.
Gestion d'état pilotée par Hook
1. Les hooks sont des modules logiques personnalisables en chaîne qui s'exécutent avant ou après les opérations du pool principal, mais ils ne modifient pas directement les réserves.
2. Un hook peut déclencher une redistribution des frais ou un rééquilibrage des liquidités sans déclencher de recalculs de solde redondants sur plusieurs emplacements de stockage.
3. Étant donné que les hooks s'exécutent dans une isolation contextuelle, ils évitent de relire l'état du pool à partir du stockage à plusieurs reprises, au lieu d'hériter des valeurs actuelles de l'accumulateur en tant que paramètres.
4. Cela élimine jusqu'à 15 à 20 opérations SLOAD par appel de hook, chacune coûtant 100 gaz, ce qui a un impact particulièrement important dans les échanges imbriqués ou de composition.
5. Les chemins d'exécution des hooks sont pré-validés et compilés en destinations de saut optimisées, réduisant ainsi la surcharge de branchement conditionnel dans l'EVM.
Architecture de piscine Singleton
1. Uniswap V4 consolide tous les pools en une seule instance de contrat plutôt que de déployer des contrats distincts par paire de jetons.
2. Cette conception supprime les coûts de déploiement par pool et élimine la duplication redondante de bytecode sur des milliers de sites de liquidité.
3. L'agencement du stockage est étroitement intégré à l'aide de clés de mappage efficaces par emplacement : les identifiants de pool sont codés dans des clés uint256 via un hachage d'adresse de jeton ordonné, permettant des recherches O(1) sans structures d'index auxiliaires.
4. Les routines d'initialisation gourmandes en gaz, telles que la validation des niveaux de frais ou l'allocation de bitmaps de ticks, se produisent une fois globalement, et non par pool, amortissant les frais généraux fixes sur toutes les activités de trading.
5. Le modèle singleton réduit la surcharge des appels inter-contrats en conservant la logique du pool interne dans le même contexte d'exécution, évitant ainsi les opcodes CALL et le coût de base de 700 gaz associé ainsi que les pénalités d'extension de mémoire.
Accumulation de frais sans écritures de stockage
1. Les frais de protocole et les récompenses des fournisseurs de liquidités sont comptabilisés dans des accumulateurs de mémoire volatile au lieu d'un stockage persistant pendant les swaps.
2. L'accumulation des frais se produit via une addition non contrôlée à l'intérieur de l'accumulateur, contournant les contrôles de débordement, sauf si la logique du hook l'exige explicitement.
3. Aucune écriture de stockage n'a lieu jusqu'à ce qu'un fournisseur de liquidité appelle collect(), ce qui fait de la collecte des frais une opération opt-in et à basse fréquence plutôt qu'une charge par swap.
4. Ce découplage signifie qu'un seul swap impliquant trois pools peut générer des frais pour cinq positions LP distinctes, toutes suivies hors chaîne en mémoire, sans aucun STSTORE.
5. L'accumulateur utilise des techniques de bit-packing pour stocker plusieurs composants de frais (par exemple, partage de protocole, partage LP, prélèvements spécifiques au hook) dans un seul uint256, préservant ainsi l'efficacité du stockage.
Foire aux questions
Q : Flash Accounting affecte-t-il la résistance initiale ? Flash Accounting ne modifie pas la visibilité du pool de mémoire ni l'ordre des transactions. Il préserve la même surface MEV que les versions précédentes puisque les deltas des accumulateurs restent visibles dans les données d'appel et les journaux d'événements uniquement lors du règlement final.
Q : Les développeurs peuvent-ils lire les valeurs des accumulateurs en cours de transaction ? Le contenu de l'accumulateur n'est pas exposé via des getters publics pendant l'exécution. Seuls les hooks disposant d'un accès autorisé peuvent les inspecter ou les manipuler dans leur portée définie.
Q : Flash Accounting est-il compatible avec les intégrations Uniswap V3 existantes ? Pas nativement. Les intégrations reposant sur des lectures de solde en temps réel ou des flux Oracle externes doivent être mises à jour pour interroger l'état post-règlement ou utiliser de nouveaux modèles de notification basés sur des événements introduits dans la V4.
Q : Comment Flash Accounting interagit-il avec les prêts Flash ? Il améliore l'efficacité des prêts flash en éliminant les validations de réserves redondantes entre les étapes d'emprunt et de remboursement. L'accumulateur garantit la cohérence sur l'ensemble des transactions sans nécessiter de synchronisations de stockage intermédiaires.
Clause de non-responsabilité:info@kdj.com
Les informations fournies ne constituent pas des conseils commerciaux. kdj.com n’assume aucune responsabilité pour les investissements effectués sur la base des informations fournies dans cet article. Les crypto-monnaies sont très volatiles et il est fortement recommandé d’investir avec prudence après une recherche approfondie!
Si vous pensez que le contenu utilisé sur ce site Web porte atteinte à vos droits d’auteur, veuillez nous contacter immédiatement (info@kdj.com) et nous le supprimerons dans les plus brefs délais.
-
ZRO Échangez maintenant$2.03
15.90%
-
PUMP Échangez maintenant$0.006366
15.12%
-
MON Échangez maintenant$0.03466
8.47%
-
MORPHO Échangez maintenant$2.77
7.62%
-
QNT Échangez maintenant$268.60
6.32%
-
AERO Échangez maintenant$0.8322
5.69%
- XRP Traders, Dark Defender et l'ascension du vol X589 : une plongée approfondie dans la trajectoire de XRP
- 2026-10-04 00:45:01
- Casinos cryptographiques axés sur la confidentialité : navigation dans les données, vérification et choix de plate-forme
- 2026-10-04 00:45:01
- L'ETF ZEC Spot fait face à d'importantes sorties de capitaux de 93,56 millions de dollars : un examen plus approfondi de la dynamique du marché
- 2026-10-03 16:30:09
- Bitcoin se prépare à la décision de la Fed : le marché de la cryptographie navigue dans les hausses de taux d'intérêt et les données sur l'inflation
- 2026-10-03 16:30:09
- SlowMist découvre les failles de FlashLoopAdapter qui drainent les portefeuilles sécurisés : un signal d’alarme pour les intégrations DeFi
- 2026-10-03 08:50:01
- Ethereum Layer-2 fait face à la date limite de déplacement des actifs alors que Blast annonce son arrêt
- 2026-10-03 08:55:02
Connaissances connexes
Comment transférer l'USDT du Bitget Spot vers les contrats à terme pour se préparer au trading ?
Oct 03,2026 at 01:00am
Comprendre la structure du compte Bitget 1. Bitget sépare les actifs des utilisateurs en portefeuilles distincts : Spot Wallet, Futures Wallet et Fund...
Comment utiliser Bitget Spot Grid Trading pour acheter et vendre dans une fourchette de prix définie ?
Oct 02,2026 at 03:19am
Comprendre les mécanismes de trading de la grille spot 1. Le trading au comptant sur grille fonctionne en plaçant une série d'ordres d'achat e...
Comment vérifier si un ordre à terme MEXC a été exécuté au prix de déclenchement ?
Oct 02,2026 at 01:20pm
Comprendre l'exécution du prix de déclenchement dans les contrats à terme MEXC 1. MEXC Futures prend en charge les ordres conditionnels, notamment...
Comment transférer des USDT du MEXC vers Binance sans payer de frais de réseau inutiles ?
Oct 03,2026 at 05:40pm
Comprendre la compatibilité du réseau USDT 1. L'USDT existe sur plusieurs blockchains, notamment Ethereum (ERC-20), Tron (TRC-20), BNB Smart Chain...
Comment passer un ordre de clôture à terme MEXC à un prix de sortie spécifique ?
Oct 02,2026 at 05:40am
Comprendre les ordres à limite fermée sur les contrats à terme MEXC 1. Un ordre à limite fermée est un type d'ordre conditionnel utilisé exclusive...
Comment utiliser les ordres limités MEXC pour éviter d’acheter un Altcoin lors d’une flambée des prix ?
Oct 02,2026 at 11:00am
Comprendre les ordres limités sur MEXC 1. Un ordre limité demande à la bourse d'exécuter une transaction uniquement à un prix spécifié ou mieux, g...
Comment transférer l'USDT du Bitget Spot vers les contrats à terme pour se préparer au trading ?
Oct 03,2026 at 01:00am
Comprendre la structure du compte Bitget 1. Bitget sépare les actifs des utilisateurs en portefeuilles distincts : Spot Wallet, Futures Wallet et Fund...
Comment utiliser Bitget Spot Grid Trading pour acheter et vendre dans une fourchette de prix définie ?
Oct 02,2026 at 03:19am
Comprendre les mécanismes de trading de la grille spot 1. Le trading au comptant sur grille fonctionne en plaçant une série d'ordres d'achat e...
Comment vérifier si un ordre à terme MEXC a été exécuté au prix de déclenchement ?
Oct 02,2026 at 01:20pm
Comprendre l'exécution du prix de déclenchement dans les contrats à terme MEXC 1. MEXC Futures prend en charge les ordres conditionnels, notamment...
Comment transférer des USDT du MEXC vers Binance sans payer de frais de réseau inutiles ?
Oct 03,2026 at 05:40pm
Comprendre la compatibilité du réseau USDT 1. L'USDT existe sur plusieurs blockchains, notamment Ethereum (ERC-20), Tron (TRC-20), BNB Smart Chain...
Comment passer un ordre de clôture à terme MEXC à un prix de sortie spécifique ?
Oct 02,2026 at 05:40am
Comprendre les ordres à limite fermée sur les contrats à terme MEXC 1. Un ordre à limite fermée est un type d'ordre conditionnel utilisé exclusive...
Comment utiliser les ordres limités MEXC pour éviter d’acheter un Altcoin lors d’une flambée des prix ?
Oct 02,2026 at 11:00am
Comprendre les ordres limités sur MEXC 1. Un ordre limité demande à la bourse d'exécuter une transaction uniquement à un prix spécifié ou mieux, g...
Voir tous les articles














