Les fameux “smart contracts” d’Ethereum

Voici un papier guest pour garder les idées claires…

Traduit par Renaart d’après le texte original de nextlevelcrypto : https://medium.com/@nextlevelcrypto/whats-the-story-with-smart-contracts-and-ethereum-c0d771fd9eb9/ Relecture : Gregory Guittard et Xavierc

Un “smart contract” (littéralement, contrat intelligent) est un protocole informatique destiné à faciliter, vérifier ou forcer la négociation ou l’exécution d’un contrat.

Le terme “smart contract” a été proposé autour de 1996 par Nick Szabo.

Il a publié des études théoriques formalisées de ces contrats et de leurs propriétés attendues. Il avait même essayé de les implémenter dans son projet Bit Gold.

Il s’avère que les protocoles de crypto-monnaie, à commencer par Bitcoin en 2009, sont devenus l’un des contrats intelligents les plus connus. Ils ont offert la possibilité de parvenir à un accord ou à un «consensus» entre de nombreux participants de manière décentralisée en utilisant diverses méthodes dites “Byzantine Fault Tolerant” (BFT).

De plus, les smart contracts personnalisés construits en seconde couche par dessus des blockchains existantes sont bien nés avec Bitcoin via le “scripting” :

Satoshi Nakamoto a donné à Bitcoin une propriété intéressante qui n’était pas décrite dans le white paper original. Au lieu d’obliger à ce que les bitcoins soient reçues par une clef publique et dépensée par une signature électronique, Nakamoto préféra donner aux utilisateurs la possibilité d’écrire des programmes (appelés scripts), lesquels agissent ensuite comme des clefs publiques et des signatures électroniques dynamiques. (source)

Que peuvent faire les smart contracts de Bitcoin ? Personnaliser les scripts permet aux développeurs compétents de créer des dApps (applications décentralisées), lesquelles sont une combinaison :

  • de comptes multi-signatures,
  • d’oracles,
  • de comptes séquestres (escrow),
  • de time locks,
  • d’échanges inter-chaînes atomiques (atomic cross chain trading),
  • de canaux de paiement (payment channels),
  • d’une loterie multi-parties sans opérateur centralisé.

D’autres éléments constitutifs existent encore, sur lesquels nous ne nous attarderons pas. Le lecteur trouvera plus d’informations s’il le souhaite parmi les liens suivants : mastering bitcoin’s book chapterlotterybitcoinj contractsmaraoz’s summarydavidederosa’s lessonsbitcoin.it wiki, bitfury’s PDFMAST summarystate channels.

Concernant Bitcoin précisément, on peut citer deux exemples d’applications décentralisées bien connues utilisant les outils précédemment décrits, que sont Open Bazaar et Bisq.

Des couches protocolaires additionnelles, telles que Omni ou XCP, ont permis la création de tokens spécifiques, le fonctionnement d’exchanges décentralisés et bien plus sur Bitcoin, et ce depuis 2014 déjà. (ref)

Diverses blockchains montées en parallèle ou à partir de celle de Bitcoin et se reposant sur elle ont ainsi vu le jour, telles Namecoin, Nxt, Bitshares, ou encore Monero.

En 2013–2014, on a aussi vu apparaître des organisations autonomes décentralisées (DAO), des DNS décentralisés, d’autres échanges décentralisés (nxtbts), des dApps ayant pour but le respect de la vie privée, de nouveaux algorithmes de consensus, de modèles basé sur les comptes, des stables coins divers…

Ethereum (2015–2016)

La Fondation Ethereum a bâti sa réputation et axée sa publicité sur la notion de décentralisation, le code inarrêtable et la comptabilité basée sur l’état — des choses déjà existantes dans de nombreux projets. La solution alors déployée en pratique n’était pourtant pas plus rapide que les précédentes déjà sur le marché, et n’apportait pas non plus de nouvelles fonctionnalités autres que les smart contracts “Turing complete”.

De plus, en définitif, il s’est avéré que ces smart contracts basés sur Ethereum n’étaient en réalité pas “Turing complete”, comme confirmé par Vitalik.

Néanmoins, cela a permis de créer des boucles et récursions, soit une réelle “surface d’attaque infinie” avec un scripting et un EVM très peu sécurisés. Comme attendu, la blockchain Ethereum a déjà été attaquée de nombreuses fois, les attaques en question allant dans certains cas jusqu’à rendre la blockchain inutilisable ou à risque, le tout en n’apportant que peu de nouveaux usages (ref1ref2ref3ref4ref5). Souvent le code client était déployé trop vite (geth) et la blockchain entière se trouvait alors à risque. La Fondation Ethereum a ignoré la plupart des principes de sécurité, comme les avertissements de Satoshi au sujet de diverses implémentations, et ainsi, comme attendu, s’est précipité pour faire des modifications (avec le client geth) qui ont menées à des séparations de chaînes et des transactions perdues/annulées. En effet, la plus grande contribution de Ethereum fut de rendre les smart contract utilisés auparavant moins sûrs.

Les découvertes perpétuelles et à n’en plus finir de nouvelles failles de sécurité dans les smart contracts basés sur Ethereum sont même depuis devenues des blagues récurrentes dans la crypto-communauté.

La décentralisation également n’existait pas dans les faits. De nombreux concepts ont été copiés sur les jetons existants alors : les mineurs et les nœuds. Mais les pools de mineurs étaient centralisés (2 mineurs ont plus de 50% du hashpower) et leur manque d’effort pour distribuer les jetons largement avec la preuve de travail semblait évident avec leur 70% de jetons pré-minés et distribués via leur ICO, en dépit de nombreuses autres solutions possibles. Cela a en fait permis à la Fondation Ethereum d’édicter ce qu’ils désiraient sur leur blockchain, tenir les fonds de l’ICO et les mises à jour potentielles en suspens et en otage, et utiliser le pré-minage pour punir les autres en dumpant leurs réserves massives sur les marchés. C’est exactement ce qu’il s’est passé quand certains d’entre eux ont perdus de l’argent sur un contract appelé la DAO. Un bon résumé a été fait pour un des développeurs ayant observé les problèmes avec la Fondation Ethereum et Ethereum :

La Fondation Ethereum a servi d’exemple pur et parfait, démontrant à tous comment le pré-minage et l’ICO mènent à la centralisation, un problème majeur de sécurité. Ils ont même critiqué le débat sur les propositions de changement comme quelque chose de pire que les échecs de consensus potentiels.

La Fondation a adopté cette attitude alors que, dans le même temps, ils poussaient vers plus d’algorithmes contenant des backdoors. Le besoin de leur faire confiance dans le respect du code et la bonne tenue des comptes est en fait le pire problème de sécurité d’Ethereum. Les entités centralisées/de confiance sont des vulnérabilités à exploiter pour des parties tierces :

En dépit de nombreux cris et critiques de la communautés qui ne reçurent aucune autre réponse que le mépris, la Fondation Ethereum continua de s’afficher comme seule plateforme sûre et décentralisée pour les smart contract et ainsi mis de nombreuses personnes en danger. L’Ethereum Entreprise Alliance était un de leurs efforts pour donner aux entreprises du code pour faire leurs propres réseaux modifiés, autres clones privés ou indépendants en échange de l’utilisation de leur noms pour se faire de la publicité. Ils appelaient commodément ces réseaux séparés “Ethereum” en dépit du fait que ces derniers n’avaient en fait aucun rapport avec la chaîne de blocs publique Ethereum ou son jeton ETH — cette terminologie est particulièrement confuse étant donné le nombre infini de clones de Bitcoin qui n’ont jamais été appelé “Bitcoin”. Le code est évidemment seulement une version modifiée par Ethereum Foundation basée sur les efforts et la R&D d’autres développements de nombreuses blockchains concurrentes. Cela a donné au public l’impression trompeuse que ces entreprises étaient en quelque sorte des supporters ou des développeurs sur leur chaîne publique. Par exemple, obtenir que Samsung essaye leur code a donné à Ethereum une popularité énorme en Corée, même parmi les gens qui savaient à peine utiliser un ordinateur. Le nom de J.P. Morgan Quorum a également été associé à tort avec l’utilisation de la chaîne publique Ethereum.

Une tactique récurrente de la Fondation Ethereum a été de rabaisser le travail d’autres, de dépeindre le développement de Bitcoin comme moribond, et de promouvoir leur travail comme unique en son genre.

Néanmoins, le développement de Bitcoin est toujours en cours avec un très grand nombre de développeurs (ex pour le client basique) travaillant sur différentes solutions avec une attention particulière pour la sécurité. Il est assez facile de démontrer à quel point le développement et la recherche sont larges sur Bitcoin :

  • La chaîne de bloc a été mise à jour entièrement avec différents soft fork chaque année avec des tests minutieux et en évitant des séparations de client incontrôlés comme chez Ethereum,
  • Segwit, un des soft fork de 2017, ouvre la voie à de futures mises à jour des fonctionnalités natives de script de Bitcoin pour des développements comme MAST. De nouveaux langages ont également été créés.
  • Elements inclut du travail sur les sidechains, ainsi que les prémices de nouvelles technologies comme les Confidential Transactions et les Schnorr Signatures.
  • Drivechain permet de lier les sidechain 1:1 à Bitcoin et à l’utilisateur de déplacer des tokens liés de chaîne en chaîne avec plus de rapidité avec les risques de sécurités qu’il trouvera acceptables,
  • Une de ces sidechains est Rootstock qui amène toutes les potentialités de l’EVM à Bitcoin sans la Ethereum Foundation, avec des modifications, sans exposer la chaîne de blocs initiale à des risques surnuméraires.
  • Les solutions de réseaux en seconde couche (et plus) permettant d’augmenter la capacité en terme de nombre de transactions, comme le Lightning Network, figurent parmi les efforts de recherche blockchain les plus partagés par les développeurs, avec plus de 5 équipes travaillant sur le projet (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15). Rootstock a également ses propres solutions de couches 2, comme Lumino.
  • Sharding et les tree-chains (1,2,3,4) sont d’autres exemple du travail d’amélioration discuté dans les conférences.

Ethereum a réussi l’exploit de se présenter comme l’inventeur de roues pourtant déjà existantes, que ce soit en ce qui concerne les smart contracts, les childchains, les réseaux type lightning, ou encore les ICO, avec une fâcheuse tendance à ne pas créditer le travail antérieur à qui de droit. Cependant, l’étonnante capacité de leur communauté à donner de l’argent pour de simples white paper semble être la plus grande attraction et contribue à donner l’impression de nombreux développements, mais les montagnes ont souvent accouché de souris en définitif, sans qu’il soit rare que des projets disparaissent après la levée de fond. Des projets comme etherdelta, Ox et de nombreux autres n’ont rien amené de nouveau par rapport à ce qui se fait depuis 2013–2014, à la nuance que ces choses se font désormais sur une chaîne de bloc centralisée (Ethereum) — en capitalisant sur la désinformation au sujet de Ethereum et du manque de connaissance du travail passé sur les autres véritables chaînes de blocs antérieures. Des jeux d’échange de cartes comme Spless of Genesis sur Bitcoin ou encore XCP comptèrent parmi ces nombreux exemples d’introduction dans un jeu vidéo d’actifs échangeables, en utilisant les chaînes de blocs crypto-monétaires comme base, et ce n’est que bien plus tard que CryptoKitties a été faussement marqueté comme l’invention des échanges d’actifs dans les jeux.

Ethereum a un historique de failles de sécurité innombrables, mettant en danger de nombreuses personnes, et reposant tantôt sur la désinformation, tantôt sur des développeurs qui ne semblent pas comprendre les bases de l’informatique. Le tableau final n’amène aucune enfin contribution technique positive à l’écosystème des crypto monnaies. En effet, Ethereum n’a rien à voir avec la décentralisation ou les smart contracts décentralisés. Les dangers du pré-minage et de l’ICO sont encore peu remarqués de par leurs campagnes de marketings fructueuses, en permettant voire en incitant les mêmes comportements fallacieux sur d’autres blockchains nouvellement créées, avec jusqu’à 30–50% de jetons réservés (OmiseGo, Neo, Cosmos). Plus de transactions que jamais sont à risque avec un modèle de sécurité basé sur la confiance centralisée, un équivalent à Paypal ou Onecoin. Sans apprendre, ils continuent de marqueter et d’ignorer les concepts de sécurité qui nous ont donnés des chaînes de bloc décentralisées et résistantes à la censure.

Le point le plus important de cette histoire est en fait que, n’ayant pas écouté les utilisateurs et les professionnels qui ont critiqué les failles importantes d’Ethereum dès sa conception, telles que le pré-minage et la mauvaise distribution des actifs, la Fondation Ethereum a conduit à la centralisation en pratique. De plus, du fait du manque de sécurité de cette technologie ainsi appliquée, la situation finale n’est pas tant différente que celle qui prévalait à l’ère pré-Satoshi… Elle est même sans doute pire. Ils ont ignorés les plus gros problèmes théoriques et continuent de viser des groupes de nouvelles personnes qui n’ont aucune connaissance en rapport avec ces multiples facettes du sujet crypto-monétaire. Au lieu de se concentrer sur la technologie, le groupe Ethereum a obtenu de bien meilleurs résultats en augmentant leur base utilisateur avec le marketing, en se créditant du travail d’autres, en décrivant leur système faussement “décentralisé” ou bien encore répétant le leitmotiv mensonger “Ethereum, c’est Bitcoin, mais avec les smart contracts”. Le large financement par le pré-minage massif a donné aux projets ICO un budget marketing énorme. Cela a créé un décalage dans lequel les nouveaux entrants dans l’écosystème sont exposés à des risques multiples et protéiformes, normalisant et récompensant les pratiques non sécurisées et irréversibles comme menant vers de nouveaux sommets.

Pour illustrer ce que cette tactique de support aveugle de la politique de la Fondation Ethereum a provoqué, je vais conclure en vous présentant sans commentaire le tweet de Vinay Gupta, release coordinator de la Fondation Ethereum :

Contactez-nous

Utilisez ce formulaire pour nous contacter, nous vous répondrons dans les 24 heures!

En cours d’envoi

©[2018] Cryptojournal.fr - Décryptage de la révolution Bitcoin, comment acheter du Bitcoin

Présentation de notre Equipe - Mentions légales - Avertissements sur les risques - Contactez l'équipe CryptoJournal.fr

ou

Vous connecter avec vos identifiants

Vous avez oublié vos informations ?