0% ont trouvé ce document utile (0 vote)
213 vues36 pages

Types de Blockchains : Publics, Consortium, Privés

Ce document décrit les différents types de blockchains: publiques, consortium et privées. Il explique ensuite le fonctionnement des smart contracts sur Ethereum ainsi que des exemples d'applications. Finalement, il aborde les concepts de consensus et réseaux associés à Ethereum.

Transféré par

Mohamed Ali Jèbri
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
213 vues36 pages

Types de Blockchains : Publics, Consortium, Privés

Ce document décrit les différents types de blockchains: publiques, consortium et privées. Il explique ensuite le fonctionnement des smart contracts sur Ethereum ainsi que des exemples d'applications. Finalement, il aborde les concepts de consensus et réseaux associés à Ethereum.

Transféré par

Mohamed Ali Jèbri
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd

Chapitre 2

Type de Blockchains
• On peut classer les types de blockchain en
trois catégories :
a) unpermissioned  (publiques)
b) consortium
c) permissioned  (privées)
A)  Blockchains unpermissioned (publiques)

• Une blockchain publique est une blockchain à laquelle tout


le monde peut participer sans restriction:
– Une blockchain publique telle que bitcoin permet à quiconque de
stocker, envoyer et recevoir des données. qui vous est fourni en
tant que membre du réseau.
– le consentement à lire et à écrire des données sur une blockchain
publique est partagé équitablement entre tous les participants.
– La blockchain publique n'offre aucun privilège spécial à qui que ce
soit.
 On dit que ces blockchains sont entièrement décentralisées.
=> Bitcoin ou Ethereum
B)   Blockchains consortium
• Une blockchain consortium est une blockchain dans laquelle le consensus
est contrôlé par un ensemble présélectionné de noeuds. Par exemple, on
pourrait imaginer un consortium de 15 institutions financières, dont
chacune gère un noeud et dont au moins 10 doivent signer chaque bloc
pour que ce bloc soit considéré comme valable. Le droit de lecture peut
être public, ou limité aux participants.
• On dit que ces blockchains sont partiellement décentralisées.
• La blockchain est partagée entre différents acteurs ayant un intérêt à
collaborer ensemble.
Exemple:
la blockchain Corda [Link] partagée par différentes banques
pour être utilisée pour du règlements,
Certaines banques ont quitté le projet pour des raisons concurrentielle
Blockchain fédérateur (partage des cout de maintenance), et devient centralisé
C)   Blockchains permissioned (privées) 
• Une blockchain entièrement privée est une blockchain dans laquelle les
droits d’écriture sont centralisées et sous la responsabilité d’une seule
organisation.

• Par exemple, American Express a déployé sa propre blockchain


Hyperledger

• Ce c’est pas évident ni immédiat: une blockchain privée est l’équivalent


d’un système centralisé des plus classiques, avec en plus une passe de
vérification cryptographique attachée à chacune de ses opérations.
Mais y-a-t il vraiment besoin d’une couche de surprotection
cryptographique lorsque tous tourne dans un réseau LAN ?
Comment vous orienter sur la bonne
option ?
• En fait, la vraie question à se poser est de
savoir avant toute chose si vous avez
réellement besoin d’une blockchain pour
réaliser le cas d’usage que vous avez en tête.
Pour cela, l’arbre de décision ci-dessous vous
donnera toutes les réponses aux questions
que vous vous posez.
Ethereum -Timeline
Ethereum
• La blockchain Ethereum est devenue aussi populaire
que le bitcoin. Créée en 2014, Ethereum utilise aussi
sa propre crypto-monnaie : l'ether. Son cours est
moins élevé (environ 700 dollars début mars 2018)
que celui du bitcoin .
• Contrairement au bitcoin, qui permet seulement
d'effectuer des transactions simples (principalement
des paiements), l'Ethereum va plus loin. Il permet de
faire tourner des "smart contract", des programmes
autonomes qui exécutent automatiquement des
actions validées au préalable par les parties
prenantes.
Qu'est-ce qu’est un smart contract exactement ? 
• Ethereum introduit un concept supplémentaire dans l’univers des crypto-
monnaie: les smart contracts (contrats intelligents en français). Un smart
contract est un programme permettant de réaliser des transactions
conditionnelle: Bob recevra x ether (la devise de la plateforme Ethereum) de
la part d’Alice si Trump est réélu en 2020.

• Ces programmes sont diffusés à l’ensemble des noeuds du réseau


et sont renforcés par les mécanismes de consensus sous-jacents à
la blockchain. Ils exposent des méthodes permettant de modifier
les données du contrat ou d’exécuter une action particulière. Dès
lors qu’un utilisateur appelle une méthode d’un contrat, et met
donc à jour ses données, la commande est répliquée sur
l’ensemble des nœuds et rejouée par le réseau tout entier.
Comment fonctionne un smart contract sur
Ethereum ?
• Les langages les plus utilisés pour la rédaction de smart contracts sur
Ethereum sont Solidity et Vyper, bien que d'autres soient en développement.
• Solidity Le langage le plus populaire sur Ethereum, inspiré de C++, Python et
JavaScript.
• Vyper Langage axé sur la sécurité pour Ethereum, basé sur Python.

• Les contrats ont un large éventail de possibilités:


• Fonctionner comme des comptes multisignatures implémentant des
conditions supplémentaires, comme le fait que les fonds ne puissent être
dépensés que lorsqu’un pourcentage défini des signataires donnent leur
accord.
• Gérer les accords entre utilisateurs, comme les accords contractuels
classiques…
• Une fois que les différentes procédures et conditions de ces contrats sont codées,
ils sont déployés sur Ethereum et exécutés dans l’Ethereum Virtual Machine
• Pour être exécutés sans problème par l’EVM, les contrats se doivent de répondre à
trois critères et doivent être :
Déterministes (pour de mêmes arguments, les fonctions du contrats doivent toujours
renvoyer le même résultat)
Finalisables 
Isolés
• Le problème réside dans le fait que pour certains programmes, il n’est pas possible
de savoir s’il se finalisera un jour ou s’il tombera dans une boucle infinie. C’est pour
éviter le problème de boucle infinie que le gas a été implémenté sur Ethereum.

Cette unité de mesure, sous forme de frais, permet de définir la durée pendant
laquelle un contrat ou une transaction ethereum sera exécutée sur la blockchain, si
elle n’est pas finalisée. 
Exemples de smart contracts Ethereum

• Après plusieurs années de fonctionnement et de mise à l’épreuve, les smart contracts


d’Ethereum ont su attiser l'enthousiasme des développeurs. Ces derniers ont imaginé
de nombreuses applications dans un large panel de domaines. 
Assurances
• En septembre 2017, une filiale du groupe d’assurance AXA nommée Fizzy a lancé un
service d’assurance 100% automatisé grâce à des smart contracts. Ce service indemnise
automatiquement les passagers d’un vol ayant subi un retard supérieur à 2 heures. 
Santé
• Dans ce domaine nous pouvons citer Kidner Project, un projet auquel a participé la
Française Sajida Zouarhi souhaitant décentraliser et augmenter la traçabilité de la
gestion des transplantations d’organes.
Entreprises
• Les smart contracts peuvent être utilisés dans le cadre de la gestion d’une entreprise.
Par exemple, l’ensemble des versements des salaires peuvent être automatisés de
manière simple et fiable.
Réseaux de Blockchain Ethereum
• Ethereum utilise 04 types de réseaux Blockchain (MainNetet TestNet)
Main Ethereum Network
La principale blockchain publique Ethereum.
ETH réel, valeur réelle et conséquences réelles.
RopstenTest Network
C’est une Blockchain Ethereum publique de test dans le réseau.
La cryptomonnaie ETH sur ce réseau n'a aucune valeur.
KovanTest Network
Blockchain Ethereum publique de test qui utilise un protocole de consensus Aura
avec preuve d'autorité (prrof-of-authority)
Le réseau de test Kovanest pris en charge par le client Ethereum Parity
uniquement.
La cryptomonnaie ETH sur ce réseau n'a aucune valeur.
RinkebyTest Network
Blockchain publique de test Ethereum avec un protocole de consensus «Clique»
Le consensus
• Les blockchains publiques (décentralisées) sont
construites en tant que systèmes distribués et, puisqu'ils
ne dépendent pas d'une autorité centrale, les nœuds
distribués doivent se mettre d'accord sur la validité des
transactions. C’est là que les algorithmes de consensus
entrent en jeu.
• Chaque consensus vise à répondre à une question
précise : comment pouvons-nous nous assurer de
l’authenticité de chaque transaction ? N’importe quel
individu peut soumettre une information et décider de la
stocker sur une blockchain. Il est donc primordial de
pouvoir passer en revue cette information et décider par
consensus s’il est possible de l’ajouter ou non au réseau.
Ce protocole est donc essentiel et a deux fonctions :
• Il permet à la blockchain d’être mise à jour tout en
s’assurant que chaque bloc de la chaîne est valide. Les
personnes participant à la validation des blocs (qu'on
appelle les "noeuds" du réseau) doivent avoir une
incitation à s'impliquer dans la sécurité du réseau, cette
incitation prenant généralement la forme de récompense
pécuniaire.
• Il empêche qu’une seule et même entité puisse contrôler
l’ensemble du réseau et garantit ainsi sa décentralisation.
• Ainsi, dans le cadre d’un système blockchain, parvenir à un
consensus garantit que l’ensemble des nœuds du réseau
s’accordent sur un même état du registre et des données qui y
sont stockées.

• Pour déterminer plus précisément l’efficacité d’un mécanisme


de consensus, on évalue ce dernier selon 3 critères principaux :

Terminaison (Liveness) : Tous les nœuds opérationnels participant au


consensus doivent finalement produire une valeur.
Sûreté / Consistance (Safety) : Tous les nœuds opérationnels doivent
s’accorder en temps réel sur l’une des valeurs proposées par l’un des
nœuds. Cette valeur doit être valide selon les règles définies par le
mécanisme.
Tolérance aux fautes : Le mécanisme doit être capable de fonctionner
même si un ou plusieurs nœuds sont défaillants.
• Malheureusement, Fischer, Lynch et Patterson, trois chercheurs
en informatique, ont montré en 1985 qu’aucun algorithme
déterministe de consensus ne permettait de garantir en même
temps ces trois propriétés au sein d’un système asynchrone tel
qu’un réseau de nœuds distribués (FLP Impossibility).
• Ainsi, en règle générale, puisque la tolérance aux fautes est
absolument vitale dans le cadre d’un réseau de nœuds
distribués, les mécanismes de consensus doivent choisir entre
la sûreté et la terminaison en fonction des exigences de
l’application pour laquelle a été conçue la plateforme
distribuée.
Différents types d'algorithmes de consensus

• Il existe plusieurs types d'algorithmes de


consensus. Les implémentations les plus
courantes sont PoW et PoS. Chaque solution
présente des avantages et des inconvénients
lorsqu’elle tente d’équilibrer sécurité,
fonctionnalité et scalabilité.
Preuve de travail (PoW)

• PoW était le premier algorithme de consensus à avoir été créé. Il est


utilisé par Bitcoin et de nombreuses autres crypto-monnaies.
L'algorithme de preuve de travail est une partie essentielle du
processus de minage.
• Le minage via PoW implique de nombreuses tentatives de hachage,
donc plus de puissance de calcul, ce qui signifie plus d'essais par
seconde. En d'autres termes, les mineurs avec un taux de hachage
élevé ont de meilleures chances de trouver une solution valable (alias
hachage de bloc) pour le bloc suivant . L'algorithme de consensus
PoW garantit que les mineurs ne peuvent valider un nouveau bloc de
transactions et l'ajouter à la blockchain que si les nœuds distribués
du réseau parviennent à un consensus et conviennent que le hachage
de bloc fourni par le mineur est une preuve de travail valide.
Preuve d’enjeu (PoS)
• Une étude de 2014 estimait ainsi que sur la blockchain Bitcoin la validation
des blocs par les mineurs nécessitait une consommation d’électricité
similaire à celle d’un pays comme l’Irlande.
• La Proof-of-Stake, ou preuve d’enjeu, repose sur une logique tout à fait
différente que la preuve de travail et de nécessite pas de puissance de calcul
particulière. Dans la Proof-of-Stake, les participants du consensus peuvent
être assimilés à des actionnaires d’une entité business ayant le privilège de
participer à son mécanisme de consensus.
• La PoS est un consensus nettement moins onéreux que la PoW, car elle ne
réclame ni dépenses énergétiques, ni matériel particulier. Concrètement,
pour valider un bloc, les nœuds doivent ici prouver leur possession d’une
certaine quantité de cryptomonnaie, et la mettre en gage sur le réseau. Plus
cette quantité est importante, plus un nœud aura de chances d’être choisi
pour mettre à jour le registre d'une blockchain. Le consensus de PoS
considère en effet que ces personnes sont les plus susceptibles de vouloir
lutter contre une attaque du réseau, qui pourrait entièrement les ruiner.
En quoi les algorithmes de consensus sont-
ils importants?
• Ils fournissent aux nœuds distribués un moyen de parvenir à un
consensus incontestable sur le registre de la blockchain. S'accorder
sur cette immuabilité de la blockchain est essentiel au bon
fonctionnement d'un système économique numérique.
• L’algorithme de consensus Proof of Work est considéré comme l’une
des meilleures solutions au problème des généraux byzantins, qui a
permis la création de Bitcoin en tant que système tolérant aux pannes
byzantines. Cela signifie que la blockchain Bitcoin est très résistante
aux attaques, comme l’attaque à 51% (ou l’attaque majoritaire). Non
seulement parce que le réseau est décentralisé, mais aussi grâce à
l'algorithme PoW. Les coûts élevés liés au processus de minage
rendent très difficile et improbable le détournement des mineurs
dans le but de perturber du réseau.
• Par la suite, ces mécanismes ont tâché de résoudre le problème
des généraux byzantins et d’endiguer les fautes “byzantines”
où un nœud “traître” transmet volontairement des messages
erronés afin d’empêcher l’établissement d’un consensus.
Exemple de modéles

Vous aimerez peut-être aussi