WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Simulation d’une cryptomonnaie basée sur la devise monétaire congolaise.


par Christer KAHASHA
Université adventiste de Lukanga - Licence en gestion informatique 2019
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

Introduction.

En octobre 2008 il eut un certain Satoshi Nakamoto qui publia un livre blanc « Bitcoin : A Peer-to-Peer Electronic Cash System » dans lequel il définissait un système cryptographique pair-à-pair, le bitcoin (DOROTHE, 2017). En février 2009, il diffuse la première version du logiciel Bitcoin sur le site P2P Foundation et pour faire fonctionner le réseau, il met à contribution son ordinateur. Il génère ainsi les premiers bitcoins. Se fondant sur un nouveau « protocole », une « nouvelle » technologie. Satoshi Nakamoto venait de donner naissance à la Blockchain.

Les uses cases de la Blockchain peuvent concerner plusieurs secteurs tels que la banque et les transactions financières, les notaires et les cessions immobilières, les monopoles énergétiques sur la distribution d'électricité ou de carburants, les systèmes électoraux et de votes en général... (AUSIM, 2017).

16

Typologie de blockchaine.

Blockchain public.

Etant public, il s'agit un système de stockage où toute personne peut y accéder n'importe où dans le monde. Pour participer au processus de transaction ou au processus de consensus, il y a aucune demande de permission. Tous les participants sont égaux dans la participation au réseau.

Blockchain privée.

Contrairement au précédent, celle-ci ses membres sont connus, la gouvernance est assurée par une organisation quelconque. Elle tourne sur un réseau privé.

Blockchain Consortium (Hybride).

Il s'agit de blockchains dans lesquelles le processus de consensus (validation des transactions/blocs) est contrôlé par un nombre connu et restreint de noeuds. Certains noeuds peuvent être rendus publics (accès autorisé en lecture seule) tandis que d'autres restent privés. Elles sont plus adaptées aux contextes régulés (DOROTHE, 2017).

Fonctionnements du blockchaine.

Les transactions effectuées entre les utilisateurs du réseau sont regroupés dans une structure de données appelée bloc. Les blocs sont ordonnés et hiérarchisés dans une seule et unique chaine. Chaque bloc pointe sur le dernier bloc précédent valide. Cette chaîne est « distribuée » et « répliquée » sur tous les noeuds du réseau. Chaque nouvelle transaction et/ou Smart Contract, « en attente », sont groupés dans un nouveau bloc. Pour que ce bloc puisse être ajouté à la Blockchain, il faut qu'il soit validé. Cette validation est réalisée au travers de certains noeuds spécifiques du réseau appelés « miners ». Le rôle de ces noeuds consiste à

17

répondre à un casse-tête cryptomathématique complexe. Chaque réponse trouvée est propre à un et à un seul bloc interdisant ainsi, sa réutilisation pour la validation d'un nouveau bloc. Le problème crypto/mathématique, propre à chaque bloc, est très difficile à résoudre. Il demande d'importantes ressources de calcul et donc de ressources financières (électricité, coût de maintenance matérielle, coût du personnel, etc.). La figure ci-dessous (issue du site Blockchain France) illustre le fonctionnement d'une Blockchain. Il est à noter que, par rapport à l'original, la notion de Smart Contract (étape 1, « utilisateur A») a été ajoutée (DOROTHE, 2017).

Figure 7:Fonctionnement de la Blockchain (blockchainfrance, 2016)

Quelques concepts liés à la Blockchain.

Transaction.

Une transaction est un transfert de valeur (monnaie virtuelle, token, etc.) entre deux comptes, deux « portefeuilles ». Chaque transaction est signée avec la clé privée du compte émetteur, fournissant ainsi la preuve « mathématique » qu'elle provient bien du propriétaire du compte émetteur. La signature empêche également toutes modifications de la transaction après son émission.

18

Mining.

Chaque transaction nouvellement créée donne lieu à une « écriture » dans une Blockchain. Cette écriture entre dans le réseau par un noeud du système, qui vérifie et contrôle que sa structure est correcte au regard des spécifications du protocole implémenté et qu'elle est légitime par rapport aux écritures déjà enregistrées. Si la validation de l'écriture est satisfaite, elle est alors « mise en attente » dans une liste locale et diffusée via le réseau P2P à tous les noeuds du réseau. Dans le cas contraire, elle est rejetée.

Smart Contract.

Un « contrat intelligent » est un programme informatique autonome dont le code contrôle et conditionne, sous certaines conditions, le transfert de devises ou d'actifs entre différentes parties. Ils définissent non seulement les règles et les pénalités d'un accord de la même façon qu'un contrat traditionnel ou qu'un engagement transactionnel. Mais ils peuvent également, lorsque tous les engagements préalables à son exécution ont été respectés, faire appliquer automatiquement ces obligations sans qu'aucune des parties ne puissent s'y opposer.

Consensus.

Selon la définition de Wikipédia : « Un consensus caractérise l'existence parmi les membres d'un groupe d'un accord général (tacite ou manifeste), positif et unanime pouvant permettre de prendre une décision ou d'agir ensemble sans vote préalable ou délibération particulière ».

PoW (Proof Of work).

Proof of Work ou preuve de travail en français est un mécanisme de validation d'un bloc qui repose sur la résolution « d'un problème cryptomathématique complexe ». Le processus de résolution est appelé mining et on parle de miners.

19

Autres travaux et Système de payement électronique et sur internet en RDC.

Les Systèmes de payement électronique.

Le payement électronique en RDC a déjà été réalisé par certaines entreprises de télécommunication, notamment Airtel avec Airtel money, Vodacom avec m-pesa, Orange avec Orange money, Tigo avec Tigo-cash. Les services de payement que rendent ces institutions permettent à leurs utilisateurs de déposer et de retirer de l'argent sur leur compte stocké sur leur phone portable, et d'en envoyer en utilisant un numéro d'identifications personnelles (PIN) et un sms sécurisé. Cela permet de payer des biens et service et de réclamer des versements réguliers. Les usagers se voient prélever une petite commission lorsqu'ils envoient ou retirent de l'argent avec le système.

Les Système de payement sur internet.

Le PayWebPhone.

Ce mot est un sigle des mots qui signifie Payer via son téléphone Sur le Web. Effectuant une alliance Web/GSM, le PayWebPhone est un système qui permet de réaliser des payements sur internet. Par sa facilité, ce système peut se faire intégrer dans n'importe quel système de site internet de vente afin de permettre la réception des payements de ses clients à distance. Avec ce système, on a plus besoin d'avoir un compte bancaire pour réaliser ses achats sur le net, le simple porte-monnaie électronique suffit pour réaliser les opérations de vente. Cette plateforme congolaise de paiement est devenue équivalente au célèbre PayPal, la seule différence est que, pour PayPal il faut avoir un compte bancaire alors que ce dernier, il faut avoir un compte des plateformes mobiles Banking installés en RD (M-Pesa, Airtel Money ou Tigo Cash).

EasyPay.

EasyPay, toujours dans le cadre des payements sur internet, ce système informatique facilite un payement à distance qui s'oriente dans la facturation de consommation en mode

20

post paiement, le mode prépaiement facilite l'achat des tickets des abonnés de la SNEL (Kas, 2017). C'est ainsi que ce système offre à ses utilisateurs une plateforme qui est sécurisée et ayant la possibilité de les lier à leur compte mobile money tout en leur permettant un moyen de paiement en ligne avec leurs comptes mobile money.

Les payements électroniques ont un peu boosté notre économie monétaire, cela est un éloge que l'on présente pour ces systèmes informatiques. Mais comme la plupart des institutions financières, d'une manière générale, la centralisation des données ou encore le rôle d'intermédiation dans les transactions que jouent ces institutions augmente le cout de transaction. Avec ces systèmes, il est impossible d'effectuer une transaction d'une très petite somme car le coût est élevé.

D'une manière spécifique, les systèmes payement sur internet présentés ci-haut fonctionnent suffisamment bien, mais ils présentent une très grande faiblesse liée à leur dépendance aux autres systèmes de payement déjà existant(les Banking mobile en RDC). Vu que ces systèmes sont dépendants d'autres, la disparition de ces Banking mobile en RDC (Airtel-money, m-pesa,...) peut aussi entraîner la disparition de ces systèmes de payement sur internet.

Contrairement aux systèmes que nous avons présentés ci-haut, notre système est indépendant de tout organe gouvernemental ou bancaire. Sa qualité indépendante, elle nous a permis de lui rendre totalement décentralisé en réduisant le coût d'intermédiation des systèmes existant à un moindre coût tout en assurant la confidentialité des informations de transactions qui est la clé du système.

Etat de l'art sur les cryptomonnaie

Les cryptomonnaies sont apparues dans l'objectif de pallier aux problèmes que possèdent nos institutions financière traditionnel basés sur un modèle de confiance en le

21

remplaçant par une preuve de travail cryptogaraphique. Jean-Guillaume Dumas et Pascal Lafourcade l'ont défini comme est une monnaie dématérialisée et souvent décentralisée utilisant des mécanismes cryptographiques pour valider ses transactions (Dumas & Lafourcade, 2010).

La particularité que les cryptomonnaies ont en commun se résume sur le fait d'effectuer une transaction sans intermédiaire quelconque pour effectuer la validation tout en respectant un certain mode de sécurité sur internet dont : l'anonymat dans la transaction et, effectuer des transactions en principe infalsifiables et inviolables. Parmi l'ensemble des cryptomonnaies disponibles, nous en avons sélectionnés deux majeurs en fonction de leur capacité à permettre notre présentation mais voyons d'abord ce que signifient ces modes de sécurité.

Modes de sécurité sur internet.

L'anonymat dans la transaction.

Le modèle bancaire traditionnel réalise un niveau de protection de la vie privée en limitant l'accès aux informations aux personnes concernées et au tiers de confiance. La nécessité d'annoncer toutes les transactions publiquement écarte cette méthode, mais la protection de la vie privée peut encore être assurée en rompant le flux d'information à un autre endroit : en gardant les clefs publiques anonymes. Le public peut voir que quelqu'un est en train d'envoyer un montant à quelqu'un d'autre, mais sans information liant la transaction à quelqu'un. Ceci est similaire au niveau d'information remis par la bourse, où les heures et montants des échanges, le «carnet d'ordres», est publique, mais sans dire qui sont les parties.

En guise de pare-feu additionnel, une nouvelle paire de clefs pourrait être utilisée pour chaque transaction afin de les garder non liées à un propriétaire commun. Toutefois, la liaison est inévitable avec les transactions multi entrées, qui révèlent nécessairement que leurs entrées étaient détenues par un même propriétaire. Le risque est que si le propriétaire d'une clef est

22

révélé, les liaisons peuvent révéler d'autres transactions qui ont appartenu au même propriétaire (Nakamoto, 2008).

Transactions infalsifiables et inviolables.

Pour lutter contre la contrefaçon, Nakamoto y en avait pensé, il définit une pièce (de monnaie) électronique dans son livre blanc comme une chaîne de signatures électroniques. Où chaque propriétaire transfère la pièce au suivant en signant le hachage de la transaction précédente, de la clef publique du prochain propriétaire et en ajoutant tout cela à la fin de la pièce. Un bénéficiaire peut vérifier les signatures pour vérifier la chaîne de propriété.

Figure 8: chaîne des transactions électroniques (Nakamoto, 2008) Pour réaliser tous ceci, nous avons pu utiliser :

? RSA : est une cryptographie à clé publique, c'est-à-dire qu'il y a manipulation de deux
clés (une publique et une autre privée). Le mot RSA est tiré de ses concepteurs (Rivest, Shamir et Adleman). Sa conception est basée sur le calcul exponentiel, une fonction unidirectionnelle est la base de sa sécurité; cette fonction se réalise par le calcul du produit de 2 nombres premiers (Dumont, 2010). Ce système cryptographique procède par l'utilisation de deux clés d et e, interchangeables (Müller, 2007).

Le chiffrement se réalise selon la formule : C = M e mod n

23

Et le déchiffrement par : M = Cd mod n. Avec M : Message en clair et C : message chiffré (FERRADI, 2016).

? Fonctions de hachage : sont des fonctions mathématiques qui permettent à partir de
n'importe quelle donnée numérique, d'obtenir une empreinte, qui est une petite chaine de bits.

- SHA-256 et SHA-1 ; En 1993 l'algorithme SHA (Secure Hash Algorithm) vit jour
sous la direction de NIST et NSA, et a été révisé en 1995 pour étendre ses capacités sécuritaires. Ses spécificités sont publiées dans le RFC 3174, la norme est SHS (Secure Hash Standard).

Exemples des cryptomonnaies

Bitcoin.

C'est en novembre 2008, qu'il y eut une personne ou encore un groupe de personnes connu sous le pseudonyme de Satoshi Nakamoto que cette idée fut présentée pour la première fois (Nakamoto, 2008).

Le système fonctionne indépendamment d'une autorité centrale, ni administrateur unique. C'est le consensus de l'ensemble des noeuds du réseau qui gère le système, c'est grâce à ce consensus que s'effectue la gestion décentralisée du système. Sa capitalisation étant supérieure à 200 milliards de dollars début décembre 2017 fait de lui la plus importante monnaie cryptographique décentralisée (coinmarketcap, 2012).

Clefs publiques et privées.

Utilisant la cryptographie à clé publique, le portemonnaie bitcoin gère un ensemble de paires de clefs privé/publique. En général, On choisit aléatoirement un nombre qui devient la clef privée (k). C'est à partir de cette dernière qu'on génère La clef publique (K), ceci se réalise en utilisant la multiplication en courbes elliptiques, c'est une fonction cryptographique non-inversible. Et ensuite, pour avoir l'adresse(A), on utilise un hash cryptographique pour la générer et cela à partir de la clef publique (Antonopoulos, 2016).

24

Figure 9. Clef privée, clef publique et adresse bitcoin (Antonopoulos, 2016)

La cryptographie sur les courbes elliptiques.

C'est cryptosystème est d'un type particulier de cryptographie asymétrique (i.e. à clef privée/clef publique). Elle se base sur le problème du logarithme discret dans le groupe correspondant à la courbe elliptique (que l'on définit en introduisant les notions d'addition de points sur la courbe, et de multiplication de point par un entier). An elliptic curve est un exemple de courbe elliptique, similaire à celle utilisée par bitcoin.

Figure 10. An elliptic curve

Transactions.

Les transactions sont la partie la plus importante de tout système de payement. Tout système de payement sur internet sous le protocole P2P, vise impérativement à assurer que des transactions puissent être créées, diffusées sur le réseau, validées, et enfin ajoutée au registre global des transactions (la blockchain).

Son cycle de vie commence avec sa création. Elle est ensuite signée avec une ou plusieurs signatures signifiant l'autorisation de dépenser les fonds référencés dans la transaction.

25

Le réseau Bitcoin.

L'architecture réseau pair-à-pair.

Bitcoin est une architecture réseau pair-à-pair au-dessus d'Internet. Les noeuds d'un réseau pair-à-pair à la fois fournissent et consomment des services, la réciprocité agissant comme une motivation pour participer. Bref, les P2P sont composées d'un ensemble d'entités partageant un ensemble de ressources, et jouant à la fois le rôle de serveur et de client (Benoit, 2006).

Découverte du réseau.

Quand un nouveau node démarre dans le réseau P2P, il doit découvrir les autres noeuds sur le réseau dans le but de participer aussi au système. Sur ce, le processus commence quand le nouveau noeud cherche à trouver au moins un autre noeud existant sur ce réseau et s'y connecter.

Dans le réseau bitcoin, la connexion à un pair connu s'établit sous TCP sur le port 8333 habituellement (le port généralement connu comme étant celui utilisé par bitcoin), ou à un autre port si disponible.

Ethereum.

Grâce au langage Turing-complet, ce protocole d'échanges décentralisés permet la création des contrats intelligents par ses utilisateurs. Ces contrats déployés et consultables publiquement dans une blockchain sont basés sur un protocole informatique permettant de vérifier ou de mettre en application un contrat mutuel.

« Ether » est unité de compte utilisé par le réseau Ethereum comme moyen de paiement de ces contrats. « ETH » est le sigle qu'utilisent les plates formes d'échanges. Précédé par le Bitcoin, Ethereum, avec une capitalisation supérieure à 13 milliards d'euros en Janvier 2019 est la deuxième plus importante monnaie cryptographique décentralisée. Comme le bitcoin, Il utilise actuellement le procédé de minage de type Proof-of-Work qui sera bientôt

26

changé dans version ultérieure du logiciel afin de limiter la consommation d'électricité du réseau (version ultérieure du logiciel prendra le nom de Serenity) en un minage de type Proof-of-Stake.

Figure 11: Logo du projet Ethereum, utilisé pour la première fois en 2014

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il ne faut pas de tout pour faire un monde. Il faut du bonheur et rien d'autre"   Paul Eluard