Optimism est un rollup optimiste sur Ethereum construit avec l'OP Stack, un cadre open source également utilisé par d'autres réseaux. Il exécute les transactions hors d'Ethereum, y publie leurs données et s'appuie sur des preuves de fraude pour contester un état invalide. Pour un projet, cela signifie un développement proche d'Ethereum à moindre coût, avec des hypothèses de rollup à faire examiner explicitement.
Développer sur Optimism
Optimism vise l'équivalence EVM : les contrats Solidity ou Vyper se comportent comme sur Ethereum et les outils standard fonctionnent sans compilateur particulier. Un séquenceur ordonne les transactions. La communication avec Ethereum passe par des contrats de messagerie et de pont, et les retraits vers Ethereum ne sont finalisés qu'après une période de contestation. Les autres chaînes OP Stack partageant la même conception, le code et l'expérience d'audit se transposent souvent de l'une à l'autre.
- Langages : Solidity, Vyper
- Frameworks : Foundry, Hardhat
- Le coût d'une transaction combine le gas d'exécution en L2 et des frais de publication des données sur Ethereum
Ce que regardent les auditeurs
- Les messages entre couches : vérification de l'adresse du contrat de messagerie et de l'expéditeur d'origine, gestion des messages échoués ou rejoués
- Les flux de retrait et le délai avant disponibilité des fonds sur Ethereum
- La dépendance au séquenceur : comportement en cas d'arrêt ou d'inclusion retardée, protection des flux de prix
- Les actifs pontés et la différence entre tokens canoniques et versions émises par des ponts tiers
- Les risques EVM habituels, de la réentrance au contrôle d'accès et à la configuration des proxys évolutifs
Avant de demander des devis
- Indiquez les cibles de déploiement : Optimism seul, d'autres chaînes OP Stack ou Ethereum
- Cartographiez chaque flux entre chaînes, son expéditeur, son destinataire et les droits accordés
- Listez les contrats système que votre code appelle directement
- Fournissez des tests qui simulent les messages entre couches, pas seulement des appels locaux