lundi , 25 septembre 2017

Piratage d’Ethereum et TheDAO, comprendre le bordel

La communauté du Bitcoin est dans la tourmente avec le piratage et un bug assez terrifiant sur Ethereum et TheDAO. On tente de vous expliquer les principes du Bitcoin, d’Ethereum, de DAO de la manière la plus simple possible et les conséquences de ce piratage.


Piratage d’Ethereum et TheDAO, comprendre le bordel

Qu’est-ce que le Bitcoin ?

La plupart connaissent le Bitcoin, mais il faut quand même rappeler les bases. Le Bitcoin est un registre public (qu’on appelle le Blockchain). Ce registre contient toutes les transactions effectuées. Ce registre est volumineux avec une taille de 80 Go et il continue de grandir. Mais ce n’est pas un problème puisque la loi de Moore nous dit que les ordinateurs vont être plus performants que l’augmentation de la taille et qu’on ne risque pas d’être saturé.

Chaque nouvelle entrée dans le registre déplace les Bitcoins précédemment entrés en les fournissant au récipient. Une manière de dire : Déplace les bitcoins que j’ai reçus à ce mec là-bas. Dans le futur, quand le mec dépense le bitcoin dans une nouvelle transaction, il va se référer à cette transaction écrite. C’est ce qu’on appelle une Chaine. Chaque transaction se réfère à la précédente en remontant jusqu’au premier Bitcoin qui a été créé.

Actuellement, les transactions ne déplacent pas simplement le Bitcoin. Au lieu, on utilise un script, écrit dans un langage de programmation propre au Bitcoin, qui peut additionner, multiplier et comparer les valeurs. Cependant, ce n’est pas un langage de programmation à part entière. Il ne peut pas appeler des fonctions ou exécuter des boucles. Mais il est assez complexe pour être créatif tel que des transactions qui sont garanties par une entité tierce, mais ça s’arrête là.

Qu’est-ce que les Alt-Coins ?

Après que le Bitcoin ait rencontré le succès, les gens ont commencé à créer leurs propres variations. La plupart des Alt-Coins n’étaient pas plus performants que le Bitcoin. Ils étaient uniquement utilisés par les spéculateurs qui pompent et jettent. Ils créaient les Alt-Coins le plus rapidement possible en espérant les revendre plus tard avec un profit juteux.

Parmi toutes les Alt-Coins, il y a 2 qui ont proposé des améliorations notables au Bitcoin. Le ZeroCoin fonctionne en rendant les transactions anonymes. Et Ethereum est l’Alt-Coin qui est au centre du bordel et du piratage qui est discuté par la communauté.

Qu’est-ce qu’Ethereum ?

Nous avons déjà parlé d’Ethereum dans un dossier dédié. Mais Ethereum est une variation du Bitcoin qui utilise un langage de programmation à part entière au lieu d’être un simple script. Pour cette raison, on peut utiliser Ethereum pour créer des Smarts Contracts.

Les possibilités sont infinies avec Ethereum. Supposons qu’on veuille organiser une conférence. On a besoin de 100 personnes qui vont payer afin de louer un hôtel et payer les frais. Mais s’il n’y a pas suffisamment de personnes qui payent avant une certaine date, alors on doit rembourser ceux qui se sont engagés. Avec Ethereum, on peut coder ce contrat dans un langage similaire au JavaScript. Il garantit que chacun aura un billet d’entrée dans la conférence ou que chacun sera remboursé s’il y a un problème. L’ambition d’Ethereum est de coder la confiance plutôt que faire confiance à la tronche du mec qui veut vous vendre un truc.

On peut aussi utiliser Ethereum dans la prestation de service. Vous êtes un webmestre et vous voulez créer un site web. Vous recrutez le développeur et vous utilisez le Smart Contract pour qu’il vous fournisse le site désiré. Le développeur va intégrer le Smart Contract directement sur le site pour que d’une part, il puisse vérifier qu’il a bien fait son boulot et que d’autre part, que c’est bien le prestataire légitime afin de garantir les paiements.

Comme avec le Bitcoin, une communauté très fidèle supporte le projet. Et si vous êtes parmi les sceptiques, alors ces supporters d’Ethereum vont déclencher le feu de l’enfer sur vous. Encore une fois, la fidélité autour des communautés transpire au-delà de l’aspect technologique afin de surmonter les problèmes éventuels.

Qu’est-ce que le DAO ?

Le sigle DAO signifie Decentralized Autonomous Organization. Nous pouvons reprendre l’exemple de la conférence, mais le DAO est beaucoup plus puissant. Il vous permet d’acheter des parts dans le DAO et selon les parts que vous avez, vous pouvez voter sur certaines choses. Les rêveurs estiment que le DAO peut remplacer la démocratie et qu’il permet de gouverner tout un pays dans ses moindres aspects.

Il existe différents types de DAOs dans le blockchain d’Ethereum, mais on va s’intéresser au TheDAO qui est une sorte de fond d’investissement. Vous achetez, vous votez sur les investissements que vous voulez faire et vous récupérez les bénéfices. Dans le monde réel, un fond d’investissement est une grande organisation, mais dans le TheDAO, il nécessite simplement quelques lignes de code dans le Blockchain d’Ethereum.

Et ce fond d’investissement a englouti 10 % de toutes les pièces d’Ethereum, soit l’équivalent de 100 millions de dollars sur l’écosystème d’Ethereum qui représente 1 milliard de dollars. Quand vous voulez quitter le fond d’investissement, vous vous séparez de lui. Et cette séparation inclut vos parts de pièces d’Ethereum non dépensé, mais également les Tokens qui représentent les bénéfices sur les investissements que vous avez déjà faits. C’est pourquoi on dit que vous vous séparez par rapport à une sortie de fonds. Vous avez besoin de votre propre fragment de DAO pour garder la trace de vos investissements jusqu’à ce qu’ils vous rapportent les bénéfices désirés.

Comment le TheDAO a-t-il été piraté ?

Quand un membre quitte le fond d’investissement, il déclenche une fonction appelée splitDAO(). Et il y a 2 problèmes. Le premier est que le membre devra fournir son propre code avec la transaction. Ce code permet de dire au DAO où il doit transférer les pièces Ethereum. C’est une fonction nécessaire qui fait partie également du Bitcoin.

Le second problème est que le code d’Ethereum est récursif. Cela signifie que lorsqu’une fonction est lancée, elle peut s’appeler une seconde fois. Et le bug se produit lorsqu’on appelle le splitDAO(). Quand l’appel est effectué, il va appeler le code de tous les récipients pour transférer les pièces Ethereum. Le code des récipients va ensuite appeler de nouveau splitDAO() avant de terminer le processus. Mais avec le bug, cela provoque une répétition du processus en transférant plus de pièces d’Ethereum. En gros, le splitDAO() est déclenché, qui appelle le code du pirate, qui appelle splitDAO(), qui appelle de nouveau le code du pirate et ainsi de suite. Plutôt que d’envoyer le montant désiré à celui qui veut quitter le fond d’investissement, le processus devient une boucle infinie en épuisant toutes les pièces du DAO.

Et quand vous vous séparez de cette manière, le système vous force à attendre 27 jours avant de donner vos pièces d’Ethereum. Et le pirate ne peut pas les utiliser pour le mois qui suit.

Comment récupère-t-on l’argent qui a été perdu ?

C’est impossible. La seule façon de récupérer l’argent volé est de détruire le principe fondateur des cryptomonnaies. C’est comme si vous tentiez de guérir une maladie incurable en tirant une balle dans la tête du patient. Sur le plan théorique, on peut dire que vous avez guéri le patient, mais il est mort.

Une solution est de dérouler le Blockchain avant le vol. Mais dans le processus, tous les gens, qui ont fait des transactions, vont les perdre. Le piratage a couté 100 millions de dollars et le retour en arrière dans le Blockchain couterait 1 million de dollars. En gros, on débourse 1 million pour compenser la perte de 100 millions.

Mais Ethereum, le Bitcoin, le DAO ne sont pas de simples monnaies qu’on crée par des codes obscurs. C’est une manière de penser. Et pour les puristes d’Ethereum, cela revient à utiliser le système corrompu de la finance dans le monde réel. Il faut rembourser les banques parce que c’est la meilleure chose à faire et tant pis si on doit tous subir la perte sur le plan collectif.

Une autre solution est de mettre à jour le code d’Ethereum pour mettre l’adresse du piratage sur une liste noire. Ou encore, on peut insérer une clé magique pour redonner les fonds perdus au TheDAO. Le problème est que le changement du code implique un fork du Blockchain. Les transactions sont ajoutées par les mineurs qui sont un groupe décentralisé de personnes. Cela vous inclut si vous utilisez un logiciel de minage sur votre ordinateur. Les mineurs, qui changeront le code, utiliseront un Blockchain différent par rapport à l’original. Le blockchain sera réparé automatiquement si 51 % des mineurs mettent à jour leur dernier code (qu’on appelle un Soft-Fork). Mais ce sera cassé de manière irrémédiable si on n’a pas atteint pas les 51 %. Dans ce cas, on aura 2 blockchains qui ne pourront jamais se rejoindre (un Hard-Fork).

TheDAO est un système crée par de doux rêveurs

Il y a différents types de personnes qui investissent dans les cryptomonnaies. On a les spéculateurs qui veulent récupérer 10 fois leurs mises. Ceux qui sont un peu curieux, mais on a surtout des cryptoanarchistes qui sont les puristes dans le système. Pour un cryptoanarchiste, une cryptomonnaie doit éviter totalement l’intervention humaine qui est corrompue par définition. Et quand on tente de corriger le problème de TheDAO par l’une des solutions proposées, alors c’est de la corruption. C’est une violation du contrat fondateur du TheDAO. TheDAO stipule que le code est le contrat et il ne doit jamais être supplanté par une réinterprétation humaine. C’est une connaissance tacite que le TheDAO ne doit jamais favoriser les petits créateurs de contrat qui peuvent rencontrer des bugs similaires. Si on commence à compenser la perte des petits actionnaires, alors on chamboule tout le système.

Le droit de changement est réservé aux mineurs qui votent par le logiciel qu’ils vont utiliser. Si on atteint les 51 % de changements, alors on arrive à un consensus, mais aucune autre entité ne doit être favorisée dans Ethereum.

La complexité d’Ethereum est un gros problème de sécurité et il va se répéter dans le futur. Le bug de récursivité nécessite que tous les créateurs de contrat fassent attention lorsqu’ils écrivent leurs codes. Mais actuellement, on ne peut pas résoudre le problème sans un Hard Fork qui concerne le changement total du Blockchain. Et le souci est qu’il y aura d’autres bugs plus dangereux qui vont se produire dans le futur.

Mais la chose fascinante concerne l’évolution d’Ethereum. Dans le passé, les gens recrutaient des avocats pour analyser des contrats complexes. Dans le futur, on devra recruter des hackers pour qu’ils vérifient le code. Après qu’un contrat soit signé, chacun devrait recruter un Hacker à la fois pour vérifier si le code est bon, mais également pour exploiter des failles qui rapporteraient un joli bénéfice.

Dans tous les cas, le concept de base du TheDAO est une utopie totalement inutile. À la base, le Bitcoin a été créé par des personnes qui connaissaient le fonctionnement de la monnaie. TheDAO a été créé par des gens profondément naïfs sur l’investissement. C’est comme si vous mettiez toutes vos économies aux mains de singes savants. L’ambition de TheDAO était de se baser sur la sagesse des foules en estimant que tout le monde fera des choix avisés pour profiter à la collectivité. Mais c’est devenu l’ignorance des monstres où tout le monde pense que personne ne tentera de tromper le système. En fait, ce piratage est bienvenu parce qu’on a compris les limites du système avant qu’il devienne trop important. Si TheDAO avait continué de cette manière, alors ce serait devenu une sorte de pyramide de Ponzi en provoquant l’arrestation de ces créateurs.

Selon l’annonce d’Ethereum, il semble qu’on se dirige vers le blacklistage de l’adresse du piratage pour avoir un fork tout en douceur. Mais le pirate demande qu’il n’y ait pas de fork. En retour, il est prêt à donner un tiers des Ethereum aux mineurs. On peut faire une transaction qui permet de reprendre l’argent volé de l’adresse, qui pose un problème, en le redonnant aux mineurs qui créent de nouveaux blocs. Mais le pirate demande une commission effarante. Cela signifie que potentiellement, le pirate peut contrôler tout le système.

Source :

N'oubliez pas de voter :
1 étoile2 étoiles3 étoiles4 étoiles5 étoiles (No Ratings Yet)
Loading...

Faites un don sur notre page Patreon

Quelle est la fiabilité de cette information ou étude ?


A propos de Houssen Moshinaly

Rédacteur en chef d'Actualité Houssenia Writing. Blogueur frénétique et précaire comme tout blogueur qui se respecte.

2 commentaires

  1. “Le Bitcoin est un registre public (qu’on appelle le Blockchain)” Euh non c’est pas ça du tout, sinon ca voudrait dire que Bitcoin = blockchain.
    Bitcoin est avant tout un système financier(cad une banque centrale, une banque privée, un système de paiement et une monnaie digitale tout à la fois) qui se base sur un registre appelé blockchain dont une des propriétés est d’être public et maintenu de façon décentralisée par des milliers d’ordinateurs à travers le monde

Répondre

Votre adresse email ne sera pas publiée. Les champs obligatoires sont marqués d'une étoile *

*

Timber by EMSIEN 3 Ltd BG