BlockPulseNews
Définition

Proxy upgradable : définition

Un proxy upgradable est une architecture de smart contract où un contrat proxy conserve l'adresse et les données, tandis que la logique est déléguée à un contrat d'implémentation remplaçable, ce qui permet de mettre à jour un code normalement immuable.

Thème : Ethereum et smart contracts

Proxy upgradable : comment ça marche ?

Un smart contract déployé sur Ethereum ne peut pas être modifié. Pour corriger des bugs ou ajouter des fonctionnalités, les développeurs utilisent un contrat intermédiaire, le proxy. C'est lui que les utilisateurs appellent et c'est lui qui stocke les soldes et paramètres. À chaque appel, il transmet l'exécution au contrat d'implémentation grâce à l'instruction delegatecall, qui exécute le code de l'implémentation dans le contexte de stockage du proxy.

Pour mettre à jour, un administrateur change simplement l'adresse de l'implémentation enregistrée dans le proxy. L'adresse publique et les données restent les mêmes, mais le comportement change. Plusieurs schémas standardisés existent, comme le proxy transparent, le modèle UUPS ou le beacon proxy, qui diffèrent par l'endroit où se trouve la logique de mise à jour. Cette souplesse a un coût en confiance : celui qui contrôle la mise à jour peut modifier les règles du contrat, y compris celles qui protègent les fonds des utilisateurs.

Un exemple concret

Imaginons qu'un protocole de prêt découvre une erreur de calcul des intérêts. Son contrat est un proxy : l'équipe déploie une nouvelle implémentation corrigée, puis la gouvernance vote le changement, appliqué après un délai. Les utilisateurs continuent d'interagir avec la même adresse et conservent leurs positions, mais le calcul suit désormais la nouvelle logique.

Les risques à connaître

Une clé d'administration compromise peut remplacer la logique par un code malveillant et vider les fonds. Une mise à jour mal conçue peut corrompre le stockage si l'ordre des variables change, ou laisser l'implémentation sans initialisation. Un délai de mise à jour et un contrôle multisig ou par DAO réduisent ces risques.

À ne pas confondre avec

  • Upgradeability risks : Les risques de mise à jour décrivent les dangers de la modifiabilité en général, le proxy upgradable est la technique qui la rend possible.
  • EIP-1167 : Le minimal proxy sert à cloner un contrat à moindre coût et pointe vers une implémentation fixe, sans possibilité de mise à jour.
  • EIP-2535 : Le modèle Diamond est une variante qui répartit la logique entre plusieurs contrats, au lieu d'une implémentation unique.

Questions fréquentes sur Proxy upgradable

Comment savoir si un smart contract est upgradable ?

Les explorateurs de blocs signalent souvent qu'un contrat est un proxy et indiquent son implémentation. La documentation et les audits du projet précisent aussi qui détient le droit de mise à jour.

Un contrat upgradable est-il moins sûr ?

Il permet de corriger des failles, mais ajoute un risque lié à ceux qui contrôlent la mise à jour. Tout dépend des garde-fous : multisig, timelock, gouvernance.

Dans le même thème : Ethereum et smart contracts

Tous les termes du thème Ethereum et smart contracts →

À lire

L'actualité : Ethereum et smart contracts

Les derniers articles de BlockPulseNews sur ce sujet.

Approfondir avec l'Académie : Ethereum en Profondeur Un module gratuit, en leçons courtes et quiz, pour maîtriser ce thème pas à pas.
Découvrir le module

Les autres termes en P

← Tout le lexique crypto de A à Z