Blockchain Chap3
Blockchain Chap3
Blockchain Chap3
Algorithmes de Consensus
Algorithmes de consensus – Introduction 2
Hanen IDOUDI
La défaillance – panne 3
u Modèles de défaillances
u Défaillance totale (Fail-stop)
u Défaillance Byzantine
u Modèle de réseau
u Synchrone
u Tous les messages arrivent en un temps borné
u Asynchrone : Les messages peuvent être dupliqués, retardés, perdus
Hanen IDOUDI
Défaillance Byzantine 4
u Le problème des généraux byzantins :
Des génér aux de l’armée byzantine campent autour d’une cité ennemie. Ils ne
peuvent communiquer qu’à l’aide de messagers et doivent établir un plan de bataille
commun (attaque ou retraite), faute de quoi la défaite sera inévitable. Cependant un
certain nombre de ces généraux peut s’avérer êt re des traît res, qui essayeront donc de
semer la confusion parmi les autres. Le problème est donc de trouver un algorithme
pour s’assurer que les généraux loyaux arrivent tout de même à se mettre d’accord sur
un plan de bataille.
Hanen IDOUDI
4
Le Consensus
Le problème des généraux byzantins :
Réseau non fiable,
Défaillance absence de confiance, compromission
Byzantine 5 de noeuds
Nœud compromis informations erronées ou incohérentes
Le problème des généraux byzantins :
Cas 1: Cas
Commandant malveillant
1: Commandant malveillant Cas
Cas 2: ungénéral
2: Un général malveillant (G2)
malveillant
C C
Attaque Défense Attaque Attaque
Défense
Défense Défense
G1 G2 G1 G2
Attaque Attaque
? ?
Hanen IDOUDI
Les Miners doivent se mettre d’accord sur la validité (authenticité),des
données insérées dans le blockchain,
décision concernant l’ajout des nouvelles transactions
Hella Kaffel-Ben Ayed Blockchain 2019 27/11/2019
Défaillance Byzantine 6
u Définition
u Défaillance d’un ou plusieurs participants au consensus dans laquelle
les participants défaillants peuvent paraître sains mais ne suivent pas le
protocole.
u Inclus
u Programmes défaillants
u Attaquant malicieux
Hanen IDOUDI
Problème des réseaux ouverts 7
u Les communications ne sont pas authentifiées
u Les nœuds vont et viennent
u Le nombre de participants est fluctuant
u Conséquences
u Il est à présent possible de créer un grand nombre de noeuds malicieux
à la volées, et donc d’obtenir la majorité (Sybil attack).
u Il faudra donc s’assurer que casser le consensus est trop coûteux.
Hanen IDOUDI
Algorithmes de consensus et Blockchain -
8
Définition
u Consensus = agrément établi entre les nœuds sur le nouveau bloc
validé et sur les nœuds qui vont ajouter le nouveau bloc à la
chaîne,
Hanen IDOUDI
Algorithmes de consensus et Blockchain -
9
Définition
u Deux types d’algorithmes de consensus:
u Par preuve:
u Les nœuds doivent montrer (prouver) leur qualification pour pouvoir ajouter
un nouveau bloc.
u Blockchain publiques (nombre de nœuds élevé) : Le meilleur peut recevoir
une récompense (reward)
u Plusieurs algorithmes : proof of work (PoW), proof of stake (PoS), proof of
elapsed time, proof of luck, and proof of space.
u Par vote:
u La décision finale est basée sur le résultat trouvé par la majorité des
nœuds.
u Blockchain privées ( nombre de nœuds réduit) : Au moins T nœuds doivent
trouver la solution
u PBFT
Hanen IDOUDI
Preuve de travail (Proof of Work- PoW) 10
u Implémenté par BITCOIN :
u Objectif : Contrôler arbitrairement la difficulté de la tâche de création
et d’ajout de blocs afin de rendre le « minage » difficile et par la même
occasion empêcher les mineurs malveillants d’inonder le réseau de
blocs.
u Calcul d’une donnée (minage) qui ne peut être obtenue que par la
réa lisation d’une tâche fortement consommatrice en puissance de
calcul (challenge crytopgraphique).
u Pour qu’un bloc soit accepté par l’ensemble des participants (et
obtenir le consensus), un mineur doit fournir une preuve de travail
(PoW) qui prend en compte toutes les informations du bloc.
Prev_Hash Timestamp
H()
Tx_Root Nonce
Hash : 000000000000000001e2e3256cc81bf2c1c3e1d9230b1124c5cfd411adf03be2e
Hanen IDOUDI
Nonce: 10409895
Preuve de travail (Proof of Work- PoW) Bloc 44
12
H()
(Bloc 43)
AàB
u Si un ensemble de Miners
Bloc 42 Bloc 43
trouvent la solution avant de Signatur
H() H() e
recevoir le broadcast du (Bloc 41) (Bloc 42) PoW
gagnant
Données Données H()
(Bloc 44)
Signatur Signatur
u Des embranchements se créent e e Bloc 44
à fork PoW PoW
H()
H() H() (Bloc 43)
(Bloc 42) (Bloc 43)
AàC
u à Que faire si plusieurs versions
de la blockchain circulent? Signatur
e
PoW
H()
(Bloc 44)
Hanen IDOUDI
Preuve de travail (Proof of Work- PoW) 13
u La meilleur des chaînes : fitness
u La règle de consensus consiste à choisir la chaîn e de blocs valides la
plus longue.
u Implicitement, il s’agit de celle qui a nécessité ́ le plus de travail.
u Une transaction ancienne est plus sûre
Aà
C
Hanen IDOUDI
Preuve de travail (Proof of Work- PoW) 14
u PoW est un problème mathématique intensif en calcul
u Fortement critiqué car il est considéré comme excessivement
difficile, lourd en calcul et très coûteux en termes de
consommation d'énergie.
u Cependant, il n’est pas possible de réduire le travail lié au PoW :
u Le PoW doit être difficile car, si on veut obtenir une «rémunération»
(Bitcoin) à la suite d'un travail exécuté, cela ne peut pas être facile à
faire.
Hanen IDOUDI
Preuve de travail (Proof of Work- PoW) 15
u PoW est un système démocratique : Tout le monde peut le faire. En
théorie, tout dispositif peut résoudre le problème de hachage.
Hanen IDOUDI
Preuve de travail (Proof of Work- PoW) 16
u Sûreté et progression en PoW
u Propriétés probabilistes, si la majorité de la puissance de calcul est
honnête :
u Sûreté
u Les blocs sont construits plus rapidement sur une chaine valide. Un bloc non
valide deviendra rapidement orphelin.
u Progression
u La probabilité qu’un bloc soit inclus est lié à la longueur de la chaîne sur
laquelle il est construit.
u Les nœuds sont donc incités à inclure les blocs proposés par d’autres.
Hanen IDOUDI
Preuve d’enjeux (Proof of Stake - PoS) 17
u Proof of Stake remplace le minage PoW par un mécanisme dans
lequel les blocs sont validés en fonction du nombre de coins
verrouillés en stake (enjeu) par les participants.
u Les participants au réseau doivent posséder une certaine
quantité de cryptomonnaies de ce réseau à une « mise en
jeu » ou un « enjeu ».
u Leader désigné de manière pseudo-aléatoire : La Blockchain est
sécurisée par un processus d'élection pseudo-aléatoire prenant en
compte la richesse du nœud et l'âge des coins (le temps pendant
lequel les pièces sont verrouillées) auxquels s’ajoute un facteur de
randomisation.
u Le validateur de chaque bloc (également appelé forgeur) est
déterminé par un investissement de la crypto-monnaie en elle-
même et non par la quantité de puissance de calcul allouée.
Hanen IDOUDI
Preuve d’enjeux (Proof of Stake - PoS) 18
Hanen IDOUDI
Preuve d’enjeux (Proof of Stake - PoS) 19
u PoS est basé sur des algorithmes déterministes :
u Les validateurs de blocs sont élus en fonction de la nature de l'enjeu.
u Si la sélection du solde du compte comme seul critère pour définir la
validité du prochain bloc à une centralisation non souhaitée : par
conséquent, les membres riches d'un réseau bénéficieraient de grands
avantages.
u Différentes méthodes de sélection pour définir un enjeu, ou une
combinaison d'enjeux :
u le solde effectif des cryptomonnaies sur un compte,
u un temps mort pendant lequel les tokens doivent être dans une blockchain
pour contribuer à la génération de blocs,
u l'âge de la cryptomonnaie (le nombre de cryptomonnaies détenues dans
un wallet multiplié par le nombre de jours que ces cryptomonnaies ont
passé dans ce wallet),
u d'autres facteurs.
Hanen IDOUDI
Preuve d’enjeux (Proof of Stake - PoS) 20
Sureté et progression en PoS
Hanen IDOUDI
Preuve d’enjeux (Proof of Stake - PoS) 21
Avantages
u PoS comble certaines des lacunes d'un système PoW.
u Les utilisateurs n'ont plus besoin d'investir dans des ordinateurs puissants
dans le seul but d'avoir une chance de gagner.
u PoS nécessite moins de puissance informatique et a donc également
moins d'impact sur l’énergie et l'environnement que la PoW.
Inconvénients
u Certains réseaux PoS présentent des défauts majeurs, selon les
variantes utilisées pour définir l'enjeu d'un réseau.
u Les créateurs de blocs peuvent exercer une très grande puissance s'ils
sont peu nombreux dans le réseau et qu'ils valident toutes les
transactions.
u Le deuxième défaut majeur est qu'un certain nombre de systèmes PoS
favorisent les utilisateurs riches : plus vous avez de cryptomonnaies, plus
vous avez d’impact sur les votes.
Hanen IDOUDI
Delegated PoS 22
u Variante du POS
Délégation
u Les possesseur de jetons peuvent déléguer leur droit de production de
blocs.
u Les utilisateurs du réseau sélectionnent un nombre suffisant de
délégués (également appelés témoins) pour assurer la
décentralisation du réseau.
u Les délégués élus vérifient les transactions et génèrent des blocs.
u Si un délégué reçoit une récompense globale, il la partage
généralement avec les wallets qui ont voté pour lui et qui ont
également un enjeu dans le réseau.
u Avantage
u Nombre de proposeurs/validateurs réduits à Infrastructure plus légère
Hanen IDOUDI
Practical Byzantine Fault Tolerance (PBFT) 23
Hanen IDOUDI
Consensus algorithms - strengths and
weaknesses 26
Requires validators to solve difficult cryptographic puzzles.
Pros: Works in untrusted networks.
Cons: Uses much energy, and slow to confirm transactions.
Proof of work Example usage: Bitcoin and Ethereum
Hanen IDOUDI