La Blockchain est une technologie relativement nouvelle que beaucoup considèrent comme utilisée uniquement pour acheter des Bitcoins. Cependant, beaucoup essaient de le mettre en œuvre dans tous les domaines qui viennent à l'esprit, que ce soit la mode, l'éducation ou les soins de santé. Je dirais que tout va bien - trop peu de temps s'est écoulé pour déterminer quel domaine d'activité humaine peut bénéficier le plus de l'application de cette technologie. Pour comprendre l'application pratique de la Blockchain , nous devons d'abord définir pourquoi elle est apparue, puis étudier les cas où la blockchain peut faire une différence significative.
![]() |
Photo de André François McKenzie sur Unsplash |
Remarque: cet article n'explique pas les concepts de la blockchain ; il se concentre plutôt sur le développement d'une application fintech utilisant cette technologie. Je vais expliquer pourquoi les fintech peuvent déjà adopter la technologie blockchain et, surtout, se concentrer sur le développement d'une application décentralisée utilisant cette technologie.
Des industries prêtes pour la Blockchain
Don Norman a écrit un jour que de nombreux produits avaient échoué parce qu'ils avaient été lancés au mauvais moment. Je peux refaire cette déclaration et dire: de nombreuses technologies ne parviennent pas à trouver des applications pratiques. Lorsque l'Internet est devenu largement disponible au début des années 90, chaque sphère a essayé de l'appliquer à son entreprise. Ce fut une catastrophe, et ses conséquences sont encore visibles par des milliers de sites Web jamais visités avec des interfaces horribles, maladroitement créés par quiconque avait un ordinateur. Nous assistons actuellement à pratiquement la même situation - la technologie la plus potentielle de la décennie est associée aux spéculations sur les crypto-échanges. Il est largement utilisé pour les escroqueries financières , bien qu'il ait été initialement créé pour le contraire.
Une tentative d'exclure le facteur humain de l'entreprise est l'une des raisons pour lesquelles la blockchain est apparue. C'est pourquoi les industries qui peuvent avoir réussi à mettre en œuvre la blockchain sont celles (1) qui dépendent fortement de l'activité humaine et (2) qui souffrent le plus des erreurs humaines, comme la finance.
Remarque importante: la blockchain est appliquée à divers produits de différentes industries; nous avons juste besoin de plus d'entrepreneurs audacieux qui sont prêts à mettre beaucoup en jeu.
La Fintech traite d'une affaire très épineuse: l'argent. C'est là que la plupart des fraudes ont lieu. Le désir de devenir plus riche est un mécanisme fondamental qui pousse les gens à faire des choses, souvent de mauvaises choses. Les startups Fintech visent à améliorer les institutions financières traditionnelles, par exemple en excluant le facteur humain des activités financières.
L'utilisation de la blockchain exclut les tiers des transactions financières, comme une banque qui vérifie la personne entre laquelle la transaction est effectuée . Il peut être utilisé pour gérer les stocks et la logistique, échanger des marchandises, optimiser l'identification des personnes, suivre les transactions, etc.
Cela ne signifie pas que chaque produit fintech peut facilement adopter la blockchain . Voici quelques cas où vous voudrez peut-être utiliser la blockchain :
· Vous voulez attirer des investissements. Qu'on le veuille ou non, la blockchain est toujours un mot à la mode. Il attire plus d'investissements que de vrais produits fonctionnels.
· Vous souhaitez augmenter votre compétitivité sur le marché . Si vous réussissez à construire un produit sur la blockchain avec succès, vous montrerez instantanément votre professionnalisme, devenant ainsi plus attrayant pour les investisseurs et les clients.
· Vous êtes prêt à expérimenter. Oui, tout blockchain produit à base est une expérience parce que peu de gens savent ce que cette technologie est capable de . Si vous êtes prêt à faire une percée dans votre secteur, la blockchain pourrait être un bon choix.
Je ne suggère pas d'implémenter la blockchain dans les cas suivants:
· Vous êtes limité en ressources . C'est un moyen à haut risque de créer un produit car (1) il y a peu d' ingénieurs blockchain et (2) il est cher de les avoir dans l'équipe.
· Vous n'êtes pas prêt pour des changements importants . Les changements concernent la gestion opérationnelle et les ressources humaines. Si vous êtes une banque qui a mis en œuvre la blockchain , vous devrez probablement laisser de nombreux employés partir car il y aura moins de travail pour les gens.
· Vous avez une vision à court terme. La blockchain est une perspective à long terme. Il ne peut pas être mis en œuvre en un mois environ. À moins d'avoir une feuille de route de produit à long terme, ne vous inquiétez pas de rêver de tout changer demain.
Ce que vous pouvez faire demain, et même en lisant cet article, c'est de construire une blockchain simple . C'est l'objet de la partie 2. Je vais vous parler des principaux composants nécessaires pour construire une chaîne de blocs pour les produits fintech , proposer des outils et montrer de vrais morceaux de code avec des explications.
Comment appliquer la blockchain en Fintech
![]() |
Photo de Hitesh Choudhary sur Unsplash |
Cadres à utiliser
CryptoNote
CryptoNote est un projet open source qui vous permet de créer des pièces cryptographiques. Ils ont un guide simple et étape par étape pour créer une crypto-monnaie. Pour le lancer, vous aurez besoin de deux nœuds qui seront utilisés pour exécuter le serveur Monero .
Ethereum
Une plate-forme logicielle ouverte populaire pour la création d'applications décentralisées. Son objectif est d'exécuter le code de programmation de votre application basée sur la blockchain . Citant le site Web d' Ethereum : « Ethereum est une plate-forme décentralisée qui exécute des contrats intelligents: des applications qui fonctionnent exactement comme programmées sans aucune possibilité de temps d'arrêt, de censure, de fraude ou d'interférence de tiers.»
ZeroNet
ZeroNet est utilisé pour créer des sites Web décentralisés. Il utilise les mécanismes d'adressage et de vérification Bitcoin et le réseau de distribution de contenu distribué BitTorrent pour créer des sites qui ne peuvent pas être censurés, falsifiés ou bloqués .
Comment construire une blockchain simple
Maintenant que vous connaissez les outils - Cryptonote , Ethereum et ZeroNet - nous nous dirigeons vers la création de notre propre blockchain de base . J'utiliserai Python dans cet exemple, mais si ce n'est pas votre langage de codage principal, vous comprendrez toujours la logique et pourrez l'écrire dans une autre langue.
Tout d'abord, je vais expliquer les éléments fondamentaux requis pour construire un bloc. Je vais commencer par la date de création, le nonce, la somme de contrôle et les données de transaction. Les données de transaction, dans notre cas, pourraient être simplement une chaîne pour simplifier le code.
Date de création
Il s'agit de la date et de l'heure actuelles au format Unix . Il est nécessaire pour le développement futur de votre blockchain ; lorsqu'il y a beaucoup de nœuds en cours d'exécution et que vous ajoutez un nouveau bloc à votre branche, le nœud décidera quel bloc utiliser en fonction de la date de création.
Nonce
Il s'agit d'un ensemble unique de symboles que nous devons ajouter au bloc pour créer la somme de contrôle qui correspond à l'exigence. Par exemple, si la valeur nonce est 5 , alors nous devons ajouter 5 zéros (00000) au bloc de données pour calculer la bonne somme de contrôle.
Somme de contrôle
De plus , parfois appelé valeur de hachage, code de hachage ou simplement un hachage, ce sont des données de bloc avec une somme de contrôle nonce plus du bloc précédent. SHA256 protège la chaîne du grand livre contre toute réécriture .
Comment cela fonctionne: Node calcule la somme de contrôle et la compare à l'un des nouveaux blocs; s'ils correspondent, le bloc est ajouté à la blockchain .
Les données
Il s'agit d' un ensemble de données qui seront stockées dans le bloc et signées. Il peut contenir n'importe quel type de données, par exemple, Bitcoin stocke une liste de transactions, pas seulement la dernière transaction; ou vous pouvez stocker les informations sur l'ordinateur qui a créé le bloc, comme son adresse MAC; ou vous pouvez avoir une date de création plus détaillée, par exemple, en ajoutant le fuseau horaire.
Preuve de travail
La preuve de travail ( PoW ) est un algorithme de consensus unique dans un réseau de blockchain . Il est utilisé pour valider les opérations et la création de nouvelles chaînes dans le réseau blockchain . L'idée principale de PoW est d'ajouter de la complexité à la construction d'un bloc côté client et de réduire la charge côté serveur. Par exemple, je dis que la somme de contrôle doit avoir 5 zéros de plomb; cela signifie que nous augmenterons le nonce jusqu'à ce que la somme de contrôle n'ait pas 5 zéros de plomb.
Commençons par le code
import time from hashlib import sha256 class Block: CHECKSUM_LEAD_ZEROS = 5 NONCE_SYMBOL = 'Z' def __init__(self, prev_block, data): self._prev_block = prev_block self.data = data self.checksum = None self.nonce = 0 self.timestamp = time.time() def is_valid(self): checksum = self.calculate_checksum() return ( checksum[:self.CHECKSUM_LEAD_ZEROS] == '0' * self.CHECKSUM_LEAD_ZEROS and checksum == self.checksum ) def calculate_checksum(self): data = '|'.join([ str(self.timestamp), self.data, self._prev_block.checksum, ]) data += self.NONCE_SYMBOL * self.nonce return sha256(bytes(data, 'utf-8')).hexdigest() |
Constructeur
Le constructeur n'accepte que deux paramètres: le premier est un bloc précédent et le second est les données du bloc actuel. En outre, le constructeur crée la marque de temps et définit nonce à zéro comme valeur initiale.
Is Valid
Il s'agit d'une propriété qui calcule la somme de contrôle et la compare si la valeur actuelle est égale à la valeur calculée et a le bon nombre de zéros.
Calculer le checksum
C'est la méthode la plus compliquée de notre code. Cette méthode regroupe la marque temporelle, les données et le checksum du bloc précédent dans une chaîne. Ensuite, nous ajoutons une chaîne nonce; dans notre cas, ce sera une liste de «Z». Ensuite, il calcule la somme de contrôle de la chaîne de résultat.
import json class Chain: def __init__(self): self._chain = [ self._get_genesis_block(), ] def is_valid(self): prev_block = self._chain[0] for block in self._chain[1:]: assert prev_block.checksum == self._prev_block.checksum assert block.is_valid() prev_block = block def add_block(self, data): block = Block(self._chain[-1], data) block = self._find_nonce(block) self._chain.append(block) return block def _get_genesis_block(): genesis_block = Block(None, None) genesis_block.checksum = '00000453880b6f9179c0661bdf8ea06135f1575aa372e0e70a19b04de0d4cbc7' return genesis_block def _find_nonce(block): beginning = '0' * Block.CHECKSUM_LEAD_ZEROS while True: checksum = block.calculate_checksum() if checksum[:Block.CHECKSUM_LEAD_ZEROS] == beginning: break block.nonce += 1 block.checksum = checksum return block |
Voyons les méthodes de notre classe de chaîne:
Constructeur
Je viens de créer une chaîne avec un seul bloc - un bloc de genèse. Le bloc Genesis est un premier bloc de la chaîne et n'a qu'une somme de contrôle. Ce bloc est requis pour ajouter le premier bloc réel à la chaîne car le bloc réel nécessite une somme de contrôle du dernier bloc de la chaîne.
Ajout d'un nouveau bloc
Il n'a qu'un seul paramètre - les données pour un nouveau bloc. Cette méthode crée un nouveau bloc avec les données fournies et exécute la méthode pour trouver une valeur nonce correcte. Seulement alors, il ajoutera un nouveau bloc à la chaîne.
Trouvez le nonce
Cette méthode vise à trouver le bon nonce pour un bloc. Il a une boucle infinie où j'augmente le nonce et calcule une nouvelle somme de contrôle. Ensuite, il compare la somme de contrôle avec les règles - pour l'instant, ce n'est que le nombre de zéros.
Valider la chaîne
Cette méthode nous indique si la chaîne est valide. Il parcourt tous les blocs de la chaîne et vérifie si chaque bloc est valide.
Pour résumer
Dans cet article, j'ai tenté de prouver que la construction d'une blockchain simple mais fonctionnelle n'est pas aussi difficile qu'il y paraît. Mon conseil général est de prendre la leçon que vous avez apprise ici et de commencer à jouer avec la blockchain en expérimentant avec des blocs et des données. Tous les grands produits, y compris la blockchain, ont été expérimentés une fois.
Si vous êtes de l'industrie fintech, je vous suggère d'étudier davantage les produits qui utilisent la blockchain. Certaines choses à leur sujet sont certaines; ils sont plus sûrs, plus attrayants pour les investissements et, s'ils réussissent sur le marché mondial, ils seront appelés changeurs de jeu. La première étape de l'adaptation de la nouvelle technologie a été franchie. La prochaine étape consiste à diffuser les connaissances et à éduquer les gens sur les fonctionnalités de la blockchain.
Restez à l'écoute pour la prochaine partie sur la blockchain et la fintech, probablement avec des morceaux de code plus complexes et des suggestions sur son application pratique dans la fintech. Merci d'avoir lu!