Tout sur le Bitcoin et les Altcoins
Cet article constitue la dernière partie de notre tutoriel détaillant l'implémentation d'une Blockchain, telle que celle présentée dans "La Blockchain pour les Nuls". Pour rappel, dans la première partie, nous avons modélisé et créé les blocs de notre Blockchain en Java. Dans la seconde partie, nous avons implémenté le fonctionnement interne de la Blockchain en nous appuyant sur ces Blocs.
Maintenant, il est temps d'assembler ces objets pour mettre en action notre Blockchain en Java.
Nous allons donc créer notre Blockchain en instanciant l'objet Blockchain et en précisant en entrée une difficulté de 4 pour le minage des blocs. Ensuite, nous ajouterons trois blocs avant de vérifier la validité de la Blockchain et d'afficher les données qu'elle contient à l'écran. Ceci est réalisé avec le code Java suivant :
L'exécution de ce code à l'aide de la machine virtuelle Java va nous donner la sortie console suivante sur laquelle on peut constater visuellement le validité de notre Blockchain :
Afin de vérifier que notre méthode de validation de la Blockchain fonctionne correctement, il peut être intéressant de tenter de la corrompre en intégrant un bloc corrompu. Une fois cet ajout fait, nous pourrons vérifier que notre méthode détecte bien que la Blockchain n'est pas valide :
L'exécution de ce code à l'aide de la machine virtuelle Java va nous donner la sortie console suivante sur laquelle on peut constater que notre Blockchain détecte bien un problème de validité avec le bloc corrompu que nous avons ajouté :
Notre implémentation d'une Blockchain basique en Java est pleinement fonctionnelle. Elle nous aura permis de mettre en évidence le fonctionnement interne d'une Blockchain et notamment la partie liée au minage de blocs qui sera d'autant plus rapide que le ou les ordinateurs la réalisant sont puissants. Pour aller plus loin, il nous faudrait maintenant implémenter des fonctionnalités permettant de mettre en réseau pair-à-pair (P2P) notre Blockchain. Cela pourrait être fait dans une prochain tutoriel si le sujet vous semble intéressant. N'hésitez à nous laisser vos commentaires si vous souhaitez voir ces fonctionnalités P2P implémentées dans un futur article sur Tout sur le Bitcoin.