L'application la plus connue de la technologie Blockchain, Bitcoin, a récemment eu 11 ans. Au cours de la dernière décennie, la technologie a connu une période de transformation, de croissance, de battage médiatique accru et de chutes dramatiques. Maintenant, il semble être entré dans une phase de réflexion pratique.

C'est une erreur de supposer que la technologie blockchain est universelle. La fermeture massive des projets d'offre initiale de pièces de monnaie (ICO) qui a levé des fonds considérables en 2017, par exemple, montre que la blockchain ne peut pas résoudre tous les problèmes existants.

Cependant, cela peut apporter une valeur ajoutée et accélérer le développement des industries luttant pour établir la confiance avec les utilisateurs, comme dans la finance, le transfert et le stockage des actifs numériques et des droits de propriété, et la chaîne d'approvisionnement.

Cet article est un bref guide pour évaluer la pertinence d'utiliser la blockchain, ainsi qu'un aperçu des réseaux les plus populaires qui existent sur le marché.

Choisir un bon réseau Blockchain

  1. Déterminez si la technologie Blockchain est applicable à vos défis
  2. Choisissez la bonne approche pour la blockchain
  3. Considérez les solutions existantes

Déterminez si la technologie Blockchain est applicable à vos défis

Avant de décider d'implémenter une blockchain dans votre projet, demandez-vous si c'est la bonne solution aux défis que vous essayez de surmonter.

Un bon point de départ consiste à poser les questions suivantes :

1. Votre projet nécessite-t-il de fonctionner dans un environnement totalement non fiable et une répartition complète des risques de sécurité ?

La blockchain est applicable lorsqu'il y a un certain nombre d'entreprises ou de participants individuels, et que l'interaction entre eux se déroule dans un environnement totalement non fiable.

Il peut s'agir d'un groupe d'entreprises en concurrence entre elles ou de succursales d'une grande entreprise qui ont délibérément réparti les nœuds de sa blockchain en unités indépendantes. L'essentiel est la répartition des risques de sécurité entre tous les participants.

Si cela ne s'applique pas à votre entreprise, il est préférable d'utiliser une base de données régulière avec une bonne cryptographie publique.

2. Vous et vos clients êtes-vous prêts pour le coût de la blockchain ?

Les nœuds de la blockchain optimisent les ressources informatiques afin d'éviter les inondations et la congestion du réseau. Ainsi, afin d'éviter cela, chaque transaction doit être payée par l'utilisateur.

Les problèmes de paiement des transactions sont résolus, mais pas par l'annulation du paiement, mais par une fonctionnalité supplémentaire qui permet à certains participants de payer pour d'autres.

En règle générale, il est proposé une seule fois et uniquement aux nouveaux utilisateurs de la blockchain pour faciliter l'intégration, mais les propriétaires du système devront dans tous les cas gérer des commissions pour chaque transaction.

3. Votre projet prévoit-il des règlements mutuels ou le transfert de droits numériques entre les participants ?

Les « règlements » ne sont pas seulement des paiements, mais également tout autre échange de valeurs numériques. Il peut s'agir de points de réputation et d'informations qui vous permettent d'accéder à des ressources précieuses.

Les réseaux blockchain permettent l'échange de droits numériques d'un compte à un autre sans possibilité de manipulation par un arbitre.

Quelqu'un demande une transaction qui est envoyée à un réseau de nœuds. Ces nœuds valident la transaction et vérifient celles impliquant la crypto-monnaie.

Comment fonctionne la blockchain ?

Une fois la transaction vérifiée, un nouveau bloc est ajouté au réseau, complétant la transaction.

La fonction principale de la blockchain est de protéger précisément ces « soldes » et les manières complexes de les transférer entre différentes adresses.

Choisissez la bonne approche pour la blockchain

Après avoir décidé d'utiliser la blockchain, vous devez comprendre quelle blockchain est nécessaire. Si vous avez juste besoin d'accepter des paiements en crypto-monnaies, choisissez l'un des réseaux publics existants.

Mais si votre projet souhaite automatiser des opérations plus complexes, vous pouvez soit choisir des réseaux publics existants avec des fonctionnalités de contrats intelligents, soit créer votre propre blockchain avec la logique nécessaire.

Option 1 : Blockchain publique

Pour travailler sur des blockchains publiques, vous n'avez pas besoin de préparer d'autre code que les contrats intelligents et le code principal de votre service qui communique avec le réseau blockchain.

Les contrats intelligents sont écrits sous forme de code et les régulateurs peuvent surveiller l'activité des contrats sur la blockchain pour la comprendre tout en préservant la confidentialité.

Un contrat intelligent entre les parties est un code enregistré sur la blockchain.  Les participants restent anonymes, mais le contrat se retrouve dans un grand livre distribué.  Après la survenance d'un événement déclencheur, le contrat est automatiquement exécuté conformément aux conditions précodées.  Grâce à la blockchain, les autorités de régulation peuvent suivre l'activité du marché, tandis que les informations sur les transactions privées de certains participants restent anonymes.

En fait, vous n'avez que des interfaces sur votre ordinateur, et le traitement est payé par les clients eux-mêmes. Par conséquent, posséder un système de contrat intelligent est moins cher qu'une base de données centralisée – Vous n'avez pas besoin de louer un serveur, de sauvegarder, de payer l'administrateur ou d'être responsable de la sécurité des comptes d'utilisateurs.

Les blockchains publiques sont les plus protégées contre les attaques à grande échelle. Si votre projet fonctionne sur une blockchain publique, il ne s'arrêtera pas ; les validateurs et les mineurs sont des participants qui exécutent les nœuds du réseau blockchain qui prennent en charge la maintenance du réseau et répliquent les données.

L'inconvénient de l'utilisation de la blockchain publique est la nécessité de payer des frais pour les transactions et d'avoir peu de contrôle sur le réseau lui-même.

Vous ne pourrez pas influencer le cours du réseau de blockchain public, la vitesse de traitement des transactions ou les validateurs/mineurs qui sont affectés. Aussi, pour le moment, la scalabilité de la première génération de blockchains ne permet pas de traiter de nombreuses opérations parallèles de dizaines et centaines de milliers d'utilisateurs.

Les blockchains publiques conviennent aux projets qui nécessitent une « insubmersibilité » dans toutes les conditions, et avec des offres suffisamment intéressantes pour que les utilisateurs soient prêts à payer pour chaque opération.

Option 2 : Blockchain autorisée

Si la fonctionnalité de l'une des chaînes de blocs publiques ne vous convient pas, vous pouvez la lancer par vos propres efforts ou utiliser des cadres pour déployer des chaînes de blocs autorisées avec une logique personnalisable.

Pour démarrer votre propre blockchain, en plus de son propre code, vous devez préparer les parties intégrantes suivantes :

  • Services Web pour visualiser la blockchain (comme Etherscan dans Ethereum)
  • Logiciel client (portefeuilles)
  • Outils pour déployer des nœuds blockchain sur des serveurs validateurs
  • Interfaces de gestion de réseau (par exemple, pour voter pour les validateurs)
  • Documentation

Vous devez rassembler et motiver un groupe de personnes qui mettront en place du matériel et des logiciels spécifiques pour maintenir le réseau blockchain assurant sa sécurité et son existence de manière décentralisée et distribuée.

Ces personnes sont les validateurs/mineurs. Ils forment le premier bloc de votre blockchain, lancent conjointement le réseau de test, déboguent toutes les procédures de mise à jour du code et gèrent les validateurs/mineurs qui s'y trouvent.

Ce n'est qu'après cela que la blockchain est prête à lancer le réseau principal.

Cette approche implique beaucoup d'argent et de temps.

Considérez les solutions existantes

Laquelle de ces solutions existantes devriez-vous adopter pour votre projet ? Il y a beaucoup d'options, il est donc important de choisir avec soin.

Nous décrirons les solutions les plus fiables qui fonctionnent déjà dans les réseaux publics, disposent de code open source et ont prouvé leur fiabilité, ainsi que les plus prometteuses de celles qui devraient apparaître prochainement.

Solution 1 : Réseaux basés sur Ethereum

Ethereum est la solution de preuve de travail la plus mature et universelle qui vous permet de construire des systèmes de contrats intelligents d'une grande complexité.

Logo Ethereum

Ethereum possède l'écosystème le plus développé, ainsi que des langages pratiques et développés pour écrire des contrats intelligents, de nombreux outils et des algorithmes prêts à l'emploi.

De plus, en cas de problème, les données et les contrats intelligents peuvent être transférés d'un réseau Ethereum à un autre tant qu'il est basé sur Ethereum, tel que PoA Network ou Loom Network.

La pile technologique pour le développement d'Ethereum est constituée des langages de programmation Rust and Go.

Actuellement, Ethereum est un leader absolu de la technologie financière qui vous permet d'acheter facilement des analogues électroniques d'actions, de contrats à terme, d'émettre des fonds par tranches, d'organiser des transactions multilatérales telles que des enchères et des appels d'offres.

Solution 2 : réseaux basés sur EOS

EOS est une blockchain publique rapide qui prend également en charge les contrats intelligents complets, la plus développée des blockchains utilisant un consensus comme la « preuve de participation déléguée » (DPoS).

Logo EOS

Dans EOS, la vitesse de traitement des transactions est élevée, les blocs apparaissent une fois toutes les demi-secondes. EOS vous permet d'écrire des systèmes de contrats intelligents de toute complexité, dispose d'un système de compte pratique et d'un système de vote pour les validateurs.

EOS est développé en C++, vous pouvez donc trouver rapidement de bons développeurs.

Utilisez EOS si vous avez besoin d'un système de gestion de compte pratique, de paiements rapides en crypto-monnaie et de nombreux contrats intelligents différents.

EOS est bien adapté aux jeux et aux jeux d'argent, et il peut également être utilisé pour organiser avec succès un réseau non fiable entre divers appareils IoT. Il peut également desservir un réseau de paiement de terminaux, de guichets automatiques ou de cryptomats.

Solution 3 : Hyperledger

La famille de chaînes de blocs Hyperledger est un système conçu à l'origine pour une utilisation en entreprise.

Logo Hyperledger

Les projets modernes sur HL n'ont pas d'économie interne et sont généralement utilisés comme blockchains autorisés pour le flux de travail interne dans les grandes entreprises

HL and Fabric, sa branche la plus prospère, a été créée en tenant compte des besoins des entreprises clientes. Par conséquent, de nombreux mécanismes inhérents aux blockchains conçus pour fonctionner dans un public non fiable sont absents.

Utilisez HL si vous avez besoin d'une logique puissante et que vous êtes prêt à exécuter votre blockchain à l'intérieur du réseau d'entreprise, car vous pouvez définir ces réseaux sur public uniquement en mode lecture seule.

Solution 4 : Polkadot et substrat de parité

Parity est l'une des plus grandes sociétés de développement de blockchain au monde en tant que développeur d'Ethereum, de Bitcoin et d'un grand nombre de divers logiciels orientés blockchain.

Logo Parité Substrat

Substrate est un framework de construction de blockchain qui vous permet d'assembler rapidement et facilement votre blockchain, qu'il appelle parachain, et de l'exécuter avec ses propres validateurs et sa propre logique.

L'utilisation de solutions telles que Substrate et Polkadot est le moyen le plus rapide et le plus fiable de créer votre propre blockchain sans faire d'erreurs dans le consensus et le traitement des transactions.

Solution 5 : SDK Cosmos et Tendermint

Cosmos SDK est un progiciel similaire à Substrate pour la construction de blockchains personnalisées avec une logique arbitraire, construit sur la base du consensus Tendermint.

Logo du SDK Cosmos

Cosmos SDK a des différences avec Substrate, mais l'idée générale reste la même : au lieu de placer des contrats intelligents sur un réseau public, ce cadre vous permet de lancer votre blockchain avec la logique, le consensus et toute autre chose nécessaires.

La chaîne principale Cosmos permettra à bon nombre de ces blockchains de communiquer entre elles et de fixer leur statut dans la chaîne principale. Pendant le développement, le langage Go est utilisé, et il existe également un grand nombre de logiciels prêts à l'emploi pour prendre en charge les blockchains développées.

Évaluez vos options avant de choisir un réseau Blockchain

Le choix de la bonne blockchain est actuellement limité principalement à trois blockchains principales et à leurs forks :

Ces projets sont suffisamment matures et ont fait leurs preuves pour que vous puissiez créer des solutions prêtes pour la production.

Assurez-vous que les chaînes de blocs alternatives ont mis en œuvre avec succès des cas d'utilisateur.

Si vous choisissez de travailler sur une blockchain publique, vous pourrez économiser les coûts associés à la personnalisation.

Si vous décidez de développer votre propre blockchain, soyez prêt pour le coût et le processus difficile à venir.

Les technologies blockchain sont extrêmement spécifiques et présentent de nombreuses nuances internes. Par conséquent, il est recommandé d'examiner attentivement la manière dont la blockchain sera utilisée dans votre projet, quel sera le coût de possession d'un tel système et ce qu'il en coûtera aux utilisateurs.