Staking Hub Coda Protocol AMA

From Coda Wiki
Jump to navigation Jump to search

Le 23 septembre 2019, Evan Shapiro, Pranay Mohan et Emre Tekisalp se sont joints à nous pour présenter les mécanismes de mise en jeu (staking) tant attendus du protocole Coda.


Note :

  • Objectif du lancement du réseau principal : Q1 2020
  • Coda ne sera pas lancé avec une fonctionnalité de contrat intelligent
  • Probablement pas de système punitif (bond slashing) ; ni de périodes d’attente (lockup)
  • Le temps de fonctionnement est la clé - les délégués doivent sélectionner les producteurs de blocs en fonction du temps de fonctionnement
  • Coda utilisera une gouvernance hors chaîne

Ce que nous ne savons pas

  • distribution initiale de jetons CODA inconnue
  • taux d'inflation du réseau et paramètres inconnus
  • on ne sait pas comment les décisions de gouvernance seront exécutées

Qu'est-ce que le protocole Coda ?

Le protocole Coda est une minuscule blockchain unique, importante pour plusieurs raisons. Il ne reposera pas sur le fragmentation (sharding), qui est complexe et difficile à mettre en œuvre. Le protocole Coda évitera également le problème de saturation de la blockchain (state bloat), c'est-à-dire une blockchain qui ne s'étend pas à l’infini, ce qui permettra à n'importe qui de synchroniser et de maintenir un nœud complet.

Cependant, il n'est pas prévu d’implanter des contrats intelligents dans l'immédiat, de sorte à ce que Coda ne prendra en charge dans un premier temps que certaines fonctions de calcul en plus des fonctions de transaction standard.


  • Emre Tekisalp (Biz Dev)
  • Evan Shapiro (PDG)
  • Pranay Mohan (Relations avec les développeurs)


Selon Evan, le projet a débuté en milieu d’année 2017 :

Moi-même et Izaak (maintenant notre CTO) voulions élaborer un protocole qui serait plus décentralisé et plus évolutif. Izaak étudiait la cryptographie à Berkeley pour un doctorat à l'époque, et se familiarisait avec les zkSNARK.

À un moment donné, ils ont réalisé le lien entre les zk-SNARK et la décentralisation. Alors que les protocoles existants semblaient déployer trop d’efforts pour télécharger et vérifier les chaînes, ils ont réalisé que les SNARK pouvaient se libérer de ce compromis. Comment ? Les participants pouvaient simplement vérifier une preuve de SNARK pour se synchroniser instantanément avec la chaîne, permettant ainsi des blocs de grande taille et un plus grand nombre de nœuds. Ces percées ont donné naissance à Coda.

Des nœuds complets pour tous ?

Aujourd'hui, selon Emre, il est difficile pour l'utilisateur final moyen d'accéder au réseau Bitcoin sans faire confiance à une tierce partie qui gère un nœud complet. Les développeurs d'Ethereum ont tendance à utiliser des services comme Infura ou Alchemy pour le développement d'applications. O(1) Labs considère ces services comme des points de centralisation qui 1) rendent la blockchain sous-jacente moins fiable et 2) créent une mauvaise interface utilisateur et une mauvaise expérience pour le développeur. Coda devrait permettre à n'importe qui d'exécuter un nœud complet.

L'équipe pense que Coda a une chance de réussir là où les blockchains précédentes ne l'ont pas fait : en tant qu'utilisation de paiement. L'équipe rend Coda plus accessible aux développeurs - vous pouvez exécuter un nœud complet sur une application web ou un appareil IoT - et espère ainsi voir de nombreux autres cas d'utilisation différents.

À quel type de bande passante réseau les développeurs peuvent-ils s'attendre ? Evan nous a dit que cette mesure comme les transactions par bloc et le temps de bloc sera testée dans le prochain testnet. Il prévoit que les choses iront assez vite puisque Coda ne devrait être limité que par le réseau et les calculs locaux.

Le Jeton CODA

Le jeton du protocole Coda, CODA, n'est pas différent du jeton natif des autres blockchains, dans la mesure où il représente la propriété du réseau. Le jeton sera utilisé pour payer les transactions, et de nouveaux CODA seront créés pour payer les producteurs de blocs pour leurs créations. Ce mécanisme d'incitation sera essentiel pour que les différents participants se coordonnent et travaillent ensemble de manière décentralisée.

En plus d'être le jeton natif du réseau, les CODA peuvent être utilisés pour transférer de la valeur, servir de garantie, ou tout ce qu'une réserve de valeur native numérique est capable de faire. O(1) Labs envisage d'utiliser le jeton de façon originale, encore à imaginer, par des applications basées sur le protocole.

Nous ne savons pas encore à quoi ressemblera la distribution initiale (qui sera annoncée par l'équipe), et la politique d'inflation est encore en cours de détermination. O(1) Labs étudie différents modèles inflationnistes qui pourraient lier le taux d'inflation du Coda au taux de participation à la mise en jeu (staking). Consultez notre article pour en savoir plus sur cette relation générale, illustrée à l'aide de Cosmos.

Mise en jeu (Staking)

Bien qu'Ouroboros, le mécanisme de consensus qu'ils ont choisi, n'exige pas de système de punition (slashing), O(1) Labs envisage toujours de l’utiliser pour Coda. Mais cela reste à être déterminé : ils espèrent que les futurs tests réseau leur donneront une indication sur la nécessité ou non d'ajouter ce système.

Lorsque vous misez avec Ouroboros, vous pouvez aller et venir, le temps de fonctionnement peut être considéré comme si on était disponible pour accepter du travail, comme avec Uber ou Lyft. Lorsque votre producteur de bloc (validateur) n’est plus disponible, vous ne travaillez pas ou vous n'êtes pas payé, et lorsque vous revenez en ligne, vous êtes de nouveau dans la partie.

Cependant, le fait d'être hors ligne découragera les délégations. Toute personne ne produisant pas de blocs déléguera probablement, et voudra donc sélectionner les producteurs de blocs les plus productifs. Les récompenses des délégués seront distribuées de manière non privative et pourront être retirées à tout moment. Comme pour le système punitif, un délai de blocage peut ne pas être exigé. Nous verrons dans les prochains tests comment cela se passera, mais Evan espère que le blocage de jeton CODA ne seront pas nécessaires pour miser.

L'inflation sera utilisée pour financer les récompenses des producteurs de blocs Coda, ainsi que les délégués qui les soutiennent. Je parlerai des "snarkers" plus tard, mais vous devez savoir que les snarkers ne participent pas à la mise en jeu.

Les producteurs de blocs (aussi appelés "validateurs")

Bien qu’actuellement les producteurs de blocs sur le réseau test aient besoin de 8 Go de RAM, d'un processeur à 4 cœurs et d'1 Mbps en téléchargement, les GPU produisent des blocs bien plus rapidement. L'objectif de l'équipe Coda est d'avoir de nombreux nœuds de consensus, de sorte à cibler les GPU dédiées aux jeux-vidéos, sans minimum ni maximum de mise en jeu.

La production de blocs sur Coda est destinée à avoir une faible barrière d'entrée afin que chacun puisse exploiter un nœud de consensus chez lui avec les mêmes accès aux incitations protocolaires que celles d'un professionnel de la mise en jeu (staking). Vous voulez essayer le consensus et la mise en jeu? O(1) Labs dispose actuellement d'un réseau test de mise en jeu, qui est destiné à être très facile à mettre en place.

Les producteurs de blocs, sélectionné au hasard en fonction du poids de leur participation, recevront la totalité de la récompense du bloc et des frais de transaction, alors que les délégués recevront une partie au prorata (après déduction des frais de commission). Il semble qu'il n'y ait aucune incitation pour une entité à gérer plusieurs producteurs de blocs, si ce n'est la gestion d'une infrastructure pour aider à la production optimale de blocs.

Tandis que les producteurs de blocs corrompus gaspilleront des calculs en générant des blocs non valables qui seront rejetés par le réseau. Si le nœud communique de mauvaises données au réseau, une diminution du score de confiance peut entraîner une interdiction temporaire.

Décider de la manière de déléguer

Coda vise à éviter les punitions, de sorte à ce que les producteurs de blocs et les délégués n'aient qu'à se concentrer sur la minimisation du coût d'opportunité. Vous ne pouvez déléguer qu'à un seul producteur de blocs par adresse, alors choisissez judicieusement.

J'ai l'impression que pour maximiser les revenus de mise en jeu, les délégants devraient choisir des producteurs de blocs ayant 1) un temps de disponibilité maximum et 2) une latence qui ne dépasse pas le créneau horaire.

Sur le réseau test actuel, la durée des créneaux est de six minutes. Mais ce temps devrait diminuer, peut-être jusqu'à 30 secondes, grâce au défi snark et à sa solution gagnante. Cela aurait permis d'accélérer le Groth16 SNARK de 3,6 fois! Plus la durée du créneau est faible, plus le producteur de blocs aura besoin de puissance de calcul.

Pour participer, les producteurs de blocs auront besoin de snarks, qui peuvent être achetés à des travailleurs snarks, ou "snarkers".

Snarkers (travailleurs de Snark)

Bien qu'un « travailleur de Snark » ne participe pas directement au consensus, il est essentiel pour faire avancer le réseau. Selon M. Pranay, un "snarker" est un nœud qui génère des SNARK pour les transactions. Comme mentionné, les producteurs de blocs doivent acheter des SNARKs aux snarkers (dans ce que l'équipe appelle le "snarketplace") avant de pouvoir diffuser leur bloc.

Les snarkers n'auront pas de permission et ne seront pas obligés de miser, mais ils auront besoin au minimum de 8 Go de RAM, d'un processeur à 4 cœurs, à 1 Mbps en téléchargement. Afin d'augmenter les opérations, il y a une incitation à générer plus de nœuds de snarker. Dans ce cas, Pranay a suggéré d'utiliser un coordinateur snarker comme nœud principal qui transmettrait les requêtes aux nœuds secondaires. Les performances des CPU par rapport aux GPU restent à voir, et le travail de snark portera sur la vitesse et l'efficacité de la production.

Un système de confiance similaire à celui des producteurs de blocs s'appliquera également aux travailleurs de snark (produisez de mauvaises données et vous écoperez d’une interdiction temporaire). Les snarkers doivent fixer un prix équitable afin de vendre avec succès les SNARK aux producteurs de blocs. Je suis curieux de savoir ce qui se passera si des snarkers à prix zéro se présentent et perturbent le marché.

Gouvernance

Les modifications apportées au réseau Coda concerneront dans un premier temps la détection de consensus émergeant sur le réseau, puis les « Hard-Forks ». Nous sommes impatients de connaître les idées d'O(1) Labs sur la gouvernance, dont nous n'avons pas été en mesure de connaître les détails dans cet AMA.

En ce qui concerne une éventuelle fondation Coda, nous n'avons pas non plus reçu de précisions, mais l'équipe se demande si elle aura besoin d'une fondation pour ce qu'elle travaille à accomplir.

L’Avenir

O(1) Labs a terminé la phase 1 du réseau test Coda, alors que la phase 2 vient de commencer. L'objectif de la phase 2 sera de tester la durabilité de chaque réseau et l'ensemble des fonctionnalités qu'ils ont initialement testées lors de la phase 1.

Le défi de la phase 2 concerne les "points testnet", qui n'auront aucune valeur monétaire, mais une phase ultérieure pourrait inclure un testnet incitatif (les détails restent à être annoncer). L'équipe vise le premier trimestre 2020 pour le lancement du réseau principal du protocole Coda.

Vous cherchez d'autres moyens de participer ?

Coda est un logiciel open source, et O(1) Labs vient de lancer son programme de subvention (qui est encore en cours d'élaboration). L'équipe dispose d'une API GraphQL et il reste encore beaucoup de travail à faire. Jetez un coup d'œil et creusez, et contactez Pranay si vous avez une idée qui n'est pas couverte. Rejoignez la communauté Coda sur Discord, où j'ai trouvé l'équipe réactive et serviable.

Remerciements particuliers

Nous remercions tout particulièrement Evan Shapiro, Pranay et Emre d'avoir passé une heure avec Staking Hub pour répondre à nos nombreuses questions, ainsi que Claire Kart pour avoir aidé à l'organisation. Merci à Andrew Cronk pour la co-animation.

Merci à notre communauté Staking Hub pour les questions réfléchies et pertinentes qui ont inspiré des réponses de grande qualité. Puisque vous avez lu jusqu'ici, vous pourriez tout aussi bien nous rejoindre sur Telegram, Staking Hub 🙂

J'espère que vous avez trouvé cela utile. Vos commentaires sont toujours les bienvenus ! Je suis sur Twitter.