Le hack DAO

DAO piraté

Il y a eu une attaque contre le DAO! L’attaquant siphonne actuellement l’Ether du DAO dans un «DAO enfant». En termes simples, cette personne a vu une faiblesse dans la plate-forme et l’a exploitée, vidant ainsi environ 40 millions de dollars d’Ether. Le piratage visait le problème de réintégration dans la fonction Split DAO. Le pirate appelle la fonction de fractionnement à l’intérieur d’un fractionnement et peut collecter plusieurs fois en une seule transaction.

Jusqu’à présent, aucune mesure n’a été prise, mais le pirate ne pourra pas retirer d’ETH, pas avant que 27 jours ne se soient écoulés, ce qui est la période stagnante pour les DAO enfants. C’est un énorme problème qui affecte le DAO. La plate-forme Ethereum elle-même ne partage pas cette vulnérabilité.

À la suite de ce piratage, il y a eu une proposition d’un soft fork; aucun bloc ou transaction ne sera annulé une fois le logiciel implémenté. Cela forcera les transactions qui font des appels délégués ou des codes d’appel qui minimisent le solde des comptes avec le hachage de code.

Qu’est-ce qu’un hack quand vous n’avez pas de spécifications?

Premièrement, pour dire que quelque chose est un bogue ou un hack, il doit y avoir des spécifications du bogue ou du comportement indésirable. Il n’y a pas eu de telles spécifications vocalisées pour le DAO. De plus, il n’y a pas de spécification donnée pour l’organisation à réaliser pour réussir.

Il n’y a pas de documentation dans le code qui explique ce que les développeurs ont fait lorsqu’ils ont écrit le code. Les gens disent que le code était tout seul, c’était son propre parent.

Familièrement, le pirate a peut-être mieux lu les petits caractères que les développeurs eux-mêmes.

Il n’y a pas de refuge sûr pour le moment

Vous pourriez penser qu’il est facile de retirer tous vos fonds du DAO une fois que vous êtes confronté à une attaque, mais ce n’est pas toujours le cas.Les développeurs de DAO ont décidé de rendre difficile pour quiconque de retirer ses fonds du DAO. Vous n’avez pas la possibilité de simplement retirer votre Ether. Ce qui se passe normalement, c’est que vous devez vous inscrire à un nouveau compte DAO enfant et déplacer votre Ether dans le nouveau compte et les y stocker pendant au moins 27 jours. Donc, si l’attaquant choisit de surveiller les créations de compte, il pourrait accéder aux comptes amateurs et drainer les fonds avant qu’ils ne soient mis à niveau. Ce n’est pas facile à faire, si cela arrive, il invoquera la censure.

Le déménagement des fonds a un coût

Le DAO n’a pas été créé pour avoir une simple fonction de mise à jour. Surtout maintenant, il n’y a aucun moyen de rétablir le compte DAO de son état actuel à un nouveau code de contrat. Le compte avec solde supplémentaire ne peut pas être converti en version nouveau contrat. Cela signifie simplement qu’un compte à solde supplémentaire qui a un million de dollars d’Ether est une radiation..

Ethereum est-il idéal pour les contrats intelligents sécurisés?

Il est maintenant clair que la rédaction d’un contrat intelligent large et sûr nécessite beaucoup de diligence et de discipline, tout comme l’écriture d’un code de réacteur nucléaire. Cependant, le langage de solidité semble avoir été conçu davantage pour du code Web lâche. Voici quelques-unes des caractéristiques manquées.

Un bon langage de codage garantirait qu’il n’y a pas d’état difficile à récupérer.

Un excellent langage pour le codage indiquerait clairement quand des conversions d’état peuvent être effectuées et quand elles ne peuvent pas être effectuées.

Un langage incroyable pour maintenir le système aurait des fonctionnalités pour améliorer la sécurité d’un contrat en direct.

Un langage de codage impeccable stipulerait clairement qu’il ne devrait y avoir aucune action implicite, le code s’exécute clairement, tel que lu.

La langue actuelle dans le DAO ne répond entièrement à aucun des commandements ci-dessus. En fait, le commandement qui implique des exécutions de code et des actions implicites est ce qui s’est passé dans le DAO. Les développeurs ont même demandé à la fois à l’implémenteur et au concepteur de solidity d’écrire une révision du code. Si ces personnes ne peuvent pas confirmer la sécurité du DAO, personne d’autre ne peut.

Attaques de Copycat

Pour le moment, le problème principal concerne les attaques de copie. D’autres personnes peuvent apprendre de cet événement et faire exactement la même chose.

Arrêter l’attaquant

Le principal problème est que personne ne sait comment la communauté Ethereum réagira à cet événement. De plus, la restauration de la blockchain ne fera rien d’autre qu’envoyer un message négatif. S’il était facile d’annuler des contrats, comment les contrats intelligents sont-ils plus sûrs que les contrats papier normaux?.

Voir l’organisation attaquée par un hacker est vraiment déprimant et crée un tout nouvel ensemble d’émotions concernant le DAO. Apparemment, il n’y a pas de solution fiable et à long terme. Peut-être que les développeurs vont simplement geler le DAO et permettre aux investisseurs de retirer leur Ether pour réduire les rancunes. Mais au bout du compte, il n’existe vraiment aucune approche qui mettra le sourire sur tout le monde.

Conclusion

Les contrats intelligents sont révolutionnaires et resteront l’un des domaines les plus passionnants du monde de la fintech. Nous avons seulement commencé à gratter la surface. Comme on dit, chaque nouveau projet a sa douleur croissante. Chaque étape initiale fait généralement face à des revers, et les gens espèrent qu’Ethereum trouvera une excellente solution dans les prochaines semaines – émergeant plus fort que jamais..