Les projets de crypto-monnaie mettent constamment en œuvre de nouvelles technologies et fonctionnalités. Pour que ces nouvelles implémentations réussissent, elles doivent d’abord s’assurer qu’elles ne nuisent pas au fonctionnement de la blockchain. Pour ce faire, ils ont besoin d’une version testnet avant la mise en ligne des nouvelles fonctionnalités.
L'article d'aujourd'hui vous fournira tout ce que vous devez savoir sur le testnet :
Qu'est-ce qu'un réseau de test ?
Comment fonctionne le testnet.
Le rôle et l’importance du testnet.
Quelle est la différence entre le testnet et le mainnet ? L'analyse d'un exemple peut permettre de comprendre clairement son fonctionnement et les différences entre ces deux réseaux.
Découvrons-le ensemble !
Qu'est-ce qu'un réseau de test ?
Dans les crypto-monnaies, un testnet peut être compris comme une blockchain alternative, une copie exacte de la blockchain originale (mainnet). Le testnet est principalement utilisé pour tester de nouvelles fonctionnalités sans se soucier d'éventuels dommages au réseau principal.
Les modifications apportées au réseau principal ne seront plus réversibles. C'est pourquoi les développeurs utilisent activement les réseaux de test pour introduire de nouvelles fonctionnalités, tester différents protocoles et toute modification majeure des fonctionnalités avant de les intégrer éventuellement au réseau principal.
Généralement pour les projets de démarrage, le testnet est généralement terminé avant le lancement du réseau principal. Cette étape de test est très importante pour s’assurer que tout fonctionne parfaitement. Parce que si le testnet échoue, le projet ne peut pas libérer le réseau principal.
Le concept testnet a été introduit pour la première fois en octobre 2010. Gavin Adresen, l'un des développeurs Bitcoin, a soumis un correctif pour implémenter une nouvelle fonctionnalité acceptée par Satoshi Nakamoto. Ce patch est considéré comme le premier testnet.
Bitcoin n’est pas la seule crypto-monnaie à mettre en œuvre un testnet. Ce réseau de test permet à tout développeur d'apporter des modifications au protocole et de le tester sans affecter le réseau principal. Il s’agit d’une avancée majeure pour le secteur des crypto-monnaies.
Bien que le premier testnet ait été un succès, le 3 février 2011, le réseau a été redémarré à la demande de David Françoise, qui a ajouté un correctif au code Bitcoin Core. Ce nouveau patch s'appelle Testnet2.
Alors que cette version était censée être une amélioration par rapport à la première version, elle s'est avérée avoir un gros problème : le réseau a augmenté la difficulté de minage, ce qui a entraîné des coûts de minage élevés, et en raison de la grande difficulté, de nombreux utilisateurs ont commencé à convertir les jetons Testnet. Vendu comme du vrai BTC.
La solution à ce problème a été donnée lorsqu'Andresen a redémarré le réseau le 04/12/2012. Cela a cédé la place au dernier testnet Bitcoin, actuellement Testnet3. Il corrige tous les bugs des deux premiers réseaux de test. Le troisième testnet est toujours en cours d’exécution.
Comment fonctionne Testnet ?
L'ajout de nouveaux produits ou outils à une blockchain active peut être très risqué et avoir des conséquences inattendues. Imaginez, s’il y a une erreur lors de la mise à jour de la blockchain, des millions d’utilisateurs pourraient être affectés en quelques secondes.
De plus, les utilisateurs peuvent perdre confiance dans la technologie et l'équipe de développement, voire dans le potentiel futur du projet. Dans le pire des cas, des vulnérabilités peuvent survenir, permettant aux pirates informatiques d'attaquer et de faire perdre aux utilisateurs leurs actifs.
Par conséquent, le but des développeurs créant des réseaux de test est d'effectuer des tests sans affecter le fonctionnement normal et les performances du réseau principal.
Afin de vérifier si les mises à jour/tests fonctionnent correctement sur le réseau principal, ils seront d'abord mis sur testnet pour être testés. L'équipe de développement effectuera ensuite une analyse et une surveillance pour détecter les bogues logiciels ou voir l'impact des nouvelles mises à jour sur le testnet. Ils peuvent également inciter les utilisateurs à essayer le testnet et à trouver des bugs contre des récompenses.
Après avoir trouvé les bogues possibles et les avoir corrigés, ces mises à jour peuvent être déployées sur le réseau principal une fois que les développeurs se sont assurés que les mises à jour/tests sont sûrs et n'ont aucun impact négatif sur le réseau de test.
Importance de Testnet
Pour les développeurs
Les réseaux de test sont importants pour garantir que les développeurs se sentent en sécurité lors du déploiement de modifications ou du lancement de fonctionnalités sur le réseau principal. De cette manière, le testnet sert de version bêta publique et fournit un environnement de test aux développeurs. Les testnets disposent généralement de leur propre système de portefeuille pour vérifier les transactions et des robinets pour distribuer les jetons testnet aux nouveaux utilisateurs, leur permettant d'utiliser les utilitaires testnet comme de vraies pièces sur le réseau principal.
Les développeurs intéressés par une blockchain spécifique profitent souvent de la disponibilité des réseaux de test pour tester leurs idées.
Par exemple, sur le réseau de test Ethereum, les développeurs voudront peut-être tester leurs contrats intelligents et leurs implémentations de dApp avant de les exécuter sur le réseau principal. De cette façon, les développeurs peuvent comprendre et bénéficier des protocoles de la blockchain avant de décider de créer des applications pour celle-ci.
pour les mineurs
Les mineurs bénéficient également de l’utilisation d’un testnet, car il leur permet de tester différentes méthodes et configurations de minage sur la blockchain avant de mettre en œuvre des stratégies de minage potentiellement coûteuses sur le réseau principal. Les nœuds du testnet peuvent également recevoir des récompenses pour tester de nouvelles fonctionnalités du réseau. Les réseaux de test sont particulièrement importants pour les mineurs utilisant de nouvelles blockchains qui n'ont pas encore lancé le réseau principal, car ils permettent aux mineurs de se préparer au lancement à l'avance.
Pour les utilisateurs
Testnet n'est pas seulement un environnement de test pour les ingénieurs ou les programmeurs, il s'adresse également aux utilisateurs qui souhaitent tester. Plus précisément, il fournit un outil de simulation précieux qui permet aux utilisateurs d'apprendre en détail comment fonctionnent et utilisent les produits et services du protocole avant le lancement officiel du réseau. De plus, certains réseaux de test disposent de mécanismes pour récompenser les utilisateurs qui contribuent au développement du protocole en testant le réseau de test et en détectant ses bogues/problèmes.
Différence entre testnet et mainnet
Testnet est une version de test, tandis que mainnet est la principale blockchain fonctionnelle du projet.
Testnet et mainnet sont deux blockchains complètement indépendantes utilisant leurs propres jetons.
Dans certains réseaux de test, les jetons n'ont aucune valeur commerciale et ne fonctionnent pas comme des unités monétaires. En revanche, sur le réseau principal, chaque activité effectuée sur la blockchain nécessite des frais sous forme de jetons d'une certaine valeur.
Mainnet et testnet ont des identifiants de réseau différents. Par exemple, l’ID du réseau principal d’Ethereum est 1, tandis que les autres réseaux de test les plus couramment utilisés ont les ID réseau 3, 4 et 42.
Sur le testnet, les programmeurs ont généré le bloc Genesis légèrement différemment que d'habitude. Plus précisément, les balises sont créées dans des blocs et des jetons. Cela les empêche d’être ajoutés au réseau principal et permet de séparer les deux blockchains. Par conséquent, les utilisateurs ne peuvent pas transférer de jetons du réseau principal vers le réseau de test ou vice versa.
Testnet permet aux utilisateurs d'exécuter leurs nœuds sur une blockchain de test. Cela facilite le processus d’extraction de crypto-monnaie. Parallèlement, sur le réseau principal, en raison du grand nombre de mineurs, le minage est plus difficile et la concurrence est très rude.
La fréquence des transactions sur le testnet est inférieure à celle sur le réseau principal.
Exemple de testnet
Ethereum est une plate-forme open source décentralisée qui utilise des contrats intelligents pour permettre aux développeurs de créer en toute sécurité des applications décentralisées (dApps) qui s'exécutent dessus, sans aucun contrôle d'intermédiaires ou de tiers.
Ropsten est le réseau de test le plus populaire d'Ethereum et est souvent utilisé comme réseau de test pour les développeurs créant leurs propres dApps sur la blockchain Ethereum. Grâce à Ropsten, les développeurs peuvent tester les fonctionnalités des dApps tout en évitant les frais de transaction et l'ETH requis pour le déploiement de contrats intelligents. Une fois qu’ils sont sûrs que leur dApp est opérationnelle et que les tests sont terminés, ils peuvent la déployer sur le réseau principal Ethereum.
La différence entre le réseau principal Ethereum et le testnet réside dans les deux facteurs suivants :
ID de réseau : un identifiant de réseau est l'identification d'un réseau, semblable à une carte d'identité qui représente votre identité. Si un nouveau nœud souhaite rejoindre la blockchain Ethereum, il devra rejoindre le réseau principal avec l'ID de réseau 1. S'ils souhaitent rejoindre le réseau de test, ils peuvent rejoindre Ropsten en utilisant l'ID de réseau 3.
Bloc Genesis : étant donné que le réseau principal et le réseau de test sont indépendants l'un de l'autre, ils ont également des blocs Genesis différents. Cependant, le contenu du bloc Genesis peut être similaire.
en conclusion
La nature décentralisée de la blockchain rend difficile sa modification et sa correction en cas de problème avec le protocole qui y est exécuté. C’est pourquoi les testnets sont si importants pour le succès de la blockchain en particulier et de l’industrie de la cryptographie dans son ensemble.
Sans environnement de test, les développeurs devraient prendre des risques coûteux en essayant des modifications ou en écrivant de nouvelles fonctionnalités. De nombreux projets de pré-mise sous tension en cours visent le lancement de réseaux de test dans un avenir proche.
