Capitalisation boursière: $2.5665T -2.09%
Volume(24h): $64.1207B 43.32%
Indice de peur et de cupidité:

33 - Peur

  • Capitalisation boursière: $2.5665T -2.09%
  • Volume(24h): $64.1207B 43.32%
  • Indice de peur et de cupidité:
  • Capitalisation boursière: $2.5665T -2.09%
Cryptos
Les sujets
Cryptospedia
Nouvelles
Cryptosopique
Vidéos
Top Cryptospedia

Choisir la langue

Choisir la langue

Sélectionnez la devise

Cryptos
Les sujets
Cryptospedia
Nouvelles
Cryptosopique
Vidéos

Qu'est-ce que l'opcode CREATE2 et comment permet-il des adresses de contrat déterministes ?

CREATE2 enables predictable contract addresses in Ethereum, allowing off-chain systems to reference contracts before deployment.

Nov 13, 2025 at 11:40 pm

Comprendre l'opcode CREATE2 dans Ethereum

1. L'opcode CREATE2 a été introduit dans Ethereum via EIP-1014 lors de la mise à niveau de Constantinople. Il sert d'alternative à l'opcode CREATE traditionnel, qui déploie des contrats intelligents en utilisant le nom occasionnel d'un expéditeur pour déterminer l'adresse du contrat résultant. Contrairement à CREATE, CREATE2 permet aux développeurs de calculer l'adresse d'un contrat avant le déploiement en prenant en compte des entrées spécifiques autres que le nom occasionnel.

2. Cette fonctionnalité est cruciale dans les scénarios où la prévisibilité des adresses de contrat est nécessaire. Par exemple, les systèmes hors chaîne ou les solutions de couche 2 peuvent devoir faire référence à un contrat qui n'a pas encore été déployé. En permettant le pré-calcul des adresses, CREATE2 prend en charge les interactions sans confiance et améliore la coordination entre les composants décentralisés.

3. La structure de l'adresse générée par CREATE2 repose sur un hachage cryptographique impliquant quatre éléments : l'adresse du déployeur, un sel défini par l'utilisateur (une valeur de 32 octets), le bytecode du contrat (également appelé init_code) et le hachage keccak256 de ce bytecode. Étant donné qu'aucune de ces entrées ne dépend du nombre de transactions de l'expéditeur, la même combinaison donnera toujours la même adresse.

4. Un avantage significatif de ce mécanisme est la possibilité de déployer des contrats sous conditions. Un contrat ne peut être déployé que si certaines conditions sont remplies, mais sa future adresse reste connue à l'avance. Cela permet des cas d'utilisation tels que l'instanciation contrefactuelle, où les applications supposent l'existence d'un contrat à un emplacement connu avant même qu'il ne soit en ligne.

Génération d'adresses déterministes expliquée

1. Les adresses contractuelles déterministes signifient qu’avec le même ensemble d’entrées, l’adresse de sortie sera toujours identique. Avec CREATE2, la formule utilisée est keccak256(0xff + adresse + salt + keccak256(init_code))[12:] . Le préfixe 0xff garantit la séparation des espaces de noms des adresses créées via CREATE, réduisant ainsi les risques de collision.

2. Le paramètre sel joue un rôle essentiel. Il est choisi par le développeur et peut coder des données significatives telles que des identifiants d'utilisateur, des horodatages ou des clés spécifiques à une application. Tant que le sel et les autres composants restent inchangés, le redéploiement du même bytecode à partir de la même adresse de créateur aboutit exactement à la même destination.

3. Étant donné que l'adresse dépend du hachage du code d'initialisation plutôt que du code d'exécution, toute modification des arguments du constructeur ou du bytecode compilé modifie l'adresse finale. Cela rend les déploiements très sensibles aux détails de compilation, nécessitant un contrôle de version minutieux et des builds reproductibles.

4. Les développeurs exploitent souvent l'adressage déterministe pour les usines de portefeuilles, où chaque utilisateur obtient un portefeuille de contrat intelligent dérivé de manière unique. Ces portefeuilles peuvent être anticipés hors chaîne, permettant aux transactions d'être acheminées correctement avant même le déploiement.

Applications dans la finance décentralisée et les systèmes de couche 2

1. Dans les bourses décentralisées et les teneurs de marché automatisés, CREATE2 facilite la création de pools avec des adresses prévisibles. Cela simplifie l'intégration des frontends et des robots, qui peuvent interroger les données du pool sans attendre les journaux d'événements ni s'appuyer sur des registres.

2. Les solutions de mise à l'échelle de couche 2 telles que les canaux d'état et les cumuls utilisent CREATE2 pour le déploiement de contrats contrefactuels. Les participants à un canal peuvent interagir avec une instance de contrat virtuel, sachant précisément où elle résiderait si jamais elle se matérialisait sur la chaîne. Cela réduit l’empreinte en chaîne tout en préservant les garanties de sécurité.

3. Les portefeuilles de contrats intelligents tels que ceux conformes à ERC-4337 (abstraction de compte) s'appuient sur des adresses déterministes pour permettre une expérience utilisateur transparente. Les utilisateurs peuvent recevoir des fonds à leur future adresse de portefeuille avant qu'elle n'existe, car les transactions de financement ciblent l'emplacement précalculé.

4. Un autre cas d'utilisation implique des modèles de proxy évolutifs où le contrat de mise en œuvre est déployé de manière déterministe. Bien que les proxys utilisent généralement CREATE, leur combinaison avec des usines basées sur CREATE2 améliore la modularité et l'auditabilité dans les déploiements.

Foire aux questions

Q : CREATE2 peut-il être utilisé pour déployer le même contrat plusieurs fois à la même adresse ?

R : Non. Si un contrat existe déjà à une adresse CREATE2 calculée, toute tentative d'y déployer un autre contrat échouera. L'EVM empêche l'écrasement du code existant, garantissant ainsi l'immuabilité une fois qu'une adresse est occupée.

Q : Comment la valeur salt affecte-t-elle la sécurité dans les déploiements CREATE2 ?

R : Le sel doit être choisi avec soin. Les sels prévisibles peuvent permettre aux attaquants de pré-déployer des contrats malveillants aux adresses attendues. L’utilisation de données aléatoires sécurisées ou d’identifiants uniques atténue ce risque, en particulier dans les environnements sans autorisation.

Q : CREATE2 est-il plus cher que CREATE en termes de gaz ?

R : Oui. CREATE2 consomme généralement plus de gaz en raison des opérations de hachage supplémentaires requises pour calculer l'adresse déterministe. Le coût exact dépend de la taille du init_code et des conditions du réseau au moment du déploiement.

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.

Connaissances connexes

Comment calculer le coût total de détention d'une position à terme BTCUSDT

Comment calculer le coût total de détention d'une position à terme BTCUSDT

Oct 26,2026 at 04:06am

Composantes du coût total des positions à terme BTCUSDT 1. Le coût total de détention d’une position à terme BTCUSDT comprend à la fois les frais expl...

Comment surveiller ensemble les taux de financement XRPUSDT et les intérêts ouverts

Comment surveiller ensemble les taux de financement XRPUSDT et les intérêts ouverts

Oct 20,2026 at 06:39pm

Mécanique du taux de financement sur les contrats perpétuels XRPUSDT 1. Les taux de financement sur les swaps perpétuels XRPUSDT sont calculés toutes ...

Comment définir un stop-loss au seuil de rentabilité sur les contrats à terme perpétuels SOLUSDT

Comment définir un stop-loss au seuil de rentabilité sur les contrats à terme perpétuels SOLUSDT

Oct 23,2026 at 09:34am

Comprendre les mécanismes de stop-loss au seuil de rentabilité 1. Un stop-loss au seuil de rentabilité est un ordre dynamique qui s'ajuste à la ha...

Comment utiliser le calculateur Binance Futures pour les transactions ETHUSDT

Comment utiliser le calculateur Binance Futures pour les transactions ETHUSDT

Oct 21,2026 at 02:00am

Comprendre l'interface du calculateur Binance Futures 1. La calculatrice est intégrée directement dans l'interface de trading Binance Futures,...

Comment vérifier le prix BTCUSDT avant une liquidation à terme

Comment vérifier le prix BTCUSDT avant une liquidation à terme

Oct 26,2026 at 12:20pm

Comprendre le prix Mark dans les contrats à terme BTCUSDT 1. Le prix mark est une valeur calculée utilisée par les bourses pour éviter les liquidation...

Comment ajuster l'effet de levier sur un contrat perpétuel TRUMPUSDT

Comment ajuster l'effet de levier sur un contrat perpétuel TRUMPUSDT

Oct 30,2026 at 10:19pm

Comprendre la mécanique des contrats perpétuels TRUMPUSDT 1. TRUMPUSDT est un contrat à terme perpétuel thématique coté sur plusieurs bourses de produ...

Comment calculer le coût total de détention d'une position à terme BTCUSDT

Comment calculer le coût total de détention d'une position à terme BTCUSDT

Oct 26,2026 at 04:06am

Composantes du coût total des positions à terme BTCUSDT 1. Le coût total de détention d’une position à terme BTCUSDT comprend à la fois les frais expl...

Comment surveiller ensemble les taux de financement XRPUSDT et les intérêts ouverts

Comment surveiller ensemble les taux de financement XRPUSDT et les intérêts ouverts

Oct 20,2026 at 06:39pm

Mécanique du taux de financement sur les contrats perpétuels XRPUSDT 1. Les taux de financement sur les swaps perpétuels XRPUSDT sont calculés toutes ...

Comment définir un stop-loss au seuil de rentabilité sur les contrats à terme perpétuels SOLUSDT

Comment définir un stop-loss au seuil de rentabilité sur les contrats à terme perpétuels SOLUSDT

Oct 23,2026 at 09:34am

Comprendre les mécanismes de stop-loss au seuil de rentabilité 1. Un stop-loss au seuil de rentabilité est un ordre dynamique qui s'ajuste à la ha...

Comment utiliser le calculateur Binance Futures pour les transactions ETHUSDT

Comment utiliser le calculateur Binance Futures pour les transactions ETHUSDT

Oct 21,2026 at 02:00am

Comprendre l'interface du calculateur Binance Futures 1. La calculatrice est intégrée directement dans l'interface de trading Binance Futures,...

Comment vérifier le prix BTCUSDT avant une liquidation à terme

Comment vérifier le prix BTCUSDT avant une liquidation à terme

Oct 26,2026 at 12:20pm

Comprendre le prix Mark dans les contrats à terme BTCUSDT 1. Le prix mark est une valeur calculée utilisée par les bourses pour éviter les liquidation...

Comment ajuster l'effet de levier sur un contrat perpétuel TRUMPUSDT

Comment ajuster l'effet de levier sur un contrat perpétuel TRUMPUSDT

Oct 30,2026 at 10:19pm

Comprendre la mécanique des contrats perpétuels TRUMPUSDT 1. TRUMPUSDT est un contrat à terme perpétuel thématique coté sur plusieurs bourses de produ...

Voir tous les articles

User not found or password invalid

Your input is correct