Contrat proxy (Proxy contract)
En bref Un contrat proxy redirige les appels vers un contrat de logique séparé, ce qui permet de changer le code d'un token plus tard sans changer son adresse.
Un contrat proxy est un smart contract qui porte l'adresse et les données stockées avec lesquelles les utilisateurs interagissent, mais qui transmet chaque appel à un contrat séparé contenant la vraie logique. Les gens continuent d'utiliser la même adresse tandis que le code derrière peut être remplacé par une nouvelle version. Les équipes utilisent ce modèle sur Ethereum, BNB Chain et Base pour corriger des bugs dans du code qui serait sinon impossible à modifier.
Techniquement, le proxy utilise un delegate call. Il exécute le code du contrat de logique sur son propre stockage : les soldes et paramètres restent dans le proxy, tandis que les règles viennent de l'implémentation. Une adresse admin, qui peut être un simple wallet, un multisig ou un timelock, a le droit de faire pointer le proxy vers une nouvelle implémentation. Des standards comme les proxies transparents et UUPS diffèrent par l'endroit où se trouve le droit de mise à jour, mais le principe est le même.
C'est important, car le code que vous avez lu ou vu audité n'est peut-être pas celui qui tournera demain. Une mise à jour peut ajouter une fonction de mint, une blacklist ou une taxe de vente cachée après votre achat. Un ownership renoncé sur le token peut aussi être trompeur, car les droits de mise à jour sont généralement détenus par un proxy admin séparé. Beaucoup de projets légitimes utilisent des proxies, donc le modèle en soi n'est pas un signal d'alerte. Ce qui compte, c'est qui contrôle la mise à jour et de combien de préavis vous disposez.
Sur un explorateur de blocs, vérifiez si le contrat est étiqueté comme proxy et trouvez l'adresse de l'implémentation et l'admin. Demandez-vous si l'admin est un simple wallet ou un multisig, si un timelock impose un délai avant que les mises à jour prennent effet, et si l'audit couvre l'implémentation actuelle plutôt qu'une ancienne. Regardez l'historique de l'implémentation pour repérer des changements récents. Sur Solana, l'équivalent est un programme upgradeable avec une upgrade authority, et une authority révoquée signifie que le code est figé.




