Ethereum : l’avant-garde des monnaies numériques ?

17
233

Traduction d’un article de Fred Ehrsam, cofondateur de Coinbase, publié hier sur medium.com :

« Voilà trois ans que les seules applications qui émergent de Bitcoin sont des portefeuilles et des échanges. Pourquoi cela ? Ma théorie est que le langage de script de Bitcoin – la partie de chaque transaction qui permet d’exécuter un petit programme – est trop restrictif. »

« Arrive Ethereum. Ethereum a transformé ce qui dans Bitcoin n’était qu’une calculatrice à quatre fonctions, en un ordinateur à part entière. Cela fait aujourd’hui seulement neuf mois que le réseau Ethereum a été lancé et l’activité de développement d’applications est d’ores et déjà plus intense que dans Bitcoin […]. Exemple récent : on a conçu une organisation décentralisée (The DAO) – une initiative centrée autour du code et dont les opérations périphériques sont gérées par des humains (plutôt que l’inverse) – qui a soulevé pas loin de 150 millions de dollars. C’est, à l’heure actuelle, la plus grande opération de crowdfunding jamais menée.

Pour être clair, je ne souhaite pas prendre parti dans une compétition entre Bitcoin et Ethereum ; Coinbase prévoit d’ailleurs de soutenir fermement l’un et l’autre. Je pense que notre préoccupation centrale c’est avant tout de faire avancer les monnaies numériques autant que nous le pouvons. Néanmoins, il y a beaucoup de points communs entre les deux systèmes, la comparaison est donc utile car le potentiel de concurrence est réel.

 

Comment est-on est arrivé à cette situation ?

Tout d’abord un peu d’histoire : Lorsque le livre blanc de Bitcoin a été publié en 2008, c’était tout à fait révolutionnaire. La quantité de concepts qui s’agençaient de façon ingénieuse – l’informatique, la cryptographie, les incitations économiques – était étonnante. Lorsque le réseau Bitcoin a été lancé en 2009, personne n’était réellement conscient de cela et les rares qui s’y intéressaient pensaient que le projet échouerait probablement. Pour optimiser les chances de réussite, le langage de script de Bitcoin était volontairement extrêmement restrictif […]. Ce langage de script est cependant fondamental car c’est ce qui fait de Bitcoin une monnaie programmable. Au sein de chaque transaction Bitcoin on a la possibilité d’écrire un petit programme. Par exemple, nous pourrions préciser qu’une transaction n’est pas valide avant le 15 juin 2016. C’est très puissant parce que cela vous permet de transférer des fonds automatiquement […] en suivant des règles que tout le monde peut vérifier.

L’émergence de Bitcoin et sa pérennité après sept ans d’existence est une chose incroyable. C’est le premier réseau qui permet à quiconque, partout dans le monde, d’accéder à un système financier fondamentalement ouvert à l’aide d’un logiciel libre. Sa capitalisation boursière tourne autour de 7 milliards de dollars et Bitcoin n’a jamais connu problème systémique qui n’a pu être fixé. Pour certains, c’est déjà un grand succès en soi.

Pour autant, au bout de 7 ans Bitcoin ne propose que quelques applications et aucune “killer apps” au-delà de la réserve de valeur et de la spéculation. Le langage de script de Bitcoin reste très peu développé et très restrictif. Alors que Bitcoin s’est enlisé dans le débat sur la taille des blocs – un sujet important pour la santé du réseau […] – Ethereum découvrait de nouveaux territoires conceptuels et techniques.

Ne vous méprenez pas : Ethereum n’aurait jamais existé sans un précurseur comme Bitcoin. Cela dit, je pense qu’Ethereum est en avance sur Bitcoin à bien des égards et représente aujourd’hui la pointe de la monnaie numérique. J’en suis convaincu pour plusieurs raisons :

 

Le langage de programmation d’Ethereum permet de faire beaucoup plus de choses que celui de Bitcoin.

Comme mentionné ci-dessus, le langage de script de Bitcoin est volontairement restrictif. Vous pouvez comparer cela à la programmation avec une calculatrice graphique avancée : les fonctionnalités sont limitées. Par conséquent, vous ne pouvez faire que des choses très simples. Ce langage est en outre difficile à appréhender et à utiliser. Alors que de la plupart des langages de programmation modernes se lisent comme des phrases, il n’est guère plus intelligible qu’un langage machine. En conséquence, il a fallu à Mike Hearn, un talentueux développeur de Google, plus de huit mois pour écrire une première version d’une application crowdfunding assez simple .

En revanche les langages de programmation d’Ethereum – Solidity pour ceux qui aiment Javascript, Serpent pour ceux qui préfèrent Python – vous permettent de faire à peu près tout ce qu’un langage de programmation avancé permet de faire. Voilà pourquoi ils sont dits “Turing complet”. Tout aussi important, ils sont faciles à utiliser. N’importe quel développeur est en mesure de s’en emparer facilement et d’écrire assez rapidement une première application.

Voici un exemple d’un script dans Bitcoin :

OP_DUP OP_HASH160 62e907b15cbf27d5425399ebf6f0fb50ebb88f18 OP_EQUALVERIFY OP_CHECKSIG

Voilà un script d’Ethereum :

contract Simple {
    function() {
        var two = 1 + 1;
    }
}

Les développeurs de Coinbase n’ont guère mis plus de deux jours pour écrire quelques applications simples pour Ethereum.

Je ne peux qu’insister sur l’importance de cette combinaison : un langage de programmation complet et une grande facilité d’utilisation. Les gens réalisent des choses avec Ethereum qui ne sont pas possibles actuellement avec Bitcoin. Cela a permis l’émergence d’une nouvelle génération de développeurs qui n’ont jamais travaillé avec Bitcoin mais qui s’intéressent à Ethereum.

Bitcoin pourrait également mettre en oeuvre des fonctionnalités avancées, mais ce serait à travers une série d’autres couches qui fonctionneraient sur le protocole et qui n’ont pas encore été créées, avec Ethereum c’est livré dans le même carton.

Au-delà de la différence radicale des langages de script, les outils de développement sont beaucoup plus avancés pour Ethereum. Bitcoin n’est jamais parvenu à développer un ensemble d’outils conviviaux et cela fait cruellement défaut […]. Ethereum, avec ses tutoriels et son environnement de développement (Mix IDE), a rendu la vie des développeurs beaucoup plus facile.

 

Ethereum repose sur une communauté de développeurs plus solide

La communauté des développeurs en Bitcoin est en sommeil. Bitcoin n’a jamais vraiment franchit le stade des simples portefeuilles et des échanges. La seule chose notable publiée récemment c’est une mise en œuvre du Lightning Network (une façon d’améliorer les transactions, en particulier micro-transactions) appelée Thunder. Il s’agit d’une surcouche et non d’une application et cela pourrait fonctionner à la fois avec Bitcoin et Ethereum.

La communauté des développeurs d’Ethereum est en revanche dynamique et en pleine croissance. Plus important encore, des initiatives entièrement nouvelles sont testées sur Ethereum. Si la plupart ne sont encore que des expériences ou de simples jouets pour l’instant, la liste des applications à l’étude se développe rapidement […].

Toutes ces expériences sont fondamentales. La seule raison pour laquelle ces réseaux (Bitcoin, Ethereum) et leurs tokens (bitcoin, ether) ont une valeur, c’est parce qu’on espère qu’à l’avenir davantage de gens chercheront à acquérir ces tokens pour utiliser le réseau. Seuls les développeurs, en créant des applications, peuvent provoquer cette demande. Si on n’a aucune raison d’utiliser un réseau, ni ce réseau ni son token n’ont la moindre valeur.

 

L’équipe de développement de base de Ethereum agit en bonne entente alors que celle de Bitcoin dysfonctionne

Vitalik Buterin, le créateur de Ethereum, a été reconnu dès l’origine en tant que leader d’un projet open source. C’est à la fois un leader technique et le leader d’une communauté et il est à l’aise dans les deux rôles […]

En revanche, Bitcoin souffre d’une absence de leadership depuis que Gavin Andresen s’est éloigné après son différend avec d’autres développeurs de Bitcoin Core qui ont refusé de le suivre dans ses propositions sur la taille des blocs, malgré des arguments (à mon avis) rationnels et convaincants. Sous sa forme actuelle, le groupe des développeurs principaux reste d’ailleurs plutôt fragmenté.

Avec cette absence de leadership, la gouvernance de Bitcoin est peu transparente et la situation n’est pas saine. Greg Maxwell, leader technique de Blockstream qui emploie une partie importante des développeurs principaux, a récemment dénigré d’autres développeurs qui travaillaient avec les mineurs sur un compromis autour de la taille des blocs en les traitant d’imbéciles bien intentionnés. La mise en place d’un second forum de discussion a été nécessaire sur reddit, /r/btc, pour contrer la censure de l’original /r/bitcoin. Résultat : le contenu sur les forums de discussion Bitcoin ressemble à des chamailleries tandis que celui d’Ethereum est riche de questions pertinentes et de nouvelles idées. En résumé, Ethereum (et par conséquent sa communauté) va de l’avant alors qu’avec Bitcoin les choses doivent systématiquement mal tourner avant de pouvoir éventuellement s’arranger.

 

Ethereum est dans un état d’esprit de croissance alors que Bitcoin souffre d’un sentiment trompeur d’accomplissement

L’état d’esprit général des deux communautés est très différent. Beaucoup, dans Bitcoin, ont le sentiment trompeur qu’ils sont les garants d’un réseau très précieux qu’ils doivent à tout prix protéger. À mon avis cette attitude est inappropriée et dangereuse. Avec 200 millions de dollars de volume d’échange quotidien et 10 millions d’utilisateurs, Bitcoin est encore loin des grands réseaux financiers internationaux (Visa 18 milliards de dollars / jour, SWIFT 5000 milliards / jour et des milliards d’utilisateurs). Si le nombre de transactions quotidiennes sur le réseau Bitcoin augmente à un rythme régulier, le volume en dollars ne se développe pas beaucoup.

Pendant ce temps l’équipe de développement d’Ethereum se concentre. Cela parait évident quand on parcourt le blog d’Ethereum. Quand j’ai commencé à le lire, j’y ai retrouvé tout ce que j’envisageais pour le présent et l’avenir de Bitcoin mais qui n’est jamais discuté : la mise à l’échelle du réseau, la viabilité du proof of stake, comment créer une monnaie numérique stable, à quoi pourrait ressembler une entreprise basée sur la blockchain (DAO), entre autres sujets. Ce sont des idées très ambitieuses et certaines ne verront sans doute pas le jour. Mais d’autres fonctionneront probablement, et constitueront des avancées importantes – passer au proof-of-stake et éliminer l’exploitation minière physique étant l’une des plus prometteuses.

 

Ethereum accélère les évolutions techniques et donne plus de cohérence au protocole de base

Bitcoin est resté coincé pendant un an et demi sur un débat autour de la taille de blocs. Quelques améliorations mineures ont été apportées (CHECKLOCKTIMEVERIFY pour activer la fonctionnalité de verrouillage mentionnée précédemment), et d’autres sont en développement, mais ne sont pas encore activées (Segregated Witness pour rendre le réseau plus efficace). Aucun de ces changements n’a pour l’instant permis de relancer le développement d’applications.

Pendant ce temps, sans même parler de son langage de programmation plus robuste, Ethereum a évolué au cœur même de son fonctionnement. L’exploitation minière permet désormais des blocs beaucoup plus rapides, diminuant les temps de confirmation des transactions :  environ 14 secondes sur Ethereum et toujours 10 minutes pour Bitcoin […].

 

Mises en garde et contre-arguments

Ethereum est un projet récent et il est prudent de mettre en évidence les risques :

– Jusqu’à lors, si Ethereum a été en mesure de prendre plus de risques avec de nouvelles fonctionnalités, c’est aussi parce qu’il y avait moins à perdre. Pour l’essentiel de son histoire, Ethereum a pesé quelques centaines de millions de dollars, Bitcoin pèse des milliards. Avec sa croissance, Ethereum ne sera peut-être bientôt plus en mesure de changer aussi rapidement et de prendre le risque de casser des choses. Dans la pratique, je pense que cela dépendra surtout de la qualité de l’équipe de développement – si elle continue à faire des progrès et conserve la confiance de la communauté, les évolutions pourront rester rapides […].

– Ethereum n’a pas connu de crise de gouvernance. Vitalik a reconnu cela lors d’un meetup Ethereum à Coinbase. Comme tout projet qui a du succès, il est inévitable qu’il rencontrera des obstacles à mesure que les intérêts en jeu deviennent plus grands.

– Ethereum vous permet de faire plus que ce que vous pouvez faire actuellement avec Bitcoin, ceci apporte un risque accru de réglementation. Il ne s’agit pas d’un risque systémique pour Ethereum en tant que un réseau, mais d’un risque pour des applications spécifiques de l’Ethereum. L’exemple typique est celui des organisations décentralisées (Exemple : The DAO) et de la régulation qui serait normalement applicable à une société.

– Il y a plus de risques de sécurité avec Ethereum. Avoir un langage de programmation plus complet expose le système a davantage de  problèmes. Bitcoin a subi l’épreuve du feu pendant 7 ans, Ethereum n’existe vériatblement que depuis 9 mois et représente à présent environ un milliard de dollars. Bien qu’il n’y ait pas encore eu de problème majeur, il est possible qu’il y en ait à l’avenir et que personne ne soit en mesure de les repérer aujourd’hui. Cette probabilité diminue cependant à chaque jour qui passe. Les gens vont certainement créer des contrats intelligents contenant des bugs dans Ethereum, mais ce ne sera pas à cause d’une défaillance du protocole de base d’Ethereum, un peu comme l’échec de MtGox n’est pas la conséquence d’une erreur du protocole Bitcoin.

– Ethereum va sans doute tenter de passer au proof-of-stake. Ce serait une percée énorme si ça fonctionne puisque ça éliminerait la nécessité d’une preuve de travail ainsi que l’ensemble du matériel et la consommation d’électricité qui va avec, mais cela présente aussi un grand risque. Je crois cependant que ce risque est gérable parce qu’il y aurait des tests approfondis au préalable.

– La mise à l’ échelle du réseau est plus difficile quand il prend en charge des petits programmes, en plus de traitement des transactions de base. Ce fut ma plus grande réserve quand j’ai commencé à m’y intéresser en 2014. Bien qu’il n’y ait pas de solution miracle à cela, je pense qu’une combinaison de solutions sera développée au fil du temps. Les pistes actuelles sont le fractionnement du réseau (sharding) [1].

 

Attendez… est-ce un concours ? Bitcoin et Ethereum sont-ils concurrents ou complémentaires ?

Cela reste à voir. Il est possible que Bitcoin reste le protocole que les gens utiliseront pour stocker la valeur car il est plus stable et fiable. Cela permettrait à Ethereum de continuer à prendre des risques en essayant des nouveautés moins testées. Dans ce scénario, Bitcoin serait davantage un réseau de règlement tandis qu’Ethereum serait utilisé pour exécuter des applications décentralisées. Les deux pourraient donc tout à fait être complémentaires.

Ce qui est très réel, cependant, c’est la possibilité qu’Ethereum efface Bitcoin entièrement. Il n’y a rien que Bitcoin peut faire qu’Ethereum ne peut pas réaliser. Ethereum n’a connu ni l’épreuve du feu ni celle du temps, mais il évolue plus vite, a un meilleur leadership, et réunit davantage de développeurs. Développeurs → applications → utilisateurs → succès du réseau. La position du leader [Bitcoin] est difficile remettre en cause, mais au rythme actuel c’est concevable.

 

Qu’est-ce que tout cela signifie?

Ce ne sont que de très bonnes nouvelles pour les monnaies numériques. Ethereum repousse les limites et je suis plus enthousiaste que jamais. La concurrence de nouvelles idées optimise les résultats pour tout le monde. Même si Ethereum explose en vol, nos connaissances collectives concernant les monnaies numériques décentralisées auront augmenté de façon significative. Je n’ai pas renoncé à Bitcoin et il est difficile d’argumenter contre un réseau qui a été si résilient. J’ai donc l’intention, avec Coinbase, de soutenir les deux à la fois. A l’avenir nous soutiendrons probablement encore d’autres choses qui n’ont pas encore été inventées. Je n’ai prêté allégeance à aucun réseau en particulier et je soutiendrais celui qui apporte le plus de bénéfice à tout le monde […].

Les monnaies numériques forment un champ d’expérimentation unique en raison de l’ambition qu’elles portent : la création d’un meilleur réseau de transaction pour le monde entier (pour la monnaie, les actifs, nos identités en ligne, et bien d’autres choses). Comme l’Internet lui-même, ce n’est pas une entreprise qui vend son propre produit breveté, c’est une série de protocoles qui finiront par relier tout le monde un jour. Et, comme l’Internet, cela prendra du temps pour se développer… mais l’impact sera immense.

Attachez vos ceintures ! »

 


[1]  « L’idée derrière le sharding est qu’à la place d’avoir chaque nœud du réseau qui vérifie toutes les transactions, on réunit ces transactions en groupes et on attribue ces groupes aléatoirement à des sous-groupe de nœuds, qui sont chargés de les vérifier. Ensuite, seul un hash du bloc et le « state » est ajouté dans une « header chain » qui est vérifiée et téléchargée par tous les nœuds. En théorie, si le mécanisme de sélection aléatoire des nœuds est bien sécurisé, une personne qui veut attaquer la blockchain devrait alors contrôler plus de 40 % du réseau pour compromettre un seul shard (sous-groupe). Et ce fonctionnement permet au réseau de traiter de nombreux groupes de transactions en parallèle, ce qui améliore sensiblement la rapidité de traitement des transactions. A long terme, il sera possible de concevoir un système dans lequel il n’y aura aucune limite au nombre de transaction que le réseau pourra traiter. Le réseau deviendra de plus en plus puissant pour chaque nouveau node participant… » – Vitalik Buterin (source : ethereum-france.com)