Journal Ethereum, The DAO et un petit malin sont sur un bateau...

Posté par .
Tags : aucun
39
18
juin
2016

Le blockchain c'est à la mode, le blockchain c'est le futur, le blockchain si t'en manges pas t'as raté ta vie.

TL;DR

Il y a quelques semaines c'était la frénésie. Une entreprise The DAO - une sorte de fond d'investissement à base d'ether - était parvenue à lever 140 millions de dollars en deux semaines. Vous donnez des sous et en échange vous recevez des droits de votes. Ces droits de votes sont utilisés quand l'entreprise veut prendre une décision.

Tout était résolu, les contrats ne seraient plus jamais falsifiables, les notaires étaient des dinosaures voués à disparaître et les banques ne servaient plus à rien. Bon, ça c'était avant la découverte du petit problème…

C'est quoi le problème?

Un petit malin a trouvé une vulnérabilité dans le contrat de l'entreprise.

Quand un petit malin trouve une faille dans un contrat d'entreprise classique il l'exploite "la clause ne précise pas un plafond dans le nombre d'heures alors vous me devez 150 milliards d'euro"

Dans le cas de The DAO le contrat c'est un logiciel et ce logiciel contient un bug. Alors bien évidemment, le petit malin l'exploite. Le problème avec le software c'est que tout va plus vite. Notre petit malin a ponctionné pour plus de 50 millions de dollars en quelques minutes. enfin, ponctionné façon de parler. Il a plutôt récupéré les droits de vote pour une valeur de 50 millions de $.

C'est quoi la faille?

Une analyse de l'exploit se trouve à cette adresse

Corriger la faille ça suffit?

  • Oui : Corriger une faille c'est faire un avenant au contrat. Ce dernier doit être accepté par tous le monde.
  • Non : l'ancien contrat était valable ainsi que toutes ses clauses. Si le petit malin est dépossédé de ses droits de vote parce qu'il a utilisé une faiblesse d'un contrat il peut se retourner contre The DAO est réclamer son dû comme le contrat le stipulait.
  • Non : un rollback gigantesque (too big to fail, l'équipe Ethereum doit s'impliquer dans la résolution du problème) risquerait de détruire la confiance dans cette crypto monnaie. Il y a aussi un conflit d'intérêt mais bref…
  • Non : la confiance dans The DAO est pas mal entamée. Ils avaient affirmés avoir fait vérifier leur code source par une "top firme" et en quelques semaines ils subissent cette attaque.

Pourquoi petit malin?

Parler d'un pirate serait indiquer que la personne à fait quelques chose d'illégal. L'agissement de cette personne va à l'encontre du marketing de The DAO mais il n'a fait que lire et comprendre les clauses d'un contrat qu'il a signé tout comme les autres investisseurs ont accepté que le contrat puisse entraîner une dilution de leur droit de vote.
Monsieur et Madame tout le monde sont déjà à la peine quand ils doivent lire un contrat dans leur langue maternelle. Alors s'ils doivent lire un contrat sous forme de code source avec pour garantie "faites nous confiance c'est vérifié". Absurde!
Quand une entreprise amasse 150 millions en quelques jours des personnes vont forcément se pencher sur le cas et voir s'il n'y a pas moyen de se faire de l'argent facile. Légalement ou illégalement c'est selon.

source?

  • # Pas aussi décentralisé que présenté

    Posté par . Évalué à 5. Dernière modification le 18/06/16 à 12:12.

    Vitalik Buterin, the founder of Ethereum, is proposing a "soft fork" that will prevent the attacker from being able to make valid transactions, effectively freezing the funds.

    Ça remet en cause le prétendu aspect décentralisé, si un acteur peut décider de ce qui est légitime ou non.

    The decentralised nature of the DAO - and of Ethereum and digital currencies more generally - means there is no central authority that can simply flip a switch and make changes. Decisions have to be reached by community consensus.

    Par certains côtés, c’est une bonne chose de voir que l’utopisme technologique n’est qu’une arnaque de plus et que ça ne changera pas grand-chose hormis mettre le pouvoir dans quelques (nouvelles) mains.

    • [^] # Re: Pas aussi décentralisé que présenté

      Posté par (page perso) . Évalué à 7.

      Je suis pas fan de ces cryptomonnaies et encore moins de l'enthousiasme autour de tous ces sites révolutionnaires codés par des stagiaires en PHP, mais avant de dire n'importe quoi faudrait se renseigner quand même. Le "soft fork" proposé doit être accepté par la majorité des acteurs pour servir à quelque chose, c'est pas un switch que Vitalik actionne si bon lui chante.

      • [^] # Re: Pas aussi décentralisé que présenté

        Posté par . Évalué à 4. Dernière modification le 18/06/16 à 12:53.

        Les utilisateurs ne décideront jamais que d’installer ou non une mise à jour du logiciel (ou accepter un contrat/code difficilement intelligible). Je n’ai pas le sentiment que le pouvoir réside vraiment là. Il n’y aura pas forcément d’alternatives. Et les alternatives seront-elles fiables? Ce n’est pas difficile d’imaginer un codeur préparer une “faille” exploitable pour plus tard.
        À mes yeux, c’est comme les machines à voter : si tu ne peux pas vérifier la fiabilité d’un système ou si tu n’as pas la capacité de comprendre le système, tu ne fais que remettre ton pouvoir en des mains tierces qui disent “c’est fiable, ayez confiance”.

        • [^] # Re: Pas aussi décentralisé que présenté

          Posté par (page perso) . Évalué à 10.

          À mes yeux, c’est comme les machines à voter : si tu ne peux pas vérifier la fiabilité d’un système ou si tu n’as pas la capacité de comprendre le système, tu ne fais que remettre ton pouvoir en des mains tierces qui disent “c’est fiable, ayez confiance”.

          Comme quand tu rentre dans un avion ou que tu lis des conditions générales d'utilisation. La différence entre les contrats ethereum et les machines à voter, c'est que les premiers sont publiques et auditables. Tu peux rejouer les entrées et voir le résultat que ça sort, ce que tu ne peux pas faire avec les machines à voter.

          « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

    • [^] # Re: Pas aussi décentralisé que présenté

      Posté par . Évalué à 8.

      Ça remet en cause le prétendu aspect décentralisé, si un acteur peut décider de ce qui est légitime ou non.

      Ça tombe bien, un acteur ne peut pas décider ça :)
      Ce que propose le fondateur d'Ethereum, c'est de modifier le code des clients pour leur faire considérer que les transactions mettant en jeu cette adresse ne sont pas valides. C'est un choix arbitraire, et seuls ceux qui utilisent les clients modifiés considéreront ces transactions comme invalides. Les autres, non. C'est ça qui est appelé "soft fork".

      Ça aboutira peut être à l'existence simultanée de deux états "légitimes" de la chaîne, ceux qui pensent qu'il faut considérer ces transactions comme invalides et ceux qui pensent qu'il faut considérer ces transactions comme valides.

      C'est très intéressant du côté moral: faut il considérer "The DAO", qui n'était qu'une simple application sur Ethereum, comme un cas spécial ? Faut il faire quelque chose alors que finalement le "petit malin" n'a fait qu'utiliser un code qui n'avait par ailleurs pas d'autre spécification et le revendiquait ? ("The terms of The DAO Creation are set forth in the smart contract code existing on the Ethereum blockchain at 0xbb9bc244d798123fde783fcc1c72d3bb8c189413. Nothing in this explanation of terms or in any other document or communication may modify or add any additional obligations or guarantees beyond those set forth in The DAO’s code."). Bref, c'est très rigolo et intéressant.

      • [^] # Re: Pas aussi décentralisé que présenté

        Posté par . Évalué à 4.

        Ça aboutira peut être à l'existence simultanée de deux états "légitimes" de la chaîne, ceux qui pensent qu'il faut considérer ces transactions comme invalides et ceux qui pensent qu'il faut considérer ces transactions comme valides.

        J'ai un peu de mal à comprendre comment ca peut fonctionner, à un moment ces 2 chaînes vont inévitablement rentrer en conflit non ? ou alors je ne peux échanger qu'avec des gens qui ont la meme version de la chaine de moi ?

        • [^] # Re: Pas aussi décentralisé que présenté

          Posté par (page perso) . Évalué à 5.

          ou alors je ne peux échanger qu'avec des gens qui ont la meme version de la chaine de moi ?

          Oui en effet. Et c'est pour cela que c'est une très mauvaise chose.

          Note que dans le cas d'un « soft-fork » cela se produit uniquement si moins de 50% des mineurs utilisent encore les ancienne règles. C'est pourquoi en général les nouvelles règle ne sont active que si plus de XX% des mineurs sont d'accord avec les nouvelles règles.
          En pratique, les mineurs annoncent avec quelles nouvelles règles is sont d'accord dans l'en-tête des blocs qu'ils minent. Et les nouvelles règle précisent qu'elle sont actives si 75% des 1000 derniers blocs sont d'accord. ( exemple )

      • [^] # Re: Pas aussi décentralisé que présenté

        Posté par . Évalué à 8.

        Oui. J’aurais dû faire plus attention à la manière de formuler le problème. La capacité de proposition réside uniquement dans ceux qui peuvent la produire (certains codeurs). Les autres peuvent juste suivre ou pas (sans avoir aucune certitude de comprendre vraiment). Ça laisse l’initiative et le pouvoir décisionnaire à quelques-uns.

        Je ne pense pas que les banques s’intéresseraient à la blockchain si elles pensaient que ça leur ferait perdre leur pouvoir décisionnaire. Seules les économies potentielles les intéressent a priori, et justement ne pas perdre leur pouvoir actuel.

        Accusez-moi d’être cynique, si vous voulez, j’y survivrai. Mon scepticisme naturel est coriace. :)

  • # mimétisme

    Posté par . Évalué à 10.

    ce qui est fantastique avec les cryptomonnaies, c'est que inlassablement elles reproduisent les travers du système financier dont elles prétendaient corriger les défauts.

    Avec le fork proposé, on a ni plus ni moins la proposition qu'un bailout d'un "too big to fail" qui a fait n'importe quoi.

    • [^] # Re: mimétisme

      Posté par . Évalué à 3. Dernière modification le 19/06/16 à 23:41.

      À la seule différence que cette fois-ci tu as le droit de choisir ! Ici, soit tu utilises le fork, soit tu ne l'utilises pas. Chaque fork est une sorte de référendum.

      • [^] # Re: mimétisme

        Posté par . Évalué à 5.

        On est d'accord pour dire que c'est une différence mais pas un avantage ?

  • # J'ai rien compris :(

    Posté par . Évalué à 8.

    Le journal n'est pas très clair sur ce dont il parle si on n'est pas déjà au courant du sujet.

    L'article sur Clubic ne contient aucune information (comme s'il avait été écrit par quelqu'un qui ne comprend rien au sujet et qui se contente de paraphraser d'autres articles).

    Business Insider parle juste d'un pirate qui a chippé 50millions de dollars en sous virtuels et qui s'est fait enfermer dans une prison digitale pour un mois en attendant de trouver une solution.

    BeOS le faisait il y a 15 ans !

    • [^] # Re: J'ai rien compris :(

      Posté par . Évalué à 5.

      La plupart des informations sont disponibles en anglais sur reddit.
      Si tu peux détailler ce qui n'est pas clair je pourrais faire un peu de clarification.

      Stéphane Bortzmeyer à fait un article today : http://www.bortzmeyer.org/the-dao-ethereum-et-une-attaque.html

      • [^] # Re: J'ai rien compris :(

        Posté par . Évalué à 4.

        Stéphane Bortzmeyer à fait un article today aujourd'hui : http://www.bortzmeyer.org/the-dao-ethereum-et-une-attaque.html

        Corrigé.

        "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

      • [^] # Re: J'ai rien compris :(

        Posté par . Évalué à 5.

        Ben y'a pas grand chose de clair pour moi …
        J'ai cru que "une sorte de fond d'investissement à base d'ether" était un sarcasme pour dire qu'ils vendaient de la poudre de perlinpinpin.
        Tout le parallèle avec des "contrats" est très confusant.
        Qu'est-ce que c'est que ces histoires de droits de vote ?
        Est-ce qu'il y a eu piratage ou bien abus d'un fonctionnement "prévu" ? Qu'est-ce qui a été piraté/abusé d'ailleurs ?

        BeOS le faisait il y a 15 ans !

        • [^] # Re: J'ai rien compris :(

          Posté par . Évalué à 0.

          • [^] # Re: J'ai rien compris :(

            Posté par (page perso) . Évalué à 3.

            Il contient des belles conneries, comme de reprendre sans aucune nuance ni recherche critique les affirmations du voleur (qui aurait soi-disant consulté des juristes).

            • [^] # Re: J'ai rien compris :(

              Posté par (page perso) . Évalué à 10.

              Parler de « voleur » (ici et dans ton très pédagogique article, contrairement à l'auteur du journal qui parle de « petit malin » en expliquant pourquoi il a choisi de ne pas utiliser « pirate » par exemple) n'est pas neutre non plus. Est-ce un pirate à la jambe de bois et au perroquet ? Un voleur au costume zébré ? Un présumé voleur défendu par ses juristes ? Un délinquant en col blanc tendance trader relativement accepté par la société ? Un petit malin débrouillard ? C'est un peu la question de fond de savoir s'il y a un violation d'une règle légale (loi, contrat, etc.) et/ou d'une règle morale, ou pas.

        • [^] # Re: J'ai rien compris :(

          Posté par (page perso) . Évalué à 10.

          J'ai cru que "une sorte de fond d'investissement à base d'ether" était un sarcasme pour dire qu'ils vendaient de la poudre de perlinpinpin.

          Non non, l'ether est une des monaie virtuelle, comme bitcoin. On peu l'acheter et la vendre sir les marchés d'échange. C'est la monaie utilisée par le système Ethereum.

          Tout le parallèle avec des "contrats" est très confusant.

          Le principe même d'Ethereum est de proposer un système de contrat. Le contrat est représenté sous forme d'un espèce de script, compréhensible par la machine. Des "mineurs" vérifient tout les contrats. Un contrat détermine par exemple qui a droit a recevoir des ethers sous quelle condition.

          Qu'est-ce que c'est que ces histoires de droits de vote ?

          « The DAO » est une organisation décentralisé qui utilise Etherium pour sa gestion. Les actionnaires achètent des part de l'entreprise avec de l'ether. Les contrats implémentés par The DAO spécifient qui a droit de vote et comment les votent se déroulent. En l'occurance, les actionnaire ont le droit de vote en proportion de leur part dans l'« entreprise ».

          Est-ce qu'il y a eu piratage ou bien abus d'un fonctionnement "prévu" ? Qu'est-ce qui a été piraté/abusé d'ailleurs ?

          C'est bien là toute la problématique. Les partisans d'Ethereum proclament que Ethereum est une avancée comparé aux contrats traditionels car il n'y a plus de problème d'ambiguité dans les contrats car tout est dans le code de ceux ci. L'avantage est aussi que on a la garentille que tout les participant respectent le contrat car c'est vérifier par les mineurs et il n'y a pas moyen de tricher.

          Le problème est que il y a un « bug » dans l'un des contrat de « The DAO ». C'est à dire que une clause du contrat permet quelque chose qui n'a pas été voulu par les auteurs du contrat, et qui n'a probablement pas été compris par tout les participent qui ont « signé » le contrat en devenant actionnaire de The DAO.

          Le « bug » a permis à une personne de détourner la pluspart des fonds de The DAO sur son propre compte. Le bug est dû entre autre car un contrat pouvait être appelé récursivement et les auteur du contrat (et ceux qui en on fait la relecture) n'avaient pas prévu ça.

          Donc en principe, le petit malin n'a commis aucun crime car il a agit selon les termes du contrat.


          J'espère que mon explication est compréhensible.

          Suite à cette affaire, la communauté d'Ethereum de demande que faire. Utiliser des méthodes de vérification formelles  ? Employer d'autre langages de programmation plus sûr pour éviter les surprise ? Se limiter à des contrats plus simple ? [https://blog.ethereum.org/2016/06/19/thinking-smart-contract-security/]


          Mon opinion personnelle est que ceux qui critiquent Ethereum et toutes les monnaies virtuelle sont à coté de la plaque. La critique est aisée, mais l'art est difficile. Au moins les contributeurs de bitcoin et d'ethereum essayent une autre approche à certain problèmes qui n'avait pas encore été résolus (et certains ne sont toujours pas résolus).
          Cet incident aura le mérite de faire prendre conscience de certains problème et probablement permettra de faire des améliorations.

          Quand aux actionnaires de The DAO qui on perdu de l'argent, il est vrai que c'est triste pour eux. Mais normalement ils connaissaient les risques. Les monnaie virtuelles, et Ethereum en particulier, sont encore très jeune. Le marché est à l'heure actuelle très volatile et très fragile.
          Mais ce n'est que le début.

          • [^] # Re: J'ai rien compris :(

            Posté par . Évalué à 2.

            En tout cas j'aurai appris plein de choses :)

            BeOS le faisait il y a 15 ans !

          • [^] # Re: J'ai rien compris :(

            Posté par . Évalué à 7. Dernière modification le 21/06/16 à 11:26.

            Mon opinion personnelle est que ceux qui critiquent Ethereum et toutes les monnaies virtuelle sont à coté de la plaque. La critique est aisée, mais l'art est difficile.

            Sauf à sniffer du silicium jusqu'à en avoir des hallucinations, dans ce genre de système, la main invisible que personne n'a jamais vu, personne ne la verra jamais. L'art est difficile parce que ce genre de système est intrinsèquement instable et divergent. C'est tout… Jusqu'à preuve du contraire, naturellement. Quand on met au point un système qui ne repose pas sur une théorie solide, bah… ouai, ça marche pas (je ne parle pas des propriétés cryptographique hein ? ça c'est solide et il y a de la vrai science derrière).
            Ça me fait penser à un mec qui essayerait de faire de la bière à partir de gazole, la critique est aisée et l'art est difficile… Tu m'étonne ^ ^

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.