Dans la tête d’un développeur de blockchain : Qu’est-ce qu’un testnet ?

Cointelegraph suit le développement d’une toute nouvelle blockchain, de sa création au mainnet et au-delà, dans le cadre de sa série Inside the Blockchain Developer’s Mind. Dans les parties précédentes, Andrew Levine de Koinos Group a discuté certains des défis l’équipe a été confrontée depuis l’identification des problèmes clés qu’elle entend résoudre et a décrit trois des « crises » qui freinent l’adoption de la blockchain : évolutivité, évolutivitéet gouvernance.

Les testnets blockchain sont un sujet intéressant car ils se présentent sous toutes les formes et toutes les tailles. Dans ce billet, mon objectif est donc de mettre à profit mon expérience interne en tant que PDG de Koinos Group (développeurs de Koinos) pour démystifier les testnets et peut-être donner un aperçu de la raison pour laquelle ils semblent avoir un tel impact sur le prix.

L’endroit le plus évident pour commencer est le nom : testnet. Le but d’un réseau de test est de tester a nettravail. A un niveau très élevé, il y a deux « saveurs » de testnet. La première est un testnet qui est publié avant un mainnet (réseau principal), et la seconde est un testnet qui est publié après qu’un mainnet soit déjà en opération. Les fonctions qu’ils remplissent sont similaires, mais le contexte dans lequel ils sont publiés a un impact considérable sur la perception et l’impact de la publication.

Je vais commencer par le deuxième type de testnet car, d’une certaine manière, c’est le contexte le plus simple. Lorsque vous parlez de réseaux existants comme Bitcoin et Ethereum, les réseaux de test ont deux fonctions principales. La première est qu’ils constituent un environnement réel dans lequel les développeurs peuvent tester leurs applications décentralisées. Tout bon développeur sait qu’il n’existe pas de code parfait, c’est pourquoi les testnets offrent aux développeurs un environnement très similaire à la « chaîne principale » (par exemple Ethereum) dans lequel ils peuvent tester leur code avec un risque effectivement nul. Les choses qui tournent sur un testnet sont censées se briser et les jetons utilisés sont censés être sans valeur.

Voir aussi : La bifurcation de Londres entre dans le testnet d’Ethereum alors que la bombe de difficulté est retardée.

Ainsi, les testnets sont un environnement qui permet aux développeurs d’applications décentralisées (DApp) d’augmenter la valeur de leurs applications (c’est-à-dire de les améliorer) précisément parce qu’il n’y a aucune attente de fonctionnalité complète ou de création de richesse. En un sens, la valeur d’un réseau d’essai découle de son absence de valeur.

Développeurs de DApp et développeurs de blockchain

Mais les réseaux d’essai ont une double nature, ce qui nous amène à la deuxième fonction des réseaux d’essai, qui profite non pas au développeur de DApp, mais au développeur de plateforme (dans notre cas, le développeur de blockchain). Une chose que j’ai été surpris de voir de mon point de vue unique est la fréquence à laquelle les développeurs de DApp sont confondus avec les développeurs de blockchain. En général, les personnes qui écrivent des contrats intelligents ne sont pas des développeurs de blockchain, et les développeurs de blockchain passent généralement très peu de temps à écrire des contrats intelligents.

Ironiquement, Koinos jette une énorme pierre à cette distinction car l’ensemble de son système est mis en œuvre sous forme de contrats intelligents ! Comme les contrats intelligents de Koinos sont évolutifs, cela signifie que n’importe quelle fonctionnalité peut être ajoutée à la blockchain sans hard fork, mais cela signifie aussi que les personnes qui développent la blockchain (comme les membres du groupe Koinos) utilisent et développent la même chaîne d’outils et la même boîte à outils que les développeurs utiliseront pour construire leurs DApps. Mais il s’agit d’une caractéristique totalement unique à Koinos, donc nous pouvons mettre cela de côté pour le bien de cette discussion.

Dans toutes les autres blockchains, les développeurs de blockchains doivent développer des mises à jour dans le langage de programmation dans lequel la blockchain est écrite (C++, Rust, Haskell, etc.), et ils travaillent sur un système très vaste et compliqué appelé « architecture monolithique ». Dans les architectures monolithiques, la modification de n’importe quelle partie du système peut avoir un impact sur n’importe quelle autre partie du système, de sorte que le risque lié aux modifications est d’autant plus élevé.

Les développeurs de blockchain ont également besoin d’un environnement réel avec de faibles enjeux qu’ils peuvent utiliser pour tester leurs changements et voir ce qui casse. Comme les développeurs d’applications, ils veulent que cet environnement soit aussi proche que possible du réseau réel, ce qui signifie qu’ils veulent que leur code interagisse avec le code que les développeurs d’applications exécuteront également.

Les deux faces des réseaux de test

Ceci révèle l’aspect biface des testnets. Ils permettent à la fois aux développeurs d’applications et aux développeurs de plates-formes d’interagir les uns avec les autres et de tester leur code en toute sécurité dans un environnement aussi proche que possible de l’environnement réel, mais avec des enjeux très faibles. Cela permet aux deux groupes d’améliorer leurs produits et de les rendre plus utiles à leurs utilisateurs.

Nous pouvons maintenant commencer à comprendre pourquoi les testnets semblent avoir un tel impact sur le prix des jetons. Si nous supposons que le prix est une fonction de la valeur, et que les testnets aident les développeurs à augmenter la valeur de leurs produits, alors l’impact sur le prix devrait être attendu. Le problème est que cette corrélation a conduit à plusieurs résultats indésirables. Les projets publient souvent un « testnet » qui n’a aucune utilité pour les développeurs dans le seul but d’augmenter le prix de leurs jetons. Malheureusement, de nombreuses personnes verront l’annonce du testnet et supposeront simplement que quelque chose de précieux a été publié, et l’acte aura donc l’effet désiré sur le prix.

Testnets avant mainnet

Jusqu’à présent, je me suis concentré sur l’utilité des testnets dans le contexte des blockchains existantes, à savoir qu’ils créent un espace sûr pour les développeurs d’applications afin de tester leurs applications et pour les développeurs de blockchains afin de tester les mises à niveau de la plateforme sous-jacente. Cela vous aidera à comprendre l’autre contexte important dans lequel les testnets sont publiés, c’est-à-dire avant la publication du réseau principal.

Une fois encore, le test est l’objectif principal, mais l’accent est mis bien davantage sur le système lui-même, car il n’a jamais été opérationnel auparavant. Bien sûr, comme il est nouveau, il n’y aura de toute façon aucune application fonctionnant dessus. La situation est maintenant plus unilatérale. La majorité des personnes travaillant sur la base de code seront des développeurs de blockchain, et l’objectif est d’amener la plateforme à un endroit où les développeurs veulent réellement construire dessus.

La première exigence des développeurs sera que la plateforme soit suffisamment sûre, et cela devrait être la directive principale derrière les tests spécifiques qui sont exécutés. En supposant que les développeurs soient convaincus que la plate-forme est suffisamment sûre, ils devront être formés à l’utilisation de la plate-forme. En d’autres termes, le testnet doit être considéré comme un outil éducatif qui permet aux développeurs de mieux comprendre comment ils pourront utiliser la plate-forme tout en contribuant à tester la sécurité du réseau.

Enfin, pendant qu’ils testent le réseau et apprennent à l’utiliser, ils trouveront inévitablement des endroits où la plate-forme pourrait être améliorée – des bibliothèques importantes pourraient être nécessaires, ou une documentation importante pourrait être nécessaire pour les aider à comprendre le système. Ces informations constituent un retour d’information inestimable que les développeurs de la plate-forme doivent absolument utiliser pour améliorer la plate-forme avant que les implémentations du réseau principal ne soient finalisées.

Les réseaux informatiques sont devenus une partie importante de nos vies, que nous le réalisions ou non, et leur importance ne fait que croître. Les Testnets sont une étape critique dans le processus de lancement de réseaux informatiques nouveaux et innovants qui peuvent ajouter une valeur toujours plus grande à nos vies. Nous espérons qu’en acquérant une meilleure compréhension des nuances des testnets et des contextes importants dans lesquels ils sont lancés, vous êtes désormais mieux armé pour évaluer des testsnets spécifiques et déterminer s’ils sont conçus et lancés pour les bonnes raisons.

Cet article ne contient pas de conseils ou de recommandations en matière d’investissement. Tout investissement et toute opération commerciale comportent des risques, et les lecteurs doivent effectuer leurs propres recherches avant de prendre une décision.

Les points de vue, réflexions et opinions exprimés ici n’engagent que l’auteur et ne reflètent ou ne représentent pas nécessairement les points de vue et opinions de Cointelegraph.

Andrew Levine est le PDG de Koinos Group, où lui et l’ancienne équipe de développement derrière la blockchain Steem construisent des solutions basées sur la blockchain qui permettent aux gens de s’approprier et de contrôler leur identité numérique. Leur produit de base est Koinos, une blockchain haute performance construite sur un cadre entièrement nouveau, conçu pour donner aux développeurs les fonctionnalités dont ils ont besoin pour offrir aux utilisateurs les expériences nécessaires à l’adoption de la blockchain par le plus grand nombre.

Le groupe Koinos a récemment publié la version 2 de son réseau de test, qui présente des améliorations de la stabilité, son système de transactions sans frais de mana et une boîte à outils de développement de contrats qui permettra aux développeurs de construire et d’exécuter des contrats intelligents sur Koinos.

Source link