Introduction générale
La blockchain est un terme dans le domaine des technologies de
l'information. Il s'agit essentiellement d'une base de données
partagée et les données ou informations qui y sont
stockées ont les caractéristiques "infalsifiable", "trace
laissée", "traçable", "ouverte et transparente" et "maintenance
collective". Sur la base de ces caractéristiques, la technologie
blockchain a jeté des bases solides de « confiance »,
créant un mécanisme de coopération fiable et ayant de
larges perspectives d'application.
Le 10 janvier 2019, le National Internet Information Office a
publié le « Règlement sur la gestion des services
d'information sur la blockchain ». Le 24 octobre 2019, lors de la
dix-huitième étude collective du Bureau politique du
Comité central, le secrétaire général Xi Jinping a
souligné que "prendre la blockchain comme une percée importante
dans l'innovation indépendante des technologies de base"
"accélérer le développement de la technologie blockchain
et l'innovation industrielle". La « blockchain » est entrée
dans le champ de vision du public est devenue le centre d'intérêt
de la société.
La blockchain provient du Bitcoin de Satoshi Nakamoto. En tant
que technologie, la blockchain est une solution technique qui ne repose pas sur
des tiers et utilise ses propres noeuds décentralisés pour
stocker, vérifier, transférer et communiquer les données
du réseau. Par conséquent, c'était sous un angle de
comptabilité financière, la technique blockchain est
considérée comme un grand centre de facturation de réseau
distribué. Tout le monde peut utiliser en même temps les normes
techniques, ajoute leurs propres informations, étend La blockchain et
continue de répondre aux besoins de saisie de données induites
par divers besoins. Cette technologie, qui fait l'objet de notre travail, a
été adaptée avec succès sur l'étude et la
conception d'un réseau bancaire sécurisée.
Le manuscrit est divisé en quatre chapitres :
Le premier chapitre est consacré tout d'abord à
la présentation générale de l'ouvrage dont nous avons
couvert l'évolution de la blockchain, son histoire et sa
définition. Ensuite, nous présenterons les avantages de la
conception et le fonctionnement de cette technologie passant par la
présentation de l'importance de la blockchain suivie par certains cas
d'utilisation. Nous définirons également les types de la
blockchain, et nous conclurons par les mécanismes de
sécurité dans les réseaux.
Le deuxième chapitre présente l'étude
théorique de la technologie blockchain pour l'étude et la
conception d'un réseau bancaire sécurisé avec la
blockchain. Dans cette étude, nous allons détailler le concept de
crypto-monnaies qui permettent les paiements sécurisés en se
basant sur plusieurs méthodes de chiffrements. Nous définirons
également, les divers algorithmes de cryptage et techniques
cryptographiques qui protègent les informations, tels que le cryptage
à courbe elliptique, les paires de clés public-privée et
les fonctions de hachage. Ensuite et dans le but de valider la
compréhension de la blockchain, nous avons étudié le
procédé technique sur lequel repose cette technologie.
Dans le troisième chapitre, nous allons
développer les réseaux informatiques qui consistent de
créer un réseau bancaire. Nous couvrirons les types des
réseaux tels que PAN, MAN, WAN, ect. Pour cela, nous allons
étudier de façon approfondie l'adressage IP. Par la suite,
[2]
Introduction générale
nous donnerons une vue globale sur le modèle OSI et
TCP/IP, ainsi les notions de protocole et routage.
Dans le quatrième chapitre, nous exposerons une
nouvelle technique qui est basée sur la combinaison entre la technologie
blockchain et le réseau bancaire. Cette technique nous permettra de
construire un réseau bancaire avec un routage amélioré,
sécurisé et rendant le trafic plus efficace. Pour répondre
à ce besoin de communication sécurisé, nous avons
utilisé un réseau privé virtuel (VPN) avec ses
différentes topologies. Dans ce cadre, nous allons présenter la
fonction constructrice, puis nous sommes passés à la
création de méthodes étonnantes telles que creatNewBlock,
creat NewTransaction, getLastBlock, etc. Nous proposerons, par la suite, la
méthode de hachage, le hachage SHA256, et nous créerons une
méthode pour générer un hachage pour nos données de
bloc. Nous avons également appris ce qu'est une preuve de travail et
comment cela fonctionne. De même, nous configurerons Express.js dans
notre projet, et verrons comment utilisez-le pour construire notre API /
serveur. Nous conclurons par la création d'un réseau
décentralisé.
Chapitre I Généralités et
présentation de l'ouvrage
[3]
I.1 Historique
Au début des années 1990, deux crypto-logues
Américains Stuart Haber et W. Scott Stornetta imaginent un
système informatique que tout le monde peut écrire mais qui est
impossible à effacer et indestructible. Puis dans les années
1991, les chercheurs ont trouvé une solution qui utilise des techniques
de sécurité cryptographique pour garantir que tous les fichiers
soient sécurisés par la Blockchain. Plus tard en 1992, la
technologie de MarkleTree également été
intégrée du système, permettant de stocker
simultanément plusieurs documents dans le même bloc. Il est
dommage que cette technologie ait ensuite été ignorée et
lentement abandonnée. Malheureusement, ce brevet a été
annulé en 2004 parce qu'il n'avait pas été mis à
jour, quatre ans seulement avant le boom des Bitcoins. En 2004, l'informaticien
et activiste en cryptographie Hal Finney (Harold Thomas Finney II) a
présenté un système de preuve de travail
réutilisable appelé PoW (proof of work). Le système
reçoit des jetons de travail hashcash2 irremplaçables,
qui créent en retour des pièces pouvant être
transférées entre utilisateurs et signées par
RSA.1
PoW peut être considéré comme un premier
prototype de la blockchain, constituant une première étape
importante dans le cryptage de l'historique des devises.
La fin de l'année 2008 a vu la publication d'un livre
blanc sur un système de paiement électronique
décentralisé poste à poste appelé Bitcoin sur une
liste de diffusion cryptée par des individus ou des groupes sous le
pseudonyme Satoshi Nakamoto. Bitcoin est basé sur le calcul de la preuve
de travail Hascash2. Par rapport à l'opération
très fiable POW, Bitcoin utilise un protocole décentralisé
de point à point pour vérifier et suivre les transactions afin
d'éviter une double consommation. En bref, Bitcoin "exploite" en
utilisant le mécanisme de contrôle du travail de chaque mineur,
puis vérifié par des noeuds décentralisés du
réseau (2J.
Le 3 janvier 2009, Satoshi Nakamoto a extrait et
exploité le premier bloc de Bitcoins. Il a également reçu
un bonus de 50 Bitcoins. Le 12 janvier 2009, le premier destinataire de Bitcoin
était Hal Finney, qui avait reçu 10 Bitcoins de Satoshi Nakamoto.
Il s'agissait de la première transaction confirmée par Bitcoin au
monde (1J.
En 2013, le programmeur et co-fondateur de Magazine Bitcoin,
VitalikButerin, a déclaré que Bitcoin devait écrire un
langage de script pour créer des applications
décentralisées. Ne parvenant pas à obtenir un accord au
sein de la communauté, Vitalik a commencé à
développer une nouvelle plate-forme d'informatique répartie
basée sur une chaîne de blocs, Ethereum, dotée de fonctions
de script, également appelées contrats
intelligents (3J.
1 RSA : est l'un des
premiers crypto systèmes à clé publique et est largement
utilisé pour la transmission sécurisée de
données
2 Hashcash : est un
algorithme de preuve de travail, qui a été utilisé comme
technique de contre-mesure de déni de service dans un certain nombre de
systèmes.
Chapitre I Généralités et
présentation de l'ouvrage
[4]
I.2 Définition
Le monde change continuellement, entraine par les innovations
technologiques qui affectent notre façon de vivre et de faire des
affaires. Cependant, si les technologies de l'information et de la
communication ont profondément affecté l'organisation de la
production, elles ne sont pas encore réussies à numériser
les transactions3 commerciales. Malgré les efforts
déployés récemment pour mettre en place des processus
électroniques destinés à traiter certains aspects des
procédures commerciales, les transactions commerciales restent encore
fortement dépendantes du papier. Les problèmes de
sécurité surgissent sur les flux de données à
travers les frontières. Une nouvelle technologie, Blockchain, est
considérée comme un changeur de jeu possible avec son
mécanisme unique de renforcement de la confiance, est devenue une
direction importante pour l'intégration en profondeur des finances et de
la technologie. Mais qu'est-ce que la Blockchain et quel est le potentiel de
cette technologie pour le commerce international ?
(4]
La Blockchain est partout en ce moment. Mais tout le monde n'a
pas encore bien compris de quoi on parlait, la phase
d'évangélisation n'est pas encore finie, voici une explication
assez courte qui peut vous aidez à comprendre de quoi il s'agit et aussi
à l'expliquer aux autres :
Imaginez un grand livre ou un enregistrement numérique
de transaction que tous peuvent lire gratuitement et librement, ce livre est
décentralisé, aucune entité ne contrôle le
réseau et c'est un registre distribué. Les enregistrements (les
utilisateurs) sont partagés avec tous les participants, sans qu'il y'ait
besoin d'une autorité centrale et dans lesquels les transactions sont
stockées de manière hautement sécurisée
vérifiable et permanente, à l'aide de diverses techniques
cryptographiques (5].
I.3 Architecture technique de la blockchain
Cette partie se concentre sur l'analyse du cadre technique de la
technologie Blockchain.
Après une mise en perspective et une justification de
son intérêt pour l'émergence de nouveaux cas d'usage, cette
partie décrit les éléments constitutifs de la
technologie.
Nous allons présenter les produits à
différentes étapes de la blockchain avant de conclure par un
panorama de technologies et outils.
Dans la figure I-1, la division de base est faite pour 9
dimensions. Ensuite, nous analysons en détail le contenu
spécifique de chaque module (8].
3 Transaction : est
tout type d'action impliquée dans la conduite des affaires ou une
interaction entre des personnes. Un accord commercial important peut être
appelé une transaction, en particulier l'achat ou la vente de
marchandises, mais vous pouvez appeler une transaction tout échange avec
une autre personne.
Chapitre I Généralités et
présentation de l'ouvrage
Application supérieure
Gestion d'opération
Gestion du système
Contrat intelligent
Consensus
Grand livre
Composants de base
Interface
[5]
Infrastructure
Figure I- 1: Architecture technique de la technologie
blockchain I.3.1 Infrastructure
La couche d'infrastructure fournit le système
d'exploitation et les installations matérielles y compris les serveurs
physiques, les hôtes cloud, etc. pour le fonctionnement
normal du système blockchain. Elle peut être
décomposée en trois domaines :
§ Ressources informatiques (CPU, GPU, ASIC, etc.).
§ Ressources de stockage (disque dur).
§ Cette partie des ressources du réseau (bande
passante) n'est pas très différente des autres systèmes.
Elle n'est rien de plus qu'orientée vers le calcul, certaines
orientées vers le stockage et d'autres fortement dépendantes du
réseau [9].
I.3.2 Les composantes de base
La couche de composants de base implémente
l'enregistrement, la vérification et la diffusion d'informations dans le
système de blockchain. La blockchain est un système
distribué, c'est-à-dire que l'ensemble des blocs signés
est répliqué sur tous les noeuds du réseau. Comme tout le
monde, vous pouvez, si vous le souhaitez, utiliser votre ordinateur pour en
faire un noeud. Pour cela, vous devez télécharger l'ensemble des
blocs signés jusqu'à présent. Pour le bitcoin, cela
représente déjà plus de 180 giga-octets.
Quand un noeud arrive à signer un nouveau bloc en
premier, ce dernier est ajouté à la blockchain de tous les autres
noeuds du réseau de manière à toujours avoir une
blockchain à jour partout sur le réseau. Il y a
énormément de noeuds dans le monde et ils ont tous une copie
complète de la blockchain.
§
Chapitre I Généralités et
présentation de l'ouvrage
[6]
Découverte du réseau Le
système de blockchain est composé de nombreux noeuds
connectés via le réseau, en particulier dans le système de
chaîne commun, le nombre de noeuds est souvent important. Chaque noeud
doit découvrir les noeuds voisins via le protocole de découverte
du réseau et établir une liaison avec les noeuds voisins.
§ Une fois que le noeud
émetteur-récepteur de données est
connecté au noeud voisin via le protocole de communication
réseau, le module émetteur-récepteur de données
termine l'échange de données avec d'autres noeuds. La diffusion
des transactions, le consensus des messages et la synchronisation des
données sont tous effectués par ce module.
§ Les algorithmes cryptographiques sont
utilisés pour garantir l'intégrité de la blockchain,
l'identité du participant, l'authenticité des transactions et
parfois la confidentialité du contenu, y compris divers algorithmes de
codages, des algorithmes de hachage, des algorithmes de signature, des
algorithmes de protection de la confidentialité, etc.
§ Stockage de données Les
données du système de blockchain utilisent différents
modes de stockage de données.
Les modèles de stockage incluent des bases de
données relationnelles telles que MySQL3et des bases de
données non relationnelles telles que LevelDB4.
Généralement, les données à
sauvegarder comprennent des données publiques (par exemple :
données de transaction, données d'état, etc.) et des
données privées locales.
§ Notification de message : Le module
de notification de message fournit des services de notification de message
entre différents composants de la blockchain et entre différents
noeuds.
Une fois la transaction réussie, le client doit
généralement suivre les enregistrements pendant
l'exécution de la transaction et obtenir les résultats de
l'exécution de la transaction. Le module de notification des messages
peut compléter la génération, la distribution, le stockage
et d'autres fonctions des messages pour répondre aux besoins du
système de blockchain.
|