ETH : la dApp FOMO3D siphonnée à cause d’un « bug »
Les bugs Solidity, rien de tel pour animer vos soirées. FOMO3D, c’est l’histoire d’une dApp : nous attendons tous de pouvoir démontrer au monde que la révolution passera par la blockchain et les smart contracts, mais ce ne sera pas le cas cette fois… Certaines des dApps les plus utilisées sont loin de contribuer pour le moment à la révolution financière en cours.
En réalité, quel est le principe et le fonctionnement de la seconde dApp la plus utilisée sur le réseau ETH ?
FOMO3D est en fait organisée comme une application de pari à haut risques, dans le sens où elle fonctionne sur un principe de pyramide de Ponzi, au sens littéral, comme vous allez vous en rendre compte.
Vous achetez une clé contre versement d’ETH, et cette clé-token vous appartient alors. Lors de l’achat, 30 secondes sont ajoutés à un minuteur. Les ETH que vous versez lors de l’achat sont redistribués pour partie dans un pot commun et pour partie à ceux ayant acheté une clé avant vous. Si le minuteur voit les secondes s’égrener sans nouvel achat jusqu’à atteindre 0, le pot commun est reversé au dernier acheteur de la clé. Si quelqu’un rachète la clé, le compteur continue d’augmenter, jusqu’à un maximum de 24h.
Foncièrement, désormais, le compteur reste plus ou moins aux alentours des 24h, car il se trouve toujours quelqu’un pour racheter la clé. Acheter une clé coûte aujourd’hui autour de 0.005 ETH (2€). La somme totale contenue dans le pot commun avait atteint 28000 ETH (11 millions d’€) récemment.
Etant donné qu’il se trouve pour le moment toujours quelqu’un pour racheter la clé, l’incitation principale à acheter une clé est donc d’espérer toucher la part de “dividendes” venant des futurs acheteurs.
Mais là où la dApp déçoit réellement, c’est qu’elle a illustré le 22 juillet la robustesse désormais légendaire des smarts contracts codés en Solidity, le langage de programmation maison d’ETH. Ou le caractère faussement décentralisé d’une dApp, difficile de se prononcer pour l’heure.
FOMO3D is one of the current huge "honest ponzis" on the Ethereum blockchain.
It has a bug allowing an attacker to drain it, because of course it does.
("bug") https://t.co/WNmplbnO9c
— your #1 source for absurdist true crime 🐀 🐍👑 🌷 (@davidgerard) July 23, 2018
Des petits malins auraient trouvé des vulnérabilités dans le code du smart contract et ont donc pu commencer à le siphonner. La trouvaille n’est pas restée confidentielle longtemps, un développeur Ethereum prenant même la peine de venir partager sur Reddit un semblant de tutoriel pour expliquer la vulnérabilité et comment en tirer profit.
So, uh, apparently an Ethereum developer is showing people on reddit how to exploit a smart contract that handles $12,000,000. 🤷♂️ pic.twitter.com/8rWbdEg74P
— @notgrubles (@notgrubles) July 23, 2018
Aujourd’hui, la valeur du pot commun était tombée autour de 25000 ETH, et le volume quotidien d’utilisation prenait une gamelle de près de 65%.
Difficile de dire en l’état s’il s’agit réellement d’un bug dans le code du smart contract, exploité par des pirates, ou bien d’un vulgaire « exit scam » par les développeurs de FOMO3D à l’aide d’une backdoor implantée de novo.
En définitive, si Ethereum et les smart contracts doivent réellement atteindre un jour l’idéal fixé de “super ordinateur” mondial, il leur reste pour le moment encore un peu de chemin à parcourir.
[es_tradingview symbol= »ethusd » interval= »D » height= »350″ colors= »Light »]
Sources : Trustnodes || Images from Shutterstock & Giphy