Share this article

Comprendre l'attaque DAO

Le stratège de la blockchain David Siegel donne un aperçu étape par étape de l'attaque contre The DAO pour les journalistes et les membres des médias.


Les bases

Le réseau Ethereum est un réseau d'ordinateurs fonctionnant tous sur la blockchain Ethereum . Cette blockchain permet d'échanger des jetons de valeur, appelés ether, actuellement la deuxième Cryptomonnaie la plus populaire après le Bitcoin. Ethereum permet également d'écrire et d'intégrer au réseau des contrats intelligents – du code à usage général qui s'exécute sur chaque ordinateur du réseau (plus de 6 000 ordinateurs actuellement). Ces programmes sont ensuite exécutés en leur envoyant des ethers.

STORY CONTINUES BELOW
Don't miss another story.Subscribe to the The Protocol Newsletter today. See all newsletters

UN DAO est une organisation autonome décentraliséeSon objectif est de codifier les règles et l’appareil décisionnel d’une organisation, en éliminant le besoin de documents et de personnes pour gouverner, en créant une structure avec un contrôle décentralisé.

Voici comment fonctionne une DAO :

  • Un groupe de personnes rédige les contrats intelligents (programmes) qui géreront l'organisation
  • Il y a une période de financement initiale, au cours de laquelle les gens ajoutent des fonds à la DAO en achetant des jetons qui représentent la propriété – c'est ce qu'on appelle une vente participative ou une offre initiale de pièces (ICO) – pour lui donner les ressources dont elle a besoin.
  • Une fois la période de financement terminée, la DAO commence à fonctionner.
  • Les gens peuvent ensuite faire des propositions à la DAO sur la façon de dépenser l’argent, et les membres qui ont adhéré peuvent voter pour approuver ces propositions.

Il est important de comprendre que nous avons pris grand soin de ne pas transformer ces jetons en actions ; il s'agit plutôt de contributions donnant droit de vote, mais pas de propriété. Dans la plupart des cas, une DAO n'appartient à personne ; il s'agit simplement d'un logiciel fonctionnant sur le réseau Ethereum .

La toute première DAO est Bitcoin , régie par un consensus entre son équipe CORE et son réseau de minage. Toutes les autres DAO ont été lancées sur la plateforme Ethereum .

«Le DAO" est le nom d'une DAO particulière, conçue et programmée par l'équipe derrière la startup allemande Slock.it - une entreprise qui construit des « serrures intelligentes » qui permettent aux gens de partager leurs affaires (voitures, bateaux, appartements) dans une version décentralisée d'Airbnb.

Le DAO a été lancé le 30 avril 2016, avec une fenêtre de financement de 28 jours.

Pour une raison ou une autre, la DAO a connu un franc succès, levant plus de 100 millions de dollars au 15 mai. À la fin de la période de financement, elle était la plus importante campagne de financement participatif de l'histoire, ayant récolté plus de 150 millions de dollars auprès de plus de 11 000 membres enthousiastes. La DAO a récolté bien plus de fonds que ce que ses créateurs attendaient.

On peut dire que le marketing a été meilleur que l'exécution, car pendant la vente participative, plusieurs personnes ont exprimé des inquiétudes quant à la vulnérabilité du code aux attaques.

Une fois la vente participative terminée, de nombreuses discussions ont eu lieu sur la nécessité de remédier d'abord aux vulnérabilités avant de financer les propositions. Stephan Tual, ONEun des créateurs de la DAO, a notamment annoncé le 12 juinqu'un « bug d'appel récursif » avait été trouvé dans le logiciel mais qu'« aucun fonds de la DAO [n'était] en danger ».

À l’époque, plus de 50 propositions de projets attendaient le vote des détenteurs de jetons de la DAO.

Il est important de rappeler que le réseau Ethereum ne présente aucun bug de ce type et a fonctionné parfaitement depuis le début. Tous les systèmes en réseau sont vulnérables à divers types d'attaques. Le réseau Ethereum , qui gère (selon le prix) environ un milliard de dollars d'ethers, n'a pas été piraté et exécute en permanence de nombreux autres contrats intelligents.

Tous ceux qui rédigent un contrat intelligent savent que s'il peut transférer une importante quantité d'argent, il sera exposé à des attaques. Cette vulnérabilité particulière a été découverte récemment dans un autre système, appelé Maker DAO, et a été rapidement neutralisée, car ce DAO était encore en phase de test.

De nombreuses personnes estiment que tester et certifier les contrats intelligents est essentiel pour assurer la sécurité de l'écosystème Ethereum . Vous trouverez plusieurs services de validation de contrats intelligents sur DecentralStation.com.

Le piratage DAO

Malheureusement, alors que les programmeurs travaillaient à résoudre ce problème et d'autres, un attaquant inconnu a commencé à utiliser cette approche pour commencer à vider le DAO de l'éther collecté lors de la vente de ses jetons.

Le samedi 18 juin, l'attaquant a réussi à drainer plus de3,6 m d'étheren une « DAO enfant » ayant la même structure que la DAO. Le prix de l'ether est passé de plus de 20 $ à moins de 13 $.

Plusieurs personnes ont tenté de scinder la DAO pour empêcher le vol d'ethers, mais elles n'ont T réussi à obtenir les votes nécessaires en si peu de temps. Les concepteurs ne s'attendant T à autant d'argent, tous les ethers se sont retrouvés à une seule adresse (mauvaise idée), et nous pensons que l'attaquant a volontairement arrêté après avoir entendu parler de la proposition de fork (voir ci-dessous). En fait, cette attaque, ou une autre ONE, pourrait se poursuivre à tout moment.

Les contrats intelligents sont censés être des accords autonomes, non sujets à interprétation par des entités ou juridictions extérieures. Le code lui-même est censé être l'arbitre ultime de « l'accord » qu'il représente. Mais bien sûr, il s'agit d'une perspective idéaliste (crypto-anarchiste).

Avant même l'attaque, plusieurs avocats craignaient que la DAO outrepasse son mandat en matière de financement participatif et enfreigne les lois sur les valeurs mobilières de plusieurs pays. Ils ont également pointé du doigt ses créateurs comme potentiellement responsables des problèmes qui pourraient survenir, et plusieurs ont exprimé leur inquiétude quant au fait que les détenteurs de jetons de la DAO acceptent une responsabilité dont ils n'étaient probablement pas conscients. La DAO évolue dans une zone grise juridique et réglementaire.

Étant donné que le DAO enfant a la même structure, les mêmes limitations et les mêmes vulnérabilités que le DAO parent, l'éther de ce DAO enfant nouvellement créé n'est T accessible pendant 28 jours, car c'est la période de financement initiale.

Tout le monde peut voir l'éther dans ce DAO enfant ; toute tentative d'encaissement déclenchera des alarmes et des enquêtes. Il est possible que l'attaquant ne parvienne jamais à encaisser ou à dépenser un seul éther.

Il est tout à fait possible que l'attaquant ait détenu une importante position courte sur l'ether au moment de l'attaque, qu'il ait ensuite liquidée après que le cours de l'ether ait été divisé par deux environ. L'attaquant a peut-être déjà gagné son argent, indépendamment de l'ether stocké dans la DAO enfant.

La Fondation Ethereum pourrait prendre certaines mesures pour neutraliser l'ether dans cette DAO. C'est là que les choses se compliquent.

La proposition Soft-Fork

Le DAO contient environ 15 % de tout l'éther, donc une défaillance du DAO a un impact négatif sur le réseau Ethereum et sa Cryptomonnaie.

Il est important de noter que des dizaines de startups travaillent sur des DAO ou des produits de gouvernance, que de nombreux contrats intelligents présentent des vulnérabilités similaires et que la création de logiciels complexes utilisant des contrats intelligents en est encore à ses balbutiements. Tous les acteurs concernés ont un intérêt dans la suite des événements.

Tous les regards sont tournés vers la DAO et la Fondation Ethereum , espérant une résolution qui permettra à l’écosystème de continuer à se développer comme avant.

Pour comprendre la suite des événements, il est essentiel de comprendre les bases de la blockchain : un réseau de nœuds regroupe les transactions en blocs, et les blocs en une seule chaîne qui représente la « vérité » de ce qui s'est passé. Si deux transactions concurrentes se produisent à peu près au même moment, le réseau résout le conflit en en choisissant une et en rejetant l'autre, de sorte que tous les nœuds disposent de la même copie du registre distribué.

La seule façon de « réécrire l'histoire » serait qu'au moins 51 % des nœuds acceptent une telle collusion – un phénomène jamais vu dans l'histoire de Bitcoin ou Ethereum. L'objectif d'un réseau décentralisé est que ONE n'ait le pouvoir d'agir ainsi, sinon le réseau lui-même deviendrait indigne de confiance.

Sur 17 juinVitalik Buterin de la Fondation Ethereum a publié une mise à jour critique, affirmant que la DAO était attaquée et qu'il avait trouvé une solution :

Un fork logiciel a été proposé (sans ROLLBACK ; aucune transaction ni aucun bloc ne sera « annulé ») qui rendra toutes les transactions qui effectuent des appels/codes d'appel/appels délégués qui réduisent le solde d'un compte avec le code hash0x7278d050619a624f84f51987149ddb439cdaadfba5966f7cfaea7ad44340a4ba (c'est-à-dire le DAO et ses enfants) invalides pour la transaction (pas seulement l'appel, la transaction)…

Dans ce document, Buterin déclare spécifiquement qu'il T de réécrire des blocs, mais simplement d'installer un « commutateur » dans le code Ethereum de base qui empêche de déplacer de l'éther hors du DAO ou de ses enfants.

En fait, il s’agit d’une solution ponctuelle (appelée « fork ») pour un événement ponctuel qui scelle ces éthers dans cette adresse pour toujours.

Buterin a continué :

Les mineurs et les pools de minage devraient reprendre les transactions normalement, attendre le code du soft fork et se tenir prêts à le télécharger et à l'exécuter s'ils approuvent cette évolution pour l'écosystème Ethereum . Les détenteurs de jetons DAO et les utilisateurs Ethereum devraient rester calmes et sereins. Les plateformes d'échange devraient se sentir en sécurité en reprenant les échanges ETH.

En d'autres termes, une liste noire sera intégrée au code Ethereum pour KEEP le pirate de réclamer sa récompense. Dans ce scénario de « gel des actifs », Buterin appelle à une discussion sur la manière d'aider les détenteurs de jetons DAO à récupérer leur investissement initial.

Cette proposition « Deus ex machina » apparemment anodine et bien intentionnée – qui doit encore être adoptée par une majorité de nœuds du réseau Ethereum pour prendre effet – a ouvert une énorme boîte de Pandore.

L’agresseur répond – ou le fait-il ?

J'appellerai l'agresseur un homme seul, même si je n'ai aucune idée s'il en est un.

Ce qui s'est passé ensuite était intéressant. Dans unlettre ouverte À la DAO et à la communauté Ethereum , l'attaquant aurait prétendu que sa « récompense » était légale et menacé de poursuites judiciaires contre quiconque tenterait d'invalider son travail. Plusieurs personnes ont souligné que la signature cryptographique de ce message n'était T valide ; elle pourrait être fausse.

Mais c’est bien écrit, et d’un certain point de vue, bien raisonné : le principe des contrats intelligents est qu’ils sont leurs propres arbitres et que rien en dehors du code ne peut « changer les règles » de la transaction.

Plus tard, par l'intermédiaire d'un intermédiaire, l'attaquant a affirmé qu'il mettrait un terme au « vol » organisé de sa propriété en récompensant les mineurs (nœuds) qui n'accepteraient T le soft fork proposé, en déclarant :

« Bientôt, nous aurons un contrat intelligent pour récompenser les mineurs qui s'opposent au soft fork et minent la transaction. 1 million ETH + 100 BTC seront partagés avec les mineurs. »

Il s’agit clairement d’un système dynamique complexe.

Ces messages de « l’attaquant » ne peuvent pas être vérifiés, nous devrons donc attendre et voir ce qui se passe.

La proposition Hard-Fork

Une autre proposition est plus agressive : demander aux mineurs de démanteler complètement le vol et de restituer tout l’éther à la DAO, où il peut être automatiquement échangé par les détenteurs de jetons, mettant ainsi fin à la DAO.

Comme le dit Stephan Tualdans son blog

Un hard fork ultérieur pourrait même restituer l'intégralité de l'ether, y compris l'« extraBalance » de la DAO et les fonds volés, dans un contrat intelligent. Ce contrat intelligent contiendrait une seule fonction : withdraw().

Cela permettrait à tous ceux qui ont participé à la DAO de retirer leurs fonds : grâce au soutien des mineurs, et parce que rien n'a été dépensé jusqu'à présent, rien ne serait perdu.

Cela a pour effet de réécrire les règles d'exécution de la blockchain, ce qui est censé être impossible. Devrions-nous laisser tomber cette règle, juste une fois, pour remettre le projet Ethereum sur les rails ?

Les gars de Slock.it et la plupart des détenteurs de jetons DAO nous seraient reconnaissants si nous le faisions.

Réponses au soft fork

Prise isolément, la proposition est raisonnable. Il s'agit d'une solution ponctuelle à un problème ponctuel. Mais beaucoup ne la voient T ainsi.

Vous pouvez lire leréponse massive sur Reddit, que je vais essayer de résumer :

La fiabilité du réseau est sacrée.

Comme l'a dit une personne sur Reddit :

L'implication de la Fondation Ethereum dans la DAO a été et reste une erreur. À mon avis, Ethereum est censé être l'infrastructure fondamentale sur laquelle une multitude de projets et d'expériences sont censés s'épanouir. Pour qu'ils prospèrent, ils ont besoin d'une base solide et intègre face aux défis. La proposition de hard fork est un compromis qui ruine cette intégrité et laisse entendre que des projets comme la DAO peuvent influencer les fondations sous-jacentes à leur avantage. C'est à mon avis totalement inacceptable et constitue une rupture avec les principes qui m'ont conduit vers Ethereum.

Le hard fork est une option valable, mais il doit être réservé aux situations qui nécessitent des modifications d'urgence du protocole Ethereum lui-même, et non aux projets qui s'exécutent dessus.

Le fait que la Fondation Ethereum ait été impliquée et promue dans le projet DAO a été une erreur et cela ne fait qu'usurper la confiance que les gens ont dans Ethereum en tant qu'infrastructure fondamentale pour d'autres projets.

J'espère qu'ils corrigeront cette erreur.

Un ONE a ajouté :

« J'ai signé un mauvais contrat dès les premiers jours de la mise en ligne ETH et j'ai perdu 2 000 ETH . Puis-je les récupérer ? Merci ! »

Et enfin :

Ethereum a fonctionné exactement comme prévu. Je ne pense T qu'un logiciel doive être mis à jour lorsqu'il fonctionne parfaitement. Vous assumez les risques de votre investissement. Si vous ne comprenez T votre investissement, vous assumez un risque inconnu. Tout le reste est un sauvetage par une autorité centrale, c'est-à-dire l'antithèse du monde des Crypto . De même, c'est pourquoi Lehman Brothers a été autorisé à faire faillite : l'accord est l'accord, et si vous contournez les règles pour un acteur en particulier, tous les autres acteurs exigeront également un traitement de faveur.

Trop gros pour faire faillite

Un mois seulement après Lehman Brothers, d'autres banques ont bénéficié d'un traitement de faveur, et vous pouvez juger par vous-même si c'était une bonne idée – la situation est assez similaire à celle d'aujourd'hui. La DAO n'est pas isolée.

Il est considéré comme « trop gros pour faire faillite » du point de vue de l'écosystème Ethereum . Il convient de noter que plusieurs membres de la Fondation Ethereum sont détenteurs de jetons DAO et occupent également des postes de conseil au sein de la DAO. Même Gavin Wood, ONEun des fondateurs Ethereum , a soutenu le fork dans un article de blog.

Dans cette optique, il est donc possible que d’autres grands projets aient besoin d’être sauvés et que la Fondation Ethereum , après avoir créé un précédent une fois, puisse une fois de plus demander aux mineurs de réécrire l’histoire.

L'analogie avec les sauvetages bancaires est remarquable : les banques ont pu prendre des risques énormes en espérant des rendements colossaux, et lorsque ces opérations ont mal tourné, les contribuables les ont renflouées (à l'exception de la pauvre Lehman Brothers). Cette asymétrie des risques est généralement considérée comme un mauvais moyen d'inciter les acteurs du marché.

Ce sont les deux extrêmes, mais la plupart des gens tombent dans ONEun ou l'autre. Le bras long de la loi, sans parler du fisc.

La discussion ci-dessus suppose que nous évoluons en vase clos, dans un espace de crypto-anarchie, où les lois ne s'appliquent T . Or, des personnes ont investi de l'argent réel, et des lois réelles peuvent s'appliquer et s'appliqueront à ce cas.

En fait, toutes les parties ici peuvent avoir des revendications légitimes qui pourraient prendre des années à régler devant les tribunaux du monde entier.

Qui est à risque ?

Même s'ils ont pris grand soin de ne pas créer de titres et de s'assurer que le public était informé des risques, ils pourraient néanmoins être tenus responsables. Si les détenteurs de jetons DAO perdent la majeure partie de leur investissement de plus de 150 millions de dollars, une action collective contre les initiateurs semble probable.

Autres DAO


Certains ont repris mot pour mot le contrat intelligent de la DAO pour implémenter d'autres DAO. En cas de hard fork, tous les ethers de toute DAO utilisant les contrats intelligents de la DAO 1.0 seront transférés vers une adresse de remboursement, qui sera ensuite répartie entre les détenteurs de jetons DAO. Ainsi, ces derniers pourraient recevoir plus que ce qu'ils ont investi. Cela ne manquera pas de susciter la colère de ceux qui ont investi leur propre argent dans leurs propres DAO en utilisant le code de la DAO 1.0.

Détenteurs de jetons DAO


En tant qu'investisseurs, et sans la protection d'une société, les plus de 11 000 détenteurs de jetons DAO peuvent être considérés comme des commandités du fonds. Dans ce cas, l'attaquant peut poursuivre individuellement les détenteurs de jetons DAO dans leur propre juridiction, affirmant qu'ils représentent l'entité qui a saisi ses biens légitimes.

Les échanges


Peu de temps après la période de financement initiale, plusieurs échanges de Cryptomonnaie ont commencé à créer des Marchés en jetons DAO.

Dans le cadre de cette chaîne, toute personne ayant acheté des jetons DAO sur une plateforme d'échange peut poursuivre la plateforme pour avoir vendu des investissements douteux. Les poursuites peuvent aller jusqu'à des violations graves de la législation sur les valeurs mobilières, ou la personne concernée peut être tenue responsable des profits réalisés sur les jetons.

Étant donné que plusieurs bourses disposent de beaucoup de liquidités, elles pourraient être parmi les premières cibles.

La Fondation Ethereum


L'enjeu est de taille pour la Fondation Ethereum . Elle souhaite que le réseau soit solide comme un roc, qu'il puisse supporter des milliards de dollars de transactions et qu'il devienne « le système d'exploitation du futur ».

Mais ils se trouvent désormais entre le marteau et l’enclume : s’ils ne font rien, le réseau Ethereum subit un revers dont il pourrait falloir des années pour se remettre ; s’ils interviennent, ils créent un précédent dangereux qui érode le contrat social qu’ils ont établi avec leur réseau de nœuds indépendants.

Ils n’ont T conçu le réseau Ethereum pour qu’il soit juge et jury au cas où une ou plusieurs parties seraient blessées.

Mineurs et nœuds


Les plus de 6 000 nœuds Ethereum complets peuvent être responsables de toutes les fourches pour lesquelles ils votent.

Si l'attaquant est perçu comme ayant acquis ses ethers grâce à une « fonctionnalité » d'un contrat intelligent, il peut alors (et a déjà menacé de le faire) poursuivre en justice tout mineur qui tenterait de lui arracher ce qu'il estime lui revenir de droit. Il pourrait également poursuivre la Fondation Ethereum si elle développe le logiciel implémentant le fork.

D'un autre côté, les détenteurs de jetons DAO pourraient poursuivre les nœuds qui ne votent T pour le fork, prétextant qu'ils ne font T ce qu'il faut. De leur côté, les personnes qui gèrent les nœuds aiment l'argent, et elles pourraient en obtenir de « l'attaquant » pour éviter le fork. Il est tout à fait possible que les gouvernements interviennent et tentent d'apporter des changements majeurs à la gouvernance du système Ethereum .

L'attaquant


L'attaquant a peut-être déjà engrangé des sommes substantielles grâce à la manipulation du marché – une pratique illégale dans de nombreuses juridictions. Il peut également être lourdement redevable d'impôts. Il est évident que la communauté a tout intérêt à Guides son identité et à la dénoncer.

Il y a probablement suffisamment d’informations disponibles pour que les gens puissent découvrir qui il est – ce n’est peut-être qu’une question de temps avant qu’ils y parviennent.

Les conséquences

Il semble qu'à ce stade, le DAO va mourir et que les détenteurs de jetons DAO récupéreront entre 0 % et 100 % de leur éther.

On peut dire sans se tromper que les gars de Slock.it ont du pain sur la planche pendant un certain temps, ils risquent de ne pas obtenir de financement pour leur projet (on m'a dit qu'ils ont investi une bonne BIT de leur propre argent dans The DAO), et ils risquent de devoir parler avec des avocats pendant des mois.

Le DAO est toujours sujet à une autre attaque similaire.

Vitalik peut proposer une solution basée sur Ethereum, mais les nœuds doivent décider. On ne sait pas exactement quelle voie ils emprunteront. Nombreux sont ceux qui affirment que « ne rien faire est peut-être la pire option ». Cela dépend de quel côté de la barrière on se trouve. Il y a des pentes glissantes partout.

Il y a un autre problème : la Fondation Ethereum est sur le point de passer à un nouveau mécanisme de consensus appelé « preuve d'enjeu », et dans ce scénario, quiconque possède 14 % de tout l'éther aura un contrôle énorme sur la future blockchain.

En fait, Vitalik a demandé que les projets soient limités à environ 10 millions de dollars, afin de contribuer à limiter l’ampleur des erreurs involontaires.

Il est également très probable que des poursuites judiciaires soient engagées. Nous pourrions assister à un chaos total, avec des poursuites qui s'étendraient sur plusieurs années. Ou bien, nous pourrions assister à une fin plutôt nette et ordonnée : Ethereum continue d'exister et « l'attaquant » ne refait jamais surface.

Je parierais 5 ethers que l'attaquant sera démasqué d'ici un mois ou deux. Même si l'esprit et la lettre des contrats intelligents stipulent que « les contrats intelligents sont la règle » et que la règle de droit ne s'applique T , dans ce cas, la plupart des gens souhaiteraient une nouvelle version. Je suppose que nous verrons différentes règles de droit s'appliquer.

J'ai essayé de m'en tenir aux faits, et maintenant je vais offrir une Analyses simple : cette situation se résoudra bien si l'attaquant achète simplement un tas d'éther, puis accepte de travailler avec les gens de la DAO pour restituer l'argent à tous les détenteurs de jetons et dissoudre complètement la DAO.

L'attaquant aura gagné de l'argent, aura fait valoir son point de vue, aucun avocat ne sera impliqué, nous aurons tous appris une dure leçon et la Fondation Ethereum pourra commencer à planifier un avenir plus sûr et plus résilient.

Résumé

Je crois que nous pouvons dire que cet événement marque le début d’une nouvelle ère de la blockchain publique d’Ethereum.

Bien que l’approche agile « prêt, feu, visez » fonctionne généralement mieux avec les nouveaux logiciels, elle peut être dangereuse lorsque 150 millions de dollars sont chargés dans la chambre.

Ethereum a été présenté comme un ordinateur polyvalent et le précurseur d'un nouveau modèle décentralisé pour l'informatique et la société. Nous verrons, un BIT plus tôt que prévu, comment tout cela se concrétisera dans le monde réel.

Quelques ressources :

Cet article a été initialement publié surMoyenet a été republié avec la permission de l'auteur.

David Siegel est un stratège et conférencier spécialisé dans la blockchain, fondateur deKryptodesign.comet conservateur deDecentralStation.com, un endroit pour en Guides sur la blockchain.

Avertissement : Siegal possède un petit nombre de jetons DAO.


Picture of CoinDesk author David Siegel