Deuxième partie de l’interview de Vitalik Buterin réalisée par Quentin de Beauchesne, les membres de la communauté CryptoFR et moi-même. La première partie est disponible ici. Cette seconde partie aborde des questions plus techniques telles que le Proof of Stake, le sharding ou Casper.

Les questions posées par les membres sont attribuées à leurs auteurs entre parenthèses, les questions non attribuées étant posées par Quentin ou moi-même. Les réponses ont été légèrement reformulées pour en faciliter la lecture.

La prochaine version d’Ethereum est Metropolis, quelles nouveautés sont-elles prévues? D’ici à combien de temps pourrions-nous la voir arriver ? À l’automne avec la DEVCON2 ou même avant ?  (djinou)

Nous travaillons actuellement sur plusieurs choses :

  • La première c’est un « client léger » (light client), pour qu’on puisse utiliser Ethereum avec un smartphone, un appareil de Slock.it, etc. Nous travaillons dessus depuis 4 mois et nous avons une version « alpha » opérationnelle, il reste cependant beaucoup de travail pour finaliser le protocole.
  • La deuxième, c’est Mist, le « navigateur du Web décentralisé« . Nous agrandissons l’équipe qui travaille sur ce projet, et pensons que c’est un projet important pour améliorer la facilité d’utilisation d’Ethereum pour les gens « normaux ».
  • La troisième c’est un « hard fork » du protocole, qui comprend des changements pour augmenter l’efficacité, faciliter le développement d’applications sur Ethereum qui utilisent des méthodes de cryptographie complexe (signatures cycliques, etc), faire les premiers étages de « l’abstraction » (plus d’infos ici), et quelques autres modifications mineures.

Nous ne pouvons pas prédire quand on va finir tous ces chantiers, et il est donc impossible d’annoncer avec certitude lesquelles feront partie de Metropolis, ni quand Metropolis sortira. Peut-être que le hard fork sortira en même temps que la DEVCON2, mais nous ne pouvons pas le promettre.

A propos de Mist, il y a de gros problèmes de synchronisation actuellement, est-ce un point phare dans son développement ?

La synchronisation est un problème très important ; dans la version la plus récente nous avons ajouté un protocole de synchronisation rapide avec lequel on peut synchroniser toute la chaîne en moins d’une heure. Avec un ordinateur rapide et une bonne connexion, certains ont réussi à synchroniser toute la blockchain en six minutes ! Casper va aussi beaucoup améliorer cette situation ; j’espère que nous arriverons à rendre la synchronisation presque instantanée.

Quelques questions sur Casper. Tout d’abord, Casper est-t-il bien le nom de l’algorithme PoS d’Ethereum ou cela englobe plus de choses ?

Oui, Casper c’est le nom de l’algorithme POS sur lequel nous travaillons.

Nous avons aussi une activité de développement en cours sur la scalability (capacité à monter en charge), mais c’est à plus long terme. Nous parlons souvent de ces deux sujets en même temps mais il est très important de ne pas oublier que Casper et scalability sont deux sujets différents.

Simple curiosité, mais d’où vient le nom « Casper » ? (sachant que GHOST est l’acronyme pour Greedy Heaviest Observed Subtree)

Certaines idées du protocole Casper sont basés sur les principes de GHOST, d’où Casper (https://en.wikipedia.org/wiki/Casper_the_Friendly_Ghost)

Comment définirais-tu Casper par rapport aux solutions existantes (bitshare, nxt, peercoin, blackcoin…) ? Est-ce une solution totalement différente ou s’inspire-elle principalement d’une solution existante ?

Casper c’est une combinaison de plusieurs idées, y compris Slasher (ma première idée du protocole PoS), la théorie du consensus tolérant aux défauts byzantins, un peu de NXT.

Nous utilisons la théorie du consensus tolérant aux défauts byzantins, la théorie de jeux et les autres idées des mathématiques et de la cryptographie pour réaliser un protocole qui fournit les garanties du sécurité, vitesse, finalité, etc. le mieux possible.

Slasher c’est une solution contre le problème du « nothing at stake » ? (la première critique que l’on fait au Proof of Stake en général)

Casper est beaucoup plus avancé, sa conception de « consensus par le pari » est une version plus générale des idées de slasher.

Casper a-t-il également pour objectif de réduire le temps de bloc ? Si oui, quel est l’objectif de temps de bloc avec l’arrivée de Casper ? (daboloskov)

Oui, c’est un de ses objectifs. Nous essayons d’atteindre une seconde, mais ce n’est pas garanti. Au mieux nous espérons 1 seconde ou 0.5 secondes, au pire 4-8 secondes pour la première version.

L’objectif principal dans cette réduction du temps, c’est accélérer l’exécution des contrats ?

Oui, faciliter l’utilisation des dApps est très important et les utilisateurs ne veulent pas attendre 14 secondes pour confirmer chaque opération. 14 secondes, c’est déjà bien mieux que 10 minutes (ndlr : le temps entre deux blocs sur la blockchain Bitcoin), mais ce n’est pas parfait.

Revenons aux paramètres. Avez-vous déterminé une fourchette de valeurs pour le pourcentage d’inflation de Casper ? (généralement de 2% pour beaucoup de projets PoS) (jilan)

Avec Casper, cela sera peut-être un peu plus élevé, parce qu’il faut verrouiller son ether et qu’on ne peut pas le toucher pendant 4 mois. Cela fonctionne comme un « compte épargne ».

Les 4 mois sont-ils déterminés par l’algorithme ? Ou est-ce la personne qui stake qui va décider du temps ?

C’est déterminé par l’algorithme.

Est-ce qu’Ethereum pourrait abandonner l’idée de passer en PoS si, dans un an par exemple, une solution technique n’était pas trouvée ? (Et travailler sur le PoW dans ce cas-là ?)

Ce sera 100% PoS. Les mineurs savent que le réseau sera PoS. Actuellement ils estiment qu’ils auront assez du temps pour rembourser leur investissement, mais quelques mois avant le déploiement du PoS je pense qu’il n’y aura plus de nouveaux mineurs.

Si je dois traiter des pics de transactions (20k tx/h sans attente de blocs), est-ce qu’Ethereum a pour ambition d’absorber une charge de cet ordre à terme ou est-ce qu’il faut s’orienter vers autre chose ? (anw)

Oui, à long terme, c’est notre objectif. C’est le « sharding ».

Quelle est l’idée derrière ce ‘sharding’ ?

L’idée derrière le sharding est qu’à la place d’avoir chaque noeuds 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 noeuds, qui sont chargé 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 noeuds.

En théorie, si le mécanisme de sélection aléatoire des noeuds  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…

Commentaires

Commentaires

  1. Ethereum : l'avant-garde des monnaies numériques ? – Bitcoin.fr
    25 mai 2016 - 22h42

    […] [1]  « L’idée derrière le sharding est qu’à la place d’avoir chaque nœuds 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é 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) […]

    Répondre
  2. Ethereum : l'avant-garde des monnaies numériques ? – Bitcoin news
    26 mai 2016 - 21h07

    […] [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) […]

    Répondre
    Ethereum : l'avant-garde des monnaies numériques ? - MiningCave
    31 mai 2016 - 14h16

    […] [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) […]

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *