Smart contracts sur Ethereum : comment vérifier leur niveau de sécurité ?

Smart contracts sur Ethereum : comment vérifier leur niveau de sécurité ?

Par Gérard Haas et Alide Dorcent 

Déjà plusieurs semaines se sont écoulées depuis la fusion d’Ethereum le 15 septembre dernier, au cours de laquelle la cryptomonnaie a fait évoluer sa méthode et ainsi son mode de fonctionnement.

La blockchain a pourtant connu depuis une intrusion de la part d’un hacker réactualisant ainsi le débat portant sur la sécurité des smart contracts sur la blockchain.

Pour rappel, les smart contracts désignent des applications qui se développent sur la blockchain c’est-à-dire des programmes informatiques « auto-exécutants », ayant pour fonction de « contrôler automatiquement des actifs numériques »[1].

Les derniers évènements en date concernant la blockchain de l’Ether permettent ainsi de s’interroger sur la sécurité des transactions effectuées sur cette blockchain et plus largement sur toute plateforme ayant recours aux smart contracts.

Le smart contract demeure toujours dans l’environnement juridique un objet « submersif ».

Définition de la notion de Decentralized Autonomous Organization ou DAO

La blockchain Ethereum a pu prendre part à l’initiative du projet TheDAO financé par les utilisateurs de la blockchain.

Cette notion désigne en anglais Decentralized Autonomous Organization (ou organisation autonome décentralisée).

Les DAO désignent des organisations visant à atténuer la vulnérabilité du code et ainsi des smart contracts sur une blockchain.

En effet, cela peut permettre de jouer un rôle clé qu’est celui de rassurer les éventuels investisseurs face à la diversité de blockchain existantes.

L’enjeu est donc bien de valoriser une certaine conformité sur la blockchain et ainsi tenter d’apporter un statut sécurisé au smart contract.

Ce DAO a pourtant finalement été piraté le 17 juin 2016 et la cryptomonnaie a connu une mise en danger considérable.

Ethereum communique ainsi que cette expérience représente « un séisme dans l’écosystème Ethereum : plus qu’une perte financière, c’est surtout une grande désillusion et une prise de conscience collective de la grande surface d’attaque d’Ethereum »[2].

La question légitime à se poser est en définitif de savoir comment assurer une meilleure sécurité après de tels évènements. Comment s’assurer, plus généralement, de la sécurité d’un smart contract ?

La procédure d’audit de sécurité de smart contract

Ethereum est loin d’être la seule blockchain à être scrutée par les internautes et investisseurs mais depuis sa fusion lui permettant de développer sa méthode, certains mettent en avant les potentiels risques de sécurité passés, comme préalablement énoncés, mais également ceux à venir.

Si TheDAO a été victime d’une attaque de hacker en 2016, le même évènement trouve à se répéter cinq ans après, ce qui ne fait que renforcer cette volonté d’évaluer les vulnérabilités d’un investissement sur Ethereum mais également du smart contract en lui-même plus largement.

En effet, le smart contract reste, comme son l’indique, l’élément permettant toute contractualisation.

L’analyse des protocoles et des mouvements sur une blockchain peut ainsi passer par une procédure nommée un audit de smart contract.

Un expert technique en la matière aura en charge de revoir le code.

En effet, de simples petites erreurs dans le code permettent la fuite de sommes colossales.

Cette procédure permet de dresser un bilan, un compte-rendu de la recherche de failles est effectué.

L’étape principale de la procédure consiste en la réalisation de plusieurs tests afin de rendre compte du degré d’éventualité de la survenance de failles de sécurité.

Mais la question qui se pose est celle de savoir si ces audits sont en mesure de prévoir tout type d’attaque.

La technologie associée à la blockchain est continuellement à la recherche de perfectionnement et d’amélioration mais les attaques sont également de plus en plus robustes.

Le développement des sociétés d’audits de smart contract 

De nombreuses sociétés se développent ainsi en ayant pour mission d’auditer ces fameux contrats intelligents.

En Europe, des exemples de structures se situent en Allemagne avec par exemple SolidProof[3] et Chainsulting[4].

En France certains cabinets d’audits traditionnels se saisissent du sujet et développent également des solutions technologiques permettant d’interroger la sécurité d’une blockchain.

Ces solutions ouvrent ainsi la possibilité d’auditer la sécurité de plusieurs cryptommonaies parmi lesquelles on trouve l’ether mais aussi d’autres comme le bitcoin ou le Ripple.

Le choix de l’acteur à privilégier est ainsi une étape à ne pas minorer dans le cadre d’une vérification de la sécurité d’un smart contract.

Nous recommandons ainsi de toujours accorder la plus grande importance à l’étape de cartographie des risques de tout projet mettant en œuvre un support contractuel tel que le smart contract.

***

Le Cabinet HAAS Avocats, fort de son expertise depuis plus de vingt-cinq ans en matière de nouvelles technologies, accompagne ses clients dans différents domaines du droit. Nos équipes se tiennent à votre disposition pour répondre à l’ensemble de vos questions et vous assister dans une communication digitale conforme.

Pour en savoir plus, contactez-nous ici.

 

[1] V. Buterin, « Livre blanc / White Paper Ethereum - Traduction française », 24 nov. 2016

[2] Ethereum France – Site internet

[3] Site Internet – SolidProof

[4] Site Internet – Chainsulting

 

Gérard HAAS

Auteur Gérard HAAS

Suivez-nous sur Linkedin