-
bitcoin $87959.907984 USD
1.34% -
ethereum $2920.497338 USD
3.04% -
tether $0.999775 USD
0.00% -
xrp $2.237324 USD
8.12% -
bnb $860.243768 USD
0.90% -
solana $138.089498 USD
5.43% -
usd-coin $0.999807 USD
0.01% -
tron $0.272801 USD
-1.53% -
dogecoin $0.150904 USD
2.96% -
cardano $0.421635 USD
1.97% -
hyperliquid $32.152445 USD
2.23% -
bitcoin-cash $533.301069 USD
-1.94% -
chainlink $12.953417 USD
2.68% -
unus-sed-leo $9.535951 USD
0.73% -
zcash $521.483386 USD
-2.87%
Quelles sont les options pour les mises à niveau des contrats intelligents dans une blockchain?
Smart contracts can be upgraded using proxy contracts, eternal storage, diamond standard, admin control, or time-locked methods to fix bugs and add features.
Apr 14, 2025 at 12:01 pm
Les contrats intelligents sont des contrats auto-exécutés avec les termes de l'accord directement écrit en code. Ils fonctionnent sur des plates-formes blockchain et sont immuables une fois déployés. Cependant, il existe des scénarios où la mise à niveau des contrats intelligents devient nécessaire, comme la correction des bogues, l'ajout de nouvelles fonctionnalités ou l'adaptation aux modifications de l'environnement réglementaire. Cet article explorera les différentes options de mises à niveau de contrat intelligentes dans une blockchain.
Contrats intelligents immuables
Les contrats intelligents immuables sont l'état par défaut de la plupart des contrats intelligents sur des blockchains comme Ethereum. Une fois déployés, ces contrats ne peuvent pas être modifiés. Cette immuabilité est une caractéristique centrale de la technologie blockchain, garantissant qu'une fois un contrat déployé, sa logique ne peut pas être modifiée, fournissant ainsi un niveau élevé de sécurité et de confiance.
Cependant, cette fonctionnalité peut également être une limitation. Si un bogue est découvert ou si de nouvelles fonctionnalités sont requises, un contrat entièrement nouveau doit être déployé. Cela peut être lourd et peut entraîner une confusion parmi les utilisateurs sur le contrat avec lequel interagir. Pour atténuer ces problèmes, plusieurs mécanismes de mise à niveau ont été développés.
Contrats de procuration
Les contrats proxy sont l'une des méthodes les plus populaires pour la mise à niveau des contrats intelligents. Cette approche consiste à déployer un contrat de proxy qui transmet les appels à un contrat de mise en œuvre. Le contrat de proxy reste immuable, tandis que le contrat de mise en œuvre peut être échangé pour une nouvelle version.
Voici comment mettre en place un contrat de proxy:
- Déployez le contrat de mise en œuvre : Déployez d'abord la version initiale de votre contrat intelligent. Ce contrat contiendra la logique réelle de votre application.
- Déployez le contrat de procuration : Ensuite, déployez un contrat de proxy qui pointe vers l'adresse du contrat de mise en œuvre. Le contrat de procuration agira comme intermédiaire, transmettant tous les appels au contrat de mise en œuvre.
- Mise à niveau de la mise en œuvre : lorsqu'une mise à niveau est nécessaire, déployez une nouvelle version du contrat de mise en œuvre. Mettez à jour le contrat de proxy pour pointer vers l'adresse de la nouvelle implémentation.
Cette méthode permet des mises à niveau transparentes sans modifier l'adresse du contrat avec laquelle les utilisateurs interagissent, en maintenant ainsi la continuité et la confiance des utilisateurs.
Modèle de stockage éternel
Le modèle de stockage éternel est une autre approche des mises à niveau des contrats intelligents. Cette méthode sépare le stockage de données de la logique du contrat. Le contrat de stockage reste inchangé, tandis que le contrat logique peut être mis à niveau.
Pour implémenter le modèle de stockage éternel:
- Déployez le contrat de stockage : déploie un contrat qui détiendra toutes les variables d'état. Ce contrat doit avoir des fonctions pour définir et obtenir des valeurs.
- Déployez le contrat logique : déployez la version initiale du contrat logique, qui interagit avec le contrat de stockage pour lire et écrire des données.
- Mettre à niveau le contrat logique : lorsqu'une mise à niveau est nécessaire, déployez une nouvelle version du contrat logique. Le nouveau contrat logique continuera d'interagir avec le même contrat de stockage.
Ce modèle garantit que les données restent intactes et accessibles sur différentes versions du contrat logique, ce qui rend les mises à niveau plus gérables et moins risqués.
Standard de diamant
Le Diamond Standard , également connu sous le nom d'EIP-2535, est une approche plus récente et sophistiquée des mises à niveau des contrats intelligents. Il permet à plusieurs facettes d'un contrat d'être améliorées indépendamment, permettant des systèmes de contrat intelligents plus modulaires et flexibles.
Pour utiliser la norme de diamant:
- Déployez le contrat de diamant : déploiez un contrat de diamant qui sert de point d'entrée principal. Il contient une liste de facettes, qui sont des contrats individuels qui mettent en œuvre des fonctionnalités spécifiques.
- Déployez les facettes : déploiez l'ensemble initial de facettes, chacune représentant une partie de la fonctionnalité globale.
- Facteurs de mise à niveau : lorsqu'une mise à niveau est nécessaire, déployez de nouvelles versions des facettes. Mettez à jour le contrat de diamant pour pointer vers les nouvelles adresses FACET.
Cette norme permet un contrôle à grains fins sur les mises à niveau, ce qui permet de mettre à jour des parties spécifiques d'un contrat sans affecter les autres.
Mises à niveau contrôlées par l'administrateur
Les mises à niveau contrôlées par l'administrateur impliquent le déploiement d'un contrat avec un rôle d'administrateur qui a le pouvoir de mettre à niveau le contrat. Cette méthode est simple mais comporte le risque de centralisation, car l'administrateur a un pouvoir important sur le fonctionnement du contrat.
Pour implémenter des mises à niveau contrôlées par l'administrateur:
- Déployez le contrat de mise à niveau : déployez la version initiale du contrat avec un rôle d'administration défini.
- Définissez la fonction de mise à niveau : incluez une fonction dans le contrat qui permet à l'administrateur de mettre à jour la logique du contrat.
- Exécuter la mise à niveau : lorsqu'une mise à niveau est nécessaire, l'administrateur appelle la fonction de mise à niveau avec l'adresse du nouveau contrat.
Cette méthode est simple mais exige que la confiance dans l'administrateur agisse dans le meilleur intérêt des utilisateurs du contrat.
Mises à niveau verrouillées dans le temps
Les mises à niveau verrouillées dans le temps ajoutent une couche supplémentaire de sécurité aux mises à niveau contrôlées par l'administrateur en introduisant un retard entre la proposition de mise à niveau et son exécution. Ce retard permet aux utilisateurs d'examiner les modifications proposées et de retirer leurs fonds s'ils sont en désaccord avec la mise à niveau.
Pour mettre en œuvre des mises à niveau verrouillées dans le temps:
- Déployez le contrat de mise à niveau : déployez la version initiale du contrat avec un rôle d'administration et un mécanisme de verrouillage dans le temps.
- Proposer la mise à niveau : l'administrateur propose une mise à niveau en spécifiant l'adresse du nouveau contrat et l'heure à laquelle la mise à niveau sera exécutée.
- Période d'examen : Pendant la période d'examen, les utilisateurs peuvent inspecter les modifications proposées et décider de continuer à interagir avec le contrat.
- Exécuter la mise à niveau : une fois l'heure spécifiée passée, la mise à niveau est automatiquement exécutée si aucun problème n'a été trouvé.
Cette méthode équilibre le besoin de mises à niveau avec la sécurité et la confiance des utilisateurs.
Questions fréquemment posées
Q: Les mises à niveau des contrats intelligents peuvent-ils être entièrement décentralisés?
R: Alors que certaines méthodes comme la norme de diamant et les contrats de proxy permettent un contrôle plus décentralisé sur les mises à niveau, les mises à niveau entièrement décentralisées restent difficiles. Les mises à niveau contrôlées par l'administrateur et verrouillées dans le temps impliquent généralement un certain niveau de centralisation, car un mécanisme administrateur ou de gouvernance est nécessaire pour proposer et exécuter des mises à niveau.
Q: Quels sont les risques associés aux mises à niveau des contrats intelligents?
R: Les principaux risques comprennent les vulnérabilités de sécurité potentielles introduites par le nouveau code, la possibilité de perdre des données si elles ne sont pas correctement gérées et le risque de centralisation si un administrateur a trop de contrôle sur les mises à niveau. Des tests appropriés, des audits et une communication transparente peuvent aider à atténuer ces risques.
Q: Comment les utilisateurs peuvent-ils être informés des mises à niveau des contrats intelligents?
R: Les utilisateurs peuvent être informés via divers canaux tels que les annonces officielles de projet, les mises à jour des médias sociaux et les systèmes de notification intégrés au sein de l'application. La transparence et la communication claire sont cruciales pour maintenir la confiance des utilisateurs lors des mises à niveau.
Q: Y a-t-il des outils ou des cadres qui prennent en charge les mises à niveau des contrats intelligents?
R: Oui, plusieurs outils et frameworks prennent en charge les mises à niveau des contrats intelligents. Par exemple, les contrats mises à niveau d'OpenZeppelin fournissent un cadre robuste pour la mise en œuvre de mises à niveau basées sur les proxes. De plus, des outils comme la truffe et le hardhat offrent des plugins et des scripts pour faciliter le processus de mise à niveau.
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.
-
RAIN Échangez maintenant$0.007852
113.00%
-
PIPPIN Échangez maintenant$0.06097
51.96%
-
PARTI Échangez maintenant$0.1396
42.04%
-
WAVES Échangez maintenant$0.9141
41.69%
-
ARC Échangez maintenant$0.04302
35.73%
-
HONEY Échangez maintenant$0.01029
21.80%
- Bitcoin, eCash Fork et Airdrop Dynamics : une plongée approfondie dans les dernières controverses de la cryptographie
- 2026-05-03 12:55:01
- Consensus 2026 Miami : Web3, Blockchain, Crypto-monnaie, NFT, Metaverse, conférence, 5 mai — Là où Wall Street rencontre la frontière numérique
- 2026-05-02 12:45:01
- La Fed maintient ses taux stables, déclenchant une baisse du prix du Bitcoin dans un contexte de tensions géopolitiques
- 2026-05-01 06:45:01
- Les mineurs de Bitcoin électrifient le réseau : l'acquisition d'une usine à gaz dans l'Ohio ouvre une nouvelle ère pour l'or numérique
- 2026-05-01 00:45:01
- Le jeton MEGA de MegaETH arrive dans la Big Apple : définition de nouveaux critères de performance pour la blockchain en temps réel
- 2026-05-01 00:55:01
- La pente glissante de Solana : les prévisions de prix indiquent une perte de résistance et de nouvelles baisses potentielles
- 2026-05-01 06:45:01
Connaissances connexes
Qu’est-ce que la blockchain modulaire et pourquoi est-ce la prochaine grande tendance ?
Jun 20,2026 at 02:19am
Modèles de volatilité du marché 1. Les fluctuations de prix Bitcoin dépassent souvent 5 % au cours d'une seule séance de négociation pendant les p...
Qu'est-ce que l'abstraction de compte et pourquoi est-elle importante pour Web3 ?
Jun 17,2026 at 02:39pm
Bitcoin Réduire de moitié les mécanismes 1. Le protocole de Bitcoin applique un calendrier d'émission fixe dans lequel les récompenses de bloc son...
Qu'est-ce que la preuve zéro connaissance et comment protège-t-elle la confidentialité ?
Jun 17,2026 at 12:59pm
Modèles de volatilité du marché 1. Les fluctuations de prix Bitcoin dépassent souvent 5 % au cours d'une seule séance de négociation pendant les p...
Qu'est-ce que zk-Rollup et pourquoi tout le monde en parle ?
Jun 25,2026 at 06:39am
Modèles de volatilité du marché 1. Les mouvements de prix de Bitcoin présentent souvent de fortes fluctuations intrajournalières dépassant 5 % lors d&...
Qu'est-ce que Chainlink et comment fonctionnent les oracles Blockchain ?
Jun 19,2026 at 01:00pm
Modèles de volatilité du marché 1. Des fluctuations de prix supérieures à 15 % sur une fenêtre de 24 heures se produisent régulièrement sur les princi...
Qu'est-ce qu'un Oracle dans la Blockchain et pourquoi est-il nécessaire ?
Jun 21,2026 at 07:39pm
Définition et fonctionnalités de base 1. Un oracle dans la blockchain est un service tiers de confiance qui fournit des données externes aux contrats ...
Qu’est-ce que la blockchain modulaire et pourquoi est-ce la prochaine grande tendance ?
Jun 20,2026 at 02:19am
Modèles de volatilité du marché 1. Les fluctuations de prix Bitcoin dépassent souvent 5 % au cours d'une seule séance de négociation pendant les p...
Qu'est-ce que l'abstraction de compte et pourquoi est-elle importante pour Web3 ?
Jun 17,2026 at 02:39pm
Bitcoin Réduire de moitié les mécanismes 1. Le protocole de Bitcoin applique un calendrier d'émission fixe dans lequel les récompenses de bloc son...
Qu'est-ce que la preuve zéro connaissance et comment protège-t-elle la confidentialité ?
Jun 17,2026 at 12:59pm
Modèles de volatilité du marché 1. Les fluctuations de prix Bitcoin dépassent souvent 5 % au cours d'une seule séance de négociation pendant les p...
Qu'est-ce que zk-Rollup et pourquoi tout le monde en parle ?
Jun 25,2026 at 06:39am
Modèles de volatilité du marché 1. Les mouvements de prix de Bitcoin présentent souvent de fortes fluctuations intrajournalières dépassant 5 % lors d&...
Qu'est-ce que Chainlink et comment fonctionnent les oracles Blockchain ?
Jun 19,2026 at 01:00pm
Modèles de volatilité du marché 1. Des fluctuations de prix supérieures à 15 % sur une fenêtre de 24 heures se produisent régulièrement sur les princi...
Qu'est-ce qu'un Oracle dans la Blockchain et pourquoi est-il nécessaire ?
Jun 21,2026 at 07:39pm
Définition et fonctionnalités de base 1. Un oracle dans la blockchain est un service tiers de confiance qui fournit des données externes aux contrats ...
Voir tous les articles














