Parlons de la machine virtuelle Ethereum (EVM).
L’exécution de l’EVM doit être déterministe : les mêmes entrées doivent produire le même résultat sur tous les nœuds, sans quoi ceux-ci ne peuvent pas parvenir à un consensus.
Il convient de pousser la réflexion un peu plus loin : la « compatibilité EVM » permet aux équipes de déployer un même contrat sur plusieurs chaînes, mais cela signifie aussi que des contrats similaires peuvent présenter les mêmes vulnérabilités sur plusieurs chaînes à la fois.
Avant d’interagir avec un contrat, vérifiez sur un explorateur de blocs si son code source a été vérifié. Redoublez de prudence avec les contrats dont le code source n’est pas public.
Sur Ethereum, chaque étape exécutée par l’EVM lors d’un appel de contrat consomme du Gas, payé en $ETH .