Smart contract défectueux : 37 millions d’ETH synthétiques piratés sur Synthetix ?
La plateforme Synthetix est spécialisée dans la création de « tokens synthétiques » sur la blockchain Ethereum (ETH). Elle vient de subir une anomalie majeure qui a permis de créer 37 millions de sETH, des tokens synthétiques d’ethers.
Qu’est-ce qu’un « token synthétique » ?
Malgré ce terme abstrait au premier abord, un token synthétique se contente simplement de suivre (au mieux) le cours d’un autre actif. Il réplique le prix d’une cryptomonnaie, sans en détenir les qualités. Si vous avez un Monero (XMR) synthétique par exemple, il répliquera l’évolution du prix du XMR, mais ne sera pas anonyme.
Il existe des versions synthétiques des cryptomonnaies sur d’autres services que celui de Synthetix. Sur le nouveau DEX de Binance par exemple, les bitcoins sont répliqués sous l’indice « BTCB ». Ce ne sont pas de « vrais » bitcoins mais ces tokens synthétiques sont censés représenter chacun le même prix qu’un BTC.
Dernier exemple avec le Wrapped Bitcoin (WBTC) qui est un token qui réplique le prix de Bitcoin sur Ethereum : chaque WBTC est adossé à un BTC réel, séquestré sur la blockchain Bitcoin. L’action de séquestrer un BTC pour créer un WBTC est appelée « mint » (fondre), et l’action de détruire un WBTC pour libérer un BTC est appelée « burn » (brûler).
37 millions de sETH créés : attaque volontaire ou incident ?
Ce 24 juin, la plateforme Synthetix aurait subi une « attaque » d’oracle, qui a vu la création de plus de 37,2 millions de sETH, comme le montre la transaction sur Etherscan ci-dessous :
« Il y a eu un incident avec les prix de sKRW [token synthétique du Won sud-coréen], nous enquêtons actuellement sur la cause à l’origine, mais pendant que le prix [du sKRW] renvoyait la mauvaise valeur, nous pensons qu’un robot d’arbitrage automatique a reçu [un nombre surévalué de] sKRW qu’il a ensuite converti en sETH », Kain Warwick, CEO et cofondateur de Synthetix
C’est donc une faille dans l’oracle qui permet au smart contract de connaître le prix réel d’un won sud-coréen qui a renvoyé une fausse valeur, largement surgonflée. L’oracle est ce qui permet à une blockchain d’obtenir une donnée qui se retrouverait en dehors de la blockchain. En l’occurrence, l’oracle servait à donner le prix du Won sud-coréen. Malheureusement, la faille permettait d’envoyer une fausse valeur, et ainsi, de manipuler le prix.
Cette anomalie a été exploitée par un bot d’arbitrage. Les bots d’arbitrages exploitent les variations de prix sur plusieurs plateformes. Là où le prix est plus élevé que la moyenne, ils vendent, et là où le prix est moins élevé, ils rachètent.
Kain Warwick offre une prime de découverte de bug au propriétaire du bot d’arbitrage, s’il aide à résoudre cet incident. Le pirate a tout intérêt à contribuer à la résolution de cette faille puisque le comble est que les sETH, sont si peu liquides, qu’il n’en retirera probablement pas grande chose.
Mise à jour 17h28 : selon une réponse de Synthetix suite à l’incident, il s’agirait bien d’une erreur de l’oracle qui a validé une valeur aberrante du Won (1000 fois supérieure au cours). Le propriétaire du bot d’arbitrage est d’accord pour coopérer avec la société, en échange de la prime pour découverte de bug.