Les contrats intelligents d'Ethereum sont pleins de trous

Lynne Carty





Les programmes informatiques qui fonctionnent sur des blockchains bousculent le système financier. Mais une grande partie du battage médiatique autour de ce qu'on appelle les contrats intelligents n'est que cela. C'est un tout nouveau domaine. Les technologues commencent à peine à comprendre comment les concevoir afin qu'ils puissent être fiables pour ne pas perdre l'argent des gens, et - comme l'illustre une nouvelle enquête sur les contrats intelligents Ethereum - les chercheurs en sécurité ne font que maintenant accepter ce qu'est une vulnérabilité des contrats intelligents. ressemble même.

Cet article apparaît dans notre newsletter bihebdomadaire Chain Letter, qui couvre le monde de la blockchain et des crypto-monnaies. Inscrivez-vous ici — c'est gratuit!

Distributeurs automatiques numériques : Le terme contrat intelligent vient du pionnier de la monnaie numérique Nick Szabo, qui l'a inventé il y a plus de 20 ans (et qui peut ou non être Satoshi Nakamoto ). L'idée de base, il a écrit , est que de nombreux types de clauses contractuelles (telles que la garantie, la caution, la délimitation des droits de propriété, etc.) peuvent être intégrées dans le matériel et les logiciels avec lesquels nous traitons, de manière à rendre une rupture de contrat coûteuse (si vous le souhaitez , parfois de manière prohibitive) pour le contrevenant. Szabo a qualifié les distributeurs automatiques physiques d'ancêtre primitif des contrats intelligents, car ils prennent des pièces et distribuent un produit et le change correct en fonction du prix affiché.



Entrez dans la blockchain : Aujourd'hui, la conception la plus courante d'un contrat intelligent est un programme informatique stocké sur une blockchain. Une blockchain est essentiellement un grand livre comptable partagé qui utilise la cryptographie et un réseau d'ordinateurs pour suivre les actifs et protéger le grand livre contre la falsification. Pour Bitcoin, cela donne à deux parties qui ne se connaissent pas une garantie absolue qu'un transfert de fonds convenu se produira comme prévu, c'est-à-dire que personne ne sera trompé.

Les contrats intelligents sont là où les choses deviennent intéressantes. En utilisant un contrat intelligent, deux personnes pourraient créer un système qui retire des fonds du compte d'une personne - un parent, disons - et les dépose sur le compte d'un enfant si et quand le solde de l'enfant tombe en dessous d'un certain niveau. Et ce n'est que l'exemple le plus simple - en théorie, les contrats intelligents peuvent être utilisés pour programmer toutes sortes d'accords financiers, des contrats dérivés aux enchères en passant par les comptes séquestres alimentés par la blockchain.

Des ICO partout : L'une des applications les plus populaires des contrats intelligents a été de créer de nouvelles crypto-monnaies. Quelques-uns d'entre eux ont donné un aperçu d'un nouveau type d'économie dans lequel une monnaie numérique spécialement conçue peut être utilisée pour un service décentralisé, comme le stockage de données ou le commerce de devises numériques. L'enthousiasme des investisseurs face à la promesse de telles applications a contribué à alimenter l'engouement pour les ICO, qui a permis de récolter plus de 5 milliards de dollars. (Qu'est-ce qu'un ICO? ← Voici une introduction)



Mais retenez vos chevaux : Les technologues n'ont toujours pas une image complète de ce à quoi ressemble une faille de sécurité dans un contrat intelligent, dit Ilya Sergueï , informaticien à l'University College London, qui a co-écrit une étude sur le sujet publié la semaine dernière.

Les utilisateurs l'ont appris à leurs dépens en 2016 lorsqu'un pirate informatique a volé 50 millions de dollars à la soi-disant organisation autonome décentralisée, qui était basée sur la blockchain Ethereum. Et en novembre, environ 150 millions de dollars sont soudainement devenus inaccessibles aux utilisateurs du service de portefeuille Parity, qui est également enraciné dans Ethereum.

Sergey et ses collègues ont utilisé un nouvel outil pour analyser un échantillon de près d'un million de contrats intelligents Ethereum, signalant environ 34 000 comme vulnérables, y compris celui qui a conduit à l'accident de Parity. Sergey compare le travail de l'équipe à l'interaction avec un distributeur automatique, comme si les chercheurs appuyaient sur des boutons au hasard et enregistraient les conditions qui faisaient que la machine agissait de manière involontaire. Je crois qu'un grand nombre de vulnérabilités doivent encore être découvertes et formellement spécifiées, dit Sergey.



cacher