Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Scalabilité des architectures décentralisées

Hugo Briand
September 26, 2019

Scalabilité des architectures décentralisées

Les cryptomonnaies et technologies blockchain ont des limitations de scalabilité. Cependant ces limitations ont été le terrain pour expérimenter de nombreuses solutions de mise à l’échelle : le protocole Lightning Network permet ainsi plusieurs milliers de transactions par seconde.

Après une introduction sur les problématiques de scalabilité connues par les protocoles décentralisés, nous présenterons des exemples de techniques de mise à l’échelle ainsi que les théories d’architecture réseau pour augmenter les possibilités permises par les technologies blockchain.

Hugo Briand

September 26, 2019
Tweet

More Decks by Hugo Briand

Other Decks in Technology

Transcript

  1. Décentralisation et scalabilité Méthodes de mise à l’échelle dans les

    protocoles distribués Meetup • 26 septembre 2019
  2. Lead Blockchain & Architecte Digital @ ekino 2 Hugo Briand

    Scalabilité des architectures décentralisées • 26 septembre 2019 • ekino @h_briand
  3. Sommaire 3 01. 02. 03. 04. Scalabilité Typologies d’architecture Problématiques

    des procotoles Blockchain Réponses apportées : le cas Bitcoin Scalabilité des architectures décentralisées • 26 septembre 2019 • ekino
  4. […] capacité d'un produit à s'adapter à un changement d'ordre

    de grandeurde la demande […] 5 Scalabilité des architectures décentralisées • 26 septembre 2019 • ekino Wikipedia
  5. Stratégie verticale 9 Scalabilité des architectures décentralisées • 26 septembre

    2019 • ekino Plus c’est gros, plus ça passe • Augmenter la puissance des services • CPU, RAM, Réseau, … • Réduire la consommation du logiciel • Optimiser les algorithmes • …
  6. Stratégie horizontale 10 Scalabilité des architectures décentralisées • 26 septembre

    2019 • ekino Plus on est de fous… • Ajouter des machines • Paralléliser les processus de traitement • Partager la charge entre différentes instances (load balancing) • …
  7. Est-ce qu’on scale? 11 Scalabilité des architectures décentralisées • 26

    septembre 2019 • ekino Critères Que mesure-t-on ? • Utilisabilité • Performance • Sécurité • Intégrité des données • Volumétrie • … Métriques • Nombre d’utilisateurs (en simultané, par jours, par mois, …), taux d’erreur, SLA, … • Temps de réponse • Nombre de hacks ? • Pertes de données, corruptions, … • Bande passante • …
  8. Centralisée 13 Scalabilité des architectures décentralisées • 26 septembre 2019

    • ekino Exemples • Services numériques (Facebook, Uber, AirBnB, …) • Sites Internet • APIs • …
  9. Distribuée 14 Scalabilité des architectures décentralisées • 26 septembre 2019

    • ekino Exemples • Peer 2 Peer • DNS (protocole) • Bitcoin (protocole)
  10. Décentralisée 15 Scalabilité des architectures décentralisées • 26 septembre 2019

    • ekino Exemples • Mastodon • Internet • Mails • Bitcoin / blockchains Une architecture décentralisée combine une architecture distribuée et centralisée. On peut donc utiliser plus de stratégies de scalabilité.
  11. Critères de scalabilité 17 Scalabilité des architectures décentralisées • 26

    septembre 2019 • ekino Inaltérable (Sécurisé) Utilisable Distribuable Décentralisé Le coût d’un retour arrière sur les données doit être supérieur au gain potentiel de ce retour arrière. Tout le monde doit pouvoir participer au réseau, a minima pour valider les écritures effectuées dans la chaîne. Le réseau ne doit pas dépendre d’une entité centrale. Le réseau doit permettre de faire ce pour quoi il a été conçu (transfert de valeur, exécution de contrat, …) dans de bonnes conditions.
  12. Quelles métriques de scalabilité ? 18 Scalabilité des architectures décentralisées

    • 26 septembre 2019 • ekino Décentralisation Gouvernance Pour une crypto-monnaie ou une technologie blockchain Dépend de l’algorithme de consensus • Difficulté / puissance de calcul du réseau pour PoW • Délai de mise à disposition d’une mise à jour • … Performance • Transactions / seconde • Temps de calcul du solde / d’accès à un contrat • Temps d’exécution d’un smart contract (écriture) • … Usage • Coût d’une transaction • Délai de confirmation d’une transaction (sans risque) • Volume • …
  13. Comparatif 19 Scalabilité des architectures décentralisées • 26 septembre 2019

    • ekino Bitcoin Ethereum Décentralisation Gouvernance Puissance de calcul ~98 000 000 TH/s ~190TH/s Délai de mise à jour Long Long Performance Transactions / sec ~5/sec (moyenne) ~10/sec (moyenne) Rapidité d’accès Quasi-instantané Quasi-instantané Délai d’exécution d’un smart contract ~ 10 min (temps d’une confirmation) ~ 15 sec (temps d’une confirmation) Usage Coût d’une transaction ~1$ 0.10 – 0.30 $ Montant d’une transaction [10-8 – 21M] BTC [10-18 – max] Eth Taille de la chaîne ~240 Go (archival) ~3 To (archival)
  14. On chain scaling 20 Scalabilité des architectures décentralisées • 26

    septembre 2019 • ekino Agir sur la partie distribuée • Jouer sur le protocole directement • Algorithme de consensus Difficultés • Le déploiement des mises à jour est complexe
  15. Off chain scaling 21 Scalabilité des architectures décentralisées • 26

    septembre 2019 • ekino Bénéficier de l’architecture décentralisée • Rajouter de nouveaux protocoles ou outils • Réduire la nécessité d’utiliser la couche sous-jacente • Ajouter de nouvelles fonctionnalités au réseau Difficultés • Complexifie le système global
  16. Transactions par seconde 23 Scalabilité des architectures décentralisées • 26

    septembre 2019 • ekino Approche Verticale Ou transactions dans un block Augmenter la taille des blocks Ex: Bitcoin Cash Approche Verticale Réduire la taille des transactions Ex: Segwit
  17. Délai d’exécution d’une écriture 24 Scalabilité des architectures décentralisées •

    26 septembre 2019 • ekino Approche On Chain Réduire le délai entre deux blocks Ex: Ethereum Approche Off Chain Écrire le minimum possible Ex: Lightning Network
  18. Modèle architectural 25 Scalabilité des architectures décentralisées • 26 septembre

    2019 • ekino Stack réseau L’approche de scalabilité de Bitcoin Stack crypto
  19. Layer 2 26 Scalabilité des architectures décentralisées • 26 septembre

    2019 • ekino Lightning Network Quelques exemples • Protocole à part entière • Minimise l’écriture sur la chaîne principale • Apporte des réponses de scalabilité • Nécessite d’exécuter un second programme Sidechains • Protocoles à part entière • Utilisent Bitcoin pour se sécuriser et garantir l’intégrité • Ajoutent des fonctionnalités (smart contracts, …) • Merge mining sur certaines
  20. La scalabilitéest une affaire de perspective : Que veut-on scaler?

    Comment ? Il faut mutualiserles stratégies. 27 Scalabilité des architectures décentralisées • 26 septembre 2019 • ekino