À l'heure où vous lisez ces lignes, vous avez certainement entendu parler des millions de dollars « dérobés » sur The DAO, dans la nuit du 16 au 17 juin. Vantée comme un modèle de mise en œuvre de « contrats intelligents » (« smart contracts », en anglais), la plate-forme a involontairement exposé les limites de ce concept en vogue…
Avant de tenter une analyse, commençons cependant par comprendre ce qui s'est passé (sans éviter quelques simplifications). Tout d'abord, le principe du « contrat intelligent » consiste à utiliser une infrastructure de blockchain, identique à celle de bitcoin, non plus seulement pour enregistrer des transactions « monétaires » mais également des programmes, exécutés automatiquement dans des conditions pré-déterminées. Cette idée à donné naissance, entre autres, à Ethereum et sa monnaie virtuelle, l'ether.
Sur ce socle, a été fondé The DAO (de « Decentralized Autonomous Organization »), qui peut être considéré comme une sorte de fonds d'investissement mutuel, en ethers, entièrement piloté par un algorithme. Ce dernier est, naturellement, implémenté sous la forme d'un « contrat intelligent ». Le modèle a suscité un tel engouement public qu'il a réussi à capter environ 10% de la masse monétaire d'Ethereum en moins d'un mois, soit l'équivalent de 150 millions de dollars (au plus haut du cours de la crypto-devise).
Arrivons-en maintenant à l'incident de la semaine passée. En prenant quelques raccourcis pour faciliter la compréhension, l'un des investisseurs de The DAO a exploité un bogue dans le « contrat intelligent » qui le régit, lui permettant d'en extraire 3,6 millions d'ethers (environ 40 millions de dollars au cours actuel) à son profit. Un aspect particulièrement perturbant de l'affaire est qu'il s'agit en fait d'un détournement de l'algorithme pour un usage non prévu : le vol n'est pas nécessairement caractérisé…
Avant de tenter une analyse, commençons cependant par comprendre ce qui s'est passé (sans éviter quelques simplifications). Tout d'abord, le principe du « contrat intelligent » consiste à utiliser une infrastructure de blockchain, identique à celle de bitcoin, non plus seulement pour enregistrer des transactions « monétaires » mais également des programmes, exécutés automatiquement dans des conditions pré-déterminées. Cette idée à donné naissance, entre autres, à Ethereum et sa monnaie virtuelle, l'ether.
Sur ce socle, a été fondé The DAO (de « Decentralized Autonomous Organization »), qui peut être considéré comme une sorte de fonds d'investissement mutuel, en ethers, entièrement piloté par un algorithme. Ce dernier est, naturellement, implémenté sous la forme d'un « contrat intelligent ». Le modèle a suscité un tel engouement public qu'il a réussi à capter environ 10% de la masse monétaire d'Ethereum en moins d'un mois, soit l'équivalent de 150 millions de dollars (au plus haut du cours de la crypto-devise).
Arrivons-en maintenant à l'incident de la semaine passée. En prenant quelques raccourcis pour faciliter la compréhension, l'un des investisseurs de The DAO a exploité un bogue dans le « contrat intelligent » qui le régit, lui permettant d'en extraire 3,6 millions d'ethers (environ 40 millions de dollars au cours actuel) à son profit. Un aspect particulièrement perturbant de l'affaire est qu'il s'agit en fait d'un détournement de l'algorithme pour un usage non prévu : le vol n'est pas nécessairement caractérisé…
Une erreur de code qui coûte 40 millions, voilà de quoi faire réfléchir. Elle signe probablement la mort de The DAO et soulève des questions sur l'avenir d'Ethereum. Le concepteur de ce dernier a été prompt à affirmer que son « bébé » n'est pas en cause, ce qui est vrai… jusqu'à un certain point. Car on peut se demander légitimement si le système n'est pas trop riche, trop complexe et trop ambitieux : permettre d'automatiser des mouvements d'argent expose à des risques majeurs que rien ne vient modérer.
En effet, conformément à la logique de la blockchain, les contrats enregistrés sur Ethereum sont immuables, ce qui interdit de corriger (facilement) les anomalies qu'ils peuvent comporter et laisse donc toute latitude à un utilisateur malveillant de les analyser en détail, afin de tirer profit de leurs défauts. Or les erreurs humaines sont inévitables. Tant qu'un contrôle automatique et formel de la qualité du code n'est pas mis en place, la seule conclusion raisonnable est qu'il vaut mieux se méfier des « contrats intelligents ».
Au fond, il semble logique qu'un concept aussi élaboré requière une période de mise au point, ne serait-ce qu'en termes de précautions d'usage… Ce qui rend le cas de The DAO dramatique est le fait qu'il ait pu conquérir en très peu de temps une large audience, composée de nombreux néophytes n'ayant pas tous conscience des risques qu'ils prenaient, y compris lorsque les premières alertes de sécurité ont été émises, quelques jours avant l'attaque proprement dite. De toute évidence, les applications de la blockchain sont prometteuses mais beaucoup restent expérimentales…
En effet, conformément à la logique de la blockchain, les contrats enregistrés sur Ethereum sont immuables, ce qui interdit de corriger (facilement) les anomalies qu'ils peuvent comporter et laisse donc toute latitude à un utilisateur malveillant de les analyser en détail, afin de tirer profit de leurs défauts. Or les erreurs humaines sont inévitables. Tant qu'un contrôle automatique et formel de la qualité du code n'est pas mis en place, la seule conclusion raisonnable est qu'il vaut mieux se méfier des « contrats intelligents ».
Au fond, il semble logique qu'un concept aussi élaboré requière une période de mise au point, ne serait-ce qu'en termes de précautions d'usage… Ce qui rend le cas de The DAO dramatique est le fait qu'il ait pu conquérir en très peu de temps une large audience, composée de nombreux néophytes n'ayant pas tous conscience des risques qu'ils prenaient, y compris lorsque les premières alertes de sécurité ont été émises, quelques jours avant l'attaque proprement dite. De toute évidence, les applications de la blockchain sont prometteuses mais beaucoup restent expérimentales…
Aucun commentaire:
Enregistrer un commentaire
Afin de lutter contre le spam, les commentaires ne sont ouverts qu'aux personnes identifiées et sont soumis à modération (je suis sincèrement désolé pour le désagrément causé…)