La vérification formelle des contrats intelligents permet d’éviter qu’ils contiennent des erreurs, des vulnérabilités ou d’autres situations défavorables. Dans ce processus, des experts humains convertissent la logique du contrat intelligent en énoncés mathématiques, puis utilisent des processus automatisés pour effectuer une vérification de modèle par rapport au comportement attendu du contrat. En combinant la vérification formelle et l’audit manuel, nous pouvons réaliser une évaluation complète de la sécurité des contrats intelligents. Les contrats intelligents sont des programmes informatiques déployés sur la blockchain, qui s’exécutent automatiquement lorsque certaines conditions sont remplies. Ils peuvent être très simples ou extrêmement complexes, et détenir des actifs d’une valeur de plusieurs millions, voire de plusieurs milliards de dollars. Si le code d’un contrat intelligent comporte une vulnérabilité de sécurité, cela peut entraîner des conséquences dévastatrices, comme le vol de tous les actifs qu’il détient par des malfaiteurs. En 2021, en raison d’une erreur d’orthographe dans un contrat intelligent, le Automated Market Maker (AMM) Uranium Finance a été dérobé pour 50 millions de dollars. De même, en 2021, une erreur dans un seul code a permis à Compound Finance de distribuer par erreur 80 millions de dollars de récompenses. En 2022, en raison d’une erreur dans un contrat intelligent, Wormhole Bridge a été volé pour 320 millions de dollars. Par conséquent, il est crucial de bien faire fonctionner le programme du contrat intelligent dès le départ. Les contrats intelligents adoptent un mode open source, ce qui signifie qu’une fois déployés, leur code devient public. Si un hacker découvre une erreur, il peut l’exploiter immédiatement. De plus, avec le temps, les opérations régulières de correction des vulnérabilités de sécurité deviennent inefficaces, car le code des contrats intelligents est...