Anúncio

La Duck Conf - Tour d'horizon des algorithmes de consensus en 2021

OCTO Technology
9 de Mar de 2021
Anúncio

Mais conteúdo relacionado

Apresentações para você(20)

Similar a La Duck Conf - Tour d'horizon des algorithmes de consensus en 2021(20)

Anúncio

Mais de OCTO Technology(20)

Anúncio

La Duck Conf - Tour d'horizon des algorithmes de consensus en 2021

  1. 1 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Les nouveaux consensus blockchain DuckConf 2021 Aymeric Bethencourt & Frank Hillard Version 1.4
  2. Coin Coin ! 2 La Duck Conf by OCTO Technology © 2021 - All rights reserved 01 02 Sommaire Definitions Les consensus en 2021
  3. Coin Coin ! 3 La Duck Conf by OCTO Technology © 2021 - All rights reserved Definitions 01
  4. 4 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Consensus [kɔ̃.sɛ̃.sys] / Du mot latin qui signifie « accord » ou « sentiment commun ». Moyen par lequel une série d'électeurs indépendants (souvent appelés « validateurs ») parviennent à un accord commun sur une décision. Exemple : Démocratie, Dictature, Compromis, Normes Aéronautique, ...
  5. 5 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Algorithme de Consensus Consensus appliqué à l’informatique Un programme informatique permettant à ses utilisateurs de se mettre d’accord sur l'état des données dans un réseaux distribué. Exemples : Calcul distribué, base de donnés distribuée, ...
  6. 6 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Blockchain [blok] [cheyn] Une base de données décentralisée [...] Exemples: Bitcoin, Ethereum, Tezos, ...
  7. 7 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Proof-of-X Consensus appliqué à la blockchain Un algorithme permettant aux utilisateurs de la blockchain de se mettre d’accord sur l'état des données (e.g. transactions) et de sélectionner le prochain validateur. Exemples : Proof-of-work, Proof-of-stake, Proof-of-authority,...
  8. 8 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Nœud [nø] Un nœud est un ordinateur qui détient une copie du registre des transactions et qui l'entretient grâce à ses interactions avec les autres noeuds.
  9. 9 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Illustration d’un consensus Sans consensus / Données désynchronisé 12, 4, 5 12, 4, 8 12, 4, 5 12, 4, 7 12, 4, 7
  10. 10 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Illustration d’un consensus Consensus, but # 1 : Synchroniser les données / Choix de la chaîne 12, 4, 7 12, 4, 7 12, 4 , 7 12, 4, 7 12, 4, 7
  11. 11 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Illustration d’un consensus Consensus, but # 2 : Choix du prochain validateur. 12, 4, 7, ? 12, 4, 7, ? 12, 4 , 7, ? 12, 4, 7, ? 12, 4, 7, ?
  12. 12 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Illustration d’un consensus Consensus, but # 2 : Choisir le prochain validateur. 12, 4, 7, 16 12, 4, 7, ? 12, 4 , 7, ? 12, 4, 7, ? 12, 4, 7, ?
  13. 13 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Illustration d’un consensus Puis propagation aux autres noeuds 12, 4, 7, 16 12, 4, 7, 16 12, 4 , 7, 16 12, 4, 7, 16 12, 4, 7, 16
  14. 14 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Oui mais... ๏ Coupure réseau / Délai ๏ Noeuds défectueux ou malveillants Exemple du problème des généraux byzantins : > un général peut être corrompu > un messager peut être corrompu > un message peut être corrompu ATTACK! ATTACK! RETREAT! Problème insoluble du Partitionnement
  15. 15 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Théoreme CAP Cohérence (Consistency) Disponibilité (Availability) Tolérance au partitionnement (Partition Tolerance) CA CP AP Cohérence (Consistency) : tous les nœuds du système voient exactement les mêmes données au même moment. Disponibilité (Availability) : garantie que toutes les requêtes reçoivent une réponse. Tolérance au partitionnement (Partition Tolerance) : aucune panne moins importante qu'une coupure totale du réseau ne doit empêcher le système de répondre correctement.
  16. 16 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Théorème CAP sur la blockchain Cohérence (Consistency) Disponibilité (Availability) Tolérance au partitionnement (Partition Tolerance) CP AP La blockchain a besoin de la Tolérance au partitionnement. > Il faut trouver un compromis entre Cohérence et Disponibilité pour : ● avoir un niveau de cohérence suffisant ● atteindre une convergence le plus rapidement possible (Finalité)
  17. Coin Coin ! 17 La Duck Conf by OCTO Technology © 2021 - All rights reserved Les consensus en 2021 02
  18. 18 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Le partitionnement implique une réconciliation. Synchrone vs Asynchrone Synchrone Asynchrone Finalité immédiate… ...mais tous les validateurs doivent participer, ou la blockchain s'arrête. Finalité probabiliste, possible re-organisation… …mais acceptable (> 99%) rapidement.
  19. Coin Coin ! 19 La Duck Conf by OCTO Technology © 2021 - All rights reserved 1. Consensus Classiques 2. Consensus Nakamoto 3. Consensus Avalanche
  20. 20 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Practical Byzantine Fault Tolerant (PBFT)
  21. Coin Coin ! 21 La Duck Conf by OCTO Technology © 2021 - All rights reserved et le problème des généraux Byzantins. Practical Byzantine Fault Tolerant Chaque validateur communique avec tous les autres validateurs en suivant une séquence. Source: https://www.researchgate.net/ Explosion quadratique du nombre de messages quand le nombre de validateur augmente. Scalabilité limitée. Vulnérable aux attaques dès 33%.
  22. 22 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Practical Byzantine Fault Tolerant et le problème des généraux Byzantins. Finalité obtenue a chaque bloc. Chaine unique. Pas de fork.
  23. 23 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Théoreme CAP Cohérence (Consistency) Disponibilité (Availability) Tolérance au partitionnement (Partition Tolerance) CP Consensus Synchrone. Cohérence avant Disponibilité. Exemples: Tendermint, Algorand, Ripple, Stellar, Dfinity, Hot-Stuff
  24. 24 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Paxos Raft Et les autres... Zab
  25. Coin Coin ! 25 La Duck Conf by OCTO Technology © 2021 - All rights reserved 1. Consensus Classiques 2. Consensus Nakamoto 3. Consensus Avalanche
  26. Coin Coin ! 26 La Duck Conf by OCTO Technology © 2021 - All rights reserved 2a. Selection des validateurs 2b. Selection de la chaine
  27. 27 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Proof-of-work
  28. 28 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Proof of Work Bitcoin, Ethereum, etc... Le prochain validateur est celui capable de résoudre un problème mathématique arbitraire en premier. En compétition contre les autres mineurs! Récompense au minage. Transactions : 0.3 BTC from 0x434E... to 0x720D… 0.1 BTC from 0x72FE... to 0x93EB... 2.6 BTC from 0x927F... to 0xBBC3... Nonce : 0 Hash : 234AF98872EE BLOC INVALIDE Transactions : 0.3 BTC from 0x434E... to 0x720D… 0.1 BTC from 0x72FE... to 0x93EB... 2.6 BTC from 0x927F... to 0xBBC3... Nonce : 32918 Hash : 0000232FEB BLOC VALIDE
  29. 29 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Consommation énergétique annuelle (Janvier 2021) Bitcoin : 78 TWh Suisse: 58 TWh France : 473 TWh Proof of Work Source: cbeci.org
  30. 30 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Proof-of-stake
  31. 31 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Proof of Stake Les possesseurs de tokens les place dans un coffre (staking).
  32. 32 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Proof of Stake Le consensus sélectionne un coffre au hasard avec un probabilité proportionnelle au nombre de tokens qu’il contient.
  33. 33 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Proof of Stake La validateur sélectionné propose un nouveau bloc. Transactions : 0.3 ETH from 0x434E... to 0x720D… 0.1 ETH from 0x72FE... to 0x93EB... 2.6 ETH from 0x927F... to 0xBBC3... 0.3 ETH from 0x434E... to 0x720D… 0.1 ETH from 0x72FE... to 0x93EB... 2.6 ETH from 0x927F... to 0xBBC3... 0.3 ETH from 0x434E... to 0x720D… ...
  34. 34 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Proof of Stake Tous les autres validateurs vérifient le bloc. Transactions : 0.3 ETH from 0x434E... to 0x720D… 0.1 ETH from 0x72FE... to 0x93EB... 2.6 ETH from 0x927F... to 0xBBC3... 0.3 ETH from 0x434E... to 0x720D… 0.1 ETH from 0x72FE... to 0x93EB... 2.6 ETH from 0x927F... to 0xBBC3... 0.3 ETH from 0x434E... to 0x720D… ...
  35. 35 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Transactions : 0.3 ETH from 0x434E... to 0x720D… 0.1 ETH from 0x72FE... to 0x93EB... 2.6 ETH from 0x927F... to 0xBBC3... 0.3 ETH from 0x434E... to 0x720D… 0.1 ETH from 0x72FE... to 0x93EB... 2.6 ETH from 0x927F... to 0xBBC3... 0.3 ETH from 0x434E... to 0x720D… ... Proof of Stake S'ils sont d’accord, le bloc est ajouté à la blockchain et le validateur reçoit une récompense. Transactions : 0.3 ETH from 0x434E... to 0x720D… 0.1 ETH from 0x72FE... to 0x93EB... 2.6 ETH from 0x927F... to 0xBBC3... 0.3 ETH from 0x434E... to 0x720D… 0.1 ETH from 0x72FE... to 0x93EB... 2.6 ETH from 0x927F... to 0xBBC3... 0.3 ETH from 0x434E... to 0x720D… ... Transactions : 0.3 ETH from 0x434E... to 0x720D… 0.1 ETH from 0x72FE... to 0x93EB... 2.6 ETH from 0x927F... to 0xBBC3... 0.3 ETH from 0x434E... to 0x720D… 0.1 ETH from 0x72FE... to 0x93EB... 2.6 ETH from 0x927F... to 0xBBC3... 0.3 ETH from 0x434E... to 0x720D… ...
  36. 36 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Proof of Stake S'ils ne sont pas d’accord, le validateur perd son argent et le processus recommence.
  37. 37 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Proof of Stake Consommation énergétique très basse. Mais critiqué : Les riches deviennent plus riche….
  38. 38 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Delegated Proof of Stake Exemple d’implémentation: Blockchain EOS 1. Les candidats se font connaître (engagement avec la communauté, contribution au réseau, etc…) 2. Les gens votent avec leurs tokens pour des candidats (délégation, pas de transfert). 3. Les N top candidats avec le plus de tokens alloués procèdent à un PoS classique entre eux.
  39. 39 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Delegated Proof of Stake Système plus démocratique. Election de validateurs (pas forcement les plus riches). Acteurs suspects rapidement éliminé par la communauté. Plus rapide que Proof-of-stake. EOS
  40. 40 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Weight Burn Et les autres... Elapsed time Importance Capacity Activity Proof of..
  41. Coin Coin ! 41 La Duck Conf by OCTO Technology © 2021 - All rights reserved 2a. Selection des validateurs 2b. Selection de la chaine
  42. 42 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Sélection de la chaîne Solution #1: Chaine la plus longue Finalité probabiliste. La chaîne la plus longue gagne. Vulnérable aux attaque a 51%, e.g. attaque sur Bitcoin Cash en 2020. fork fork Chaine la plus longue
  43. 43 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Sélection de la chaîne Solution #2: GHOST (Greedy Heaviest Observed SubTree) Finalité probabiliste. La chaîne avec le plus de siblings (“oncles”). Moins vulnérable aux attaques à 51%, mais attaque possible. fork Gagne sur Bitcoin Gagne sur GHOST
  44. 44 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Sélection de la chaîne GHOST résiste aux attaques à 51% de type “long-term” Chaîne “honnête” perd sur Bitcoin Chaîne “honnête” gagne sur GHOST Chaîne secrète de l’attaquant Chaine “pirate” gagne sur Bitcoin
  45. 45 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Sélection de la chaîne GHOST vulnérable aux attaques à 51% de type “balanced subtree” Attaquant maintien des fork de même “poids” en minant sur plusieurs chaînes, partitionne les validateurs et empêche temporairement la finalité. fork Les 2 sous arbres ont le même “poids”, les validateurs ne peuvent pas décider. attaquant
  46. 46 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Théoreme CAP Cohérence (Consistency) Disponibilité (Availability) Tolérance au partitionnement (Partition Tolerance) AP Consensus Asynchrone. Disponibilité avant Cohérence. Exemples: Casper TFG (Ethereum 1.0), Ark, Tezos, Ouroboros, NXT
  47. 47 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Sélection de la chaîne Disponibilité avant Cohérence. Nakamoto Classique Hybrid Cohérence avant Disponibilité. Favorise la Disponibilité mais fournit le plus de Cohérence possible. fork fork fork fork
  48. Coin Coin ! 48 La Duck Conf by OCTO Technology © 2021 - All rights reserved 1. Consensus Classiques 2. Consensus Nakamoto 3. Consensus Avalanche
  49. 49 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Avalanche White paper 2018 by Team Rocket Production 2020 En cas de conflit, chaque validateur va demander à d’autres validateurs tirés au hasard leur avis sur le conflit. Une super-majorité émerge suite à un processus probabiliste appelé Snowball. Un nouveau consensus
  50. 50 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Avalanche Slush : Demande à 10 validateurs leur avis sur le conflit. Super-majorité Snowflake : mémoire temporaire permettant de converger. Snow ball : mémoire persistante mesurant la confiance.
  51. 51 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Avalanche Super-majorité 0 0
  52. 52 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Avalanche Super-majorité ? ? ? ? ? ? 0 0
  53. 53 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Avalanche Super-majorité 0 1
  54. 54 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Avalanche Super-majorité ? ? ? ? ? ? 0 1
  55. 55 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Avalanche Super-majorité 0 2
  56. 56 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Avalanche Super-majorité 8 8 8 8 8 8 8 8
  57. 57 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Avalanche - Convergence rapide, finalité rapide. - Scalable, un noeud ne parle pas avec tous les noeuds. - Forte décentralisation, beaucoup de validateurs possibles (1,000,000). - Non permissionné, pas d’autorité, tout le monde peut participer. en résumé Pas résistant aux attaques Sybil (pseudo-spoofing) et doit être combiné avec PoS ou PoW.
  58. Coin Coin ! 58 La Duck Conf by OCTO Technology © 2021 - All rights reserved Conclusion 03
  59. 59 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Ca part dans tous les sens, “usine à gaz” Conclusion Résilience Résistance aux attaques reste encore un sujet Hybrides de plusieurs consensus Faible consommation énergétique
  60. Coin Coin ! 60 La Duck Conf by OCTO Technology © 2021 - All rights reserved Les consensus de blockchain évoluent vers un meilleur compromis entre cohérence et disponibilité, tout en étant à la fois moins énergivore et plus performant.
  61. Coin Coin ! 61 La Duck Conf by OCTO Technology © 2021 - All rights reserved
Anúncio