Crypto Week

Introduction à l’application Blockchain privée – Corda | de Matthew Leung | Coinmons | avril 2022

La technologie derrière la crypto-monnaie est le registre public distribué. Il est public dans le sens où tout le monde peut voir les transactions stockées dans le grand livre, bien qu’il soit généralement très difficile de mapper l’identifiant de compte aux titulaires réels dans le monde réel. De plus, toutes les transactions sont vérifiées et personne ne peut modifier la transaction dans le grand livre car les transactions sont stockées dans la structure de données de la blockchain, qui est la propriété d’immuabilité de la blockchain.

La blockchain et la technologie des registres distribués peuvent être appliquées à d’autres domaines. Cependant, puisque le grand livre est public, il y aura des problèmes de confidentialité. Voici d’où vient le grand livre distribué privé. L’un d’eux est R3 Corda. Dans Corda, les transactions ne sont visibles que pour les parties impliquées dans la transaction. Par exemple, si la banque A transaction 1 dollar à la banque B, la transaction est signée à la fois par la banque A et la banque B, et ne sera visible que par la banque A et la banque B. Cela protège la confidentialité de la banque A et de la banque B.

Le développement d’applications sur Corda est assez différent du développement de contrats intelligents sur une blockchain publique telle qu’Ethereum. Dans Ethereum, le contrat intelligent est comme la classe dans les langages OOP courants. Il contient les variables d’état et l’implémentation de la méthode sur la façon de manipuler les états, qui est en fait la logique de l’application. Dans Corda, le contrat ne manipulera pas les états, il vérifiera uniquement la transaction telle que la signature des parties impliquées et la forme de l’état d’entrée et de sortie de la transaction. La logique d’application réelle est implémentée dans le « flux ».

Dans Corda, l’état, une fois stocké, est immuable, mais il peut créer une nouvelle version d’état et marquer l’état précédent comme historique (qui est appelé « consommé »). Une transaction peut contenir n’importe quel nombre d’états d’entrée et de sortie, où l’état d’entrée est l’ancien état et l’état de sortie est le nouvel état qu’il va transiter. Et la transaction est atomique. Par exemple, lorsque la banque A transfère 1 dollar à la banque B, l’état d’entrée de la transaction est le solde actuel des deux banques et l’état de sortie est le nouveau solde après le transfert. La transaction sera signée par les deux banques et sera également vérifiée par le contrat avant d’être stockée dans le grand livre. La transaction est créée par le flux. Le flux créera la transaction, l’état d’entrée et l’état de sortie, puis demandera aux parties de signer la transaction. Puisqu’il est chargé de créer l’état d’entrée et de sortie, cela signifie qu’il contient la logique d’application pour calculer le nouveau solde. Vous trouverez ci-dessous le diagramme de séquence de l’exécution des flux, qui est capturé à partir du site Web de Corda.

Introduction à l'application Blockchain privée - Corda | de Matthew Leung | Coinmons | avril 2022

Étant donné que Corda est un grand livre distribué, nous devons définir l’algorithme de consensus. Il existe 2 types de consensus : (1) le consensus de validité et (2) le consensus d’unicité. Le consensus de validité est la vérification par chaque partie signataire requise de la transaction. Le consensus sur l’unicité vise à empêcher la double dépense de la transaction. Elle est réalisée par le service nœud appelé Notaires. Vous pouvez trouver plus de détails sur les notaires sur le site Web de Corda.

Je viens avec une idée simple sur la façon d’utiliser Corda. L’idée est la suivante : Pour un groupe d’écoles locales situées à proximité, elles peuvent former une communauté pour construire la bibliothèque partagée afin que leurs élèves puissent emprunter des livres à n’importe quelle école de la communauté.

Le BookState comprendra les attributs de chaque livre, y compris le titre et l’auteur du livre, l’ISBN, l’école propriétaire et l’école titulaire. Le flow comprendra le IssueBook, BorrowBooket ReturnBook où l’emprunt et le retour du livre nécessiteront les signatures du propriétaire et du détenteur du livre.

Nous ajoutons également la fonctionnalité de demande de livres empruntés. Chaque requête sera un état : RequestStateet plusieurs requêtes sur le même livre formeront une file d’attente FIFO (chaîne) de RequestState en ajoutant la référence du suivant RequestState dans le précédent RequestState.

Cette application simple peut être construite à partir de l’exemple de Cordapp publié sur le site Web de Corda. Quand j’aurai le temps, j’essaierai de mettre en œuvre mon idée, puis de partager le git ici.

Rejoignez Coinmonks Telegram Channel et Youtube Channel pour en savoir plus sur le trading et l’investissement cryptographiques

Source medium.com

Quitter la version mobile