Formation
BLOCKCHAIN
Découvrir les fondamentaux
Une formation
Souhail MSSASSI
Consultant SSI
Blockchain Développeur
Formateur et conférencier
https://www.linkedin.com/in/mssassi/
https://fb.com/mssassii
souhail.mssassi@owasp.org
Souhail MSSASSI
Présentation du formateur
Cursus
Une formation
Introduction
1. La technologie blockchain
2. L'état d’art de la blokchain
3. Les types de la blockchain
4. La cryptographie utilisée dans la blockchain
5. Les éléments clés de la blockchain
6. Les systèmes distribués
7. Les composantes essentielles de la blockchain
8. Les DLT et les SidesChains
Conclusion
Plan de la formation
Une formation
Toute personne concernée par la blockchain
Chefs de projet
Consultants
Responsables innovation/digital/marketing,
architecte fonctionnel/technique
Public concerné
Introduire
la notion de la Blockchain
Une formation
Souhail MSSASSI
Une formation
Architecture Client Serveur
La définition de la Blockchain
Le fonctionnement de la Blockchain
Plan
Application Web
Définition
Blockchain
Blockchain
Blockchain
Le fonctionnement
Explorer
les objectifs de la Blockchain
Une formation
Souhail MSSASSI
Une formation
L’objectif de la Blockchain
Les clés de la Blockchain
Plan
L’objectif de la Blockchain
Les clés de la Blockchain
La distribution
La Décentralisation Réseaux Pair-à-pair
Le chiffrement
L’Immuabilité
La Tokenisation
Connaitre l'historique
de la blockchain
Une formation
Souhail MSSASSI
Une formation
L’horodatage des documents
L’arbre de Merkle
La preuve de travail réutilisable
Bitcoin
Ethereum et les Smarts Contracts
Plan
Comment horodater un document numérique(1991)
Arbre de Merkle(1992)
Preuve de travail réutilisable rPOW (2004)
BitCoin (2009)
Ethereum (2015) dAPPs and Smart Contracts
Déterminer les challenges
de la blockchain
Une formation
Souhail MSSASSI
Une formation
La scalabilité
La vitesse des transactions
La décentralisation
La consommation de l'énergie
L’irréversibilité
La transparence
Plan
La scalabilité
La vitesse des transactions
La décentralisation
La consommation de l'énergie
L’irréversibilité
Explorer les différentes
applications de la Blockchain
Une formation
Souhail MSSASSI
Une formation
La confiance dans les données
administratives
L’achat et la vente d’énergie
autoproduite
Le droit de vote
La traçabilité des produits alimentaires
Les droits d’auteurs à l’ère numérique
Plan
Etablir la confiance dans les données
administratives
Faciliter l’achat et la vente d’énergie
autoproduite
Faciliter l'exercice du droit de vote
Garantir la traçabilité des produits
alimentaires
Rémunérer les droits d’auteurs à l’ère
numérique
Etudier le cas du Bitcoin
Une formation
Souhail MSSASSI
Une formation
Les origines du BitCoin
Logiciel Bitcoin Wallet
Portefeuille Bitcoin
Bitcoin Proof of Work
Arbre de Merkle
Plan
Bitcoin
Une technologie
Une monnaie numérique
Un réseau
Un protocole
Un logiciel libre
Les origines
1 bitcoin = 10⁸ satoshis
1 satoshi = 0.00000001 bitcoins
Quantité limitée de bitcoin : 21 millions de bitcoins au maximum d'ici 2140.
Au 05/02/2015 :
~ 13 802 500 bitcoins générés 1 Bitcoin ~ 228 USD
Network Hashrate (Pflops): 3840492.75 256 fois plus rapide que l'ensemble du top
500 des super ordinateurs
Un logiciel libre
Bitcoin - Les outils mathématiques
Bitcoin - Proof of Work
Bitcoin – Arbre de Merkle
Etudier le cas de l'Ethereum
Une formation
Souhail MSSASSI
Une formation
Historique Ethereum
Fonctionnement Ethereum
Application basées sur l’Ethereum
Les Smart Contracts
Plan
Ethereum
Ethereum est une plate-forme décentralisée qui
exécute un contrat intelligent sans aucune
possibilité de temps d'arrêt, de censure, de fraude
ou d'interférence de tiers
Historique
Fonctionnement
Applications
Smart Contract
Comprendre
la blockchain publique
Une formation
Souhail MSSASSI
Une formation
Définir la Blockchain publique
Les avantages de la blockchain publique
Les inconvénients de la blockchain publique
Exemple de blockchain publique
Plan
La Blockchain Publique
Réseaux accessibles à tous
Participants anonymes validant les blocs
suivant le PoW
Immuabilité assurée
Pas de rapport de force entre développeur,
utilisateurs, mineurs..
Une formation
Avantages 
La transparence
La scalabilité
La rapidité des transactions
Une formation
Inconvénients
Exemples
Comprendre
la Blockchain privée
Une formation
Souhail MSSASSI
Une formation
Définir la Blockchain privée
Les avantages de la blockchain privée
Les inconvénients de la blockchain privée
Exemple de blockchain privée
Blockchain publique vs Blockchain privée
Plan
La Blockchain Privée
Un choix personnel de l'algorithme de consensus
Haute vitesse de la réalisation et de la validation
des transactions
Le problème d’évolutivité de la Blockchain est résolu
Le respect de la réglementation est plus facile et
efficace
Fournit aux entreprises la sécurité intérieure
Une formation
Avantages
La confiance
Un contrôle centralisé
Opération des crypto-monnaies inaperçues
Les données peuvent être modifiées
La haute possibilité d'attaques
Une formation
Inconvénient
Exemples
Publique vs Privée
Comprendre
la blockchain Hybride
Une formation
Souhail MSSASSI
Une formation
Définir la Blockchain hybride
Les avantages de la Blockchain hybride
Résumé sur les trois types de blockchain
Plan
La Blockchain Hybride
Fonctionne dans un écosystème fermé
Protège la vie privée tout en communiquant
avec le monde extérieur
Possibilité de changer les règles en cas de
besoin
Réduction du coût de transaction
Une formation
Avantages
Résumé
Explorer la notion
du chiffrement
Une formation
Souhail MSSASSI
Une formation
Définition du chiffrement
Chiffrement symétrique
Chiffrement asymétrique
Courbes elliptiques
Plan
Chiffrement
Le procédé par lequel on souhaite rendre la compréhension d'un document
impossible à toute personne non autorisée à pouvoir le lire
Chiffrement Symétrique
Clef de chiffrement = Clef de déchiffrement
Avantage
Rapide
Inconvénients
Ne permet pas la signature électronique
Problème de distribution de clés
Une formation
Avantages et Inconvénients
Chiffrement Asymétrique
Chiffrement: Clef publique utilisée
pour le chiffrement, seule le détenteur
de la clef privée peut déchiffrer
Signature: Clef privée utilisée pour
le chiffrement, seul son détenteur
chiffrer, mais tout le monde peut
déchiffrer
Avantages
Permet la signature électronique
Utilise deux clefs distinctes, l’une ne permettant
pas de retrouver l’autre
Inconvénients
Trop lent pour une utilisation intensive en
chiffrement
Une formation
Avantages et Inconvénients
Cryptographie – Courbe elliptique
Découvrir les signatures
numériques
Une formation
Souhail MSSASSI
Une formation
Signature numériques
Algorithme signatures numériques
Plan
Signature numérique
Authentification de l’origine
Intégrité
Non répudiation de la source
Plus rapide que de signer tout le
document
Une formation
Signature numérique
Signature
Vérification
Signer un document
Vérifier un document
Vérifier un document
Vérifier un document
Génération de clés et signature
RSA, DSA
Somme de contrôle
SHA, MD5
Algorithmes
Une formation
Comprendre le hachage et son
utilisation dans la blockchain
Une formation
Souhail MSSASSI
Une formation
Intégrité des données
Fonction de Hachage
Usage de Hachage
Propriété de sécurité de Hachage
Plan
Intégrité des données
Le chiffrement ne protège pas les données contre la modification par une autre
partie
Pourquoi?
Besoin d'un moyen de garantir que les données arrivent à destination dans leur
forme d'origine telle qu'elles ont été envoyées par l'expéditeur et qu'elles
proviennent d'une source authentifiée
Une fonction à sens unique
Qui associe à une valeur, par calcul, une autre valeur plus
petite et telle que :
si y = x, h(y) = h(x)
Fonction de hachage
Utilise une fonction de hachage h, en supposant
un canal authentique (l'adversaire ne peut pas
modifier) pour les messages courts
Transmettre un message M sur le canal normal
(non sécurisé)
Transmettre le résumé de message h (M) sur le
canal sécurisé
Une formation
L'intégrité des messages
Timestamping
Message authentication
One-time passwords
Digital signature
Une formation
Usages de Hachage
Collision resistance
Difficult to find any M, M’≠ M s.t. h(M) = h(M’)
Preimage resistance
Given h(M), difficult to find M’ s.t. h(M’)=h(M)
Second preimage resistance
Given M, difficult to find M’ s.t. h(M’)=h(M), M’≠M
Une formation
Propriété de sécurité de
Hachage
Comprendre le Ledger
Une formation
Souhail MSSASSI
Une formation
Introduction au Ledger
Le ledger décentralisé
Le ledger public/privé
Fonctionnement du Ledger
Blockchain et Ledger
Plan
Le Ledger
Le Ledger Décentralisé
Le Ledger Publique/Privé
Fonctionnement du Ledger
Blockchain et Ledger
Comprendre
la notion des blocs
Une formation
Souhail MSSASSI
Une formation
Introduction aux blocs
Ajout de blocs
Composantes du bloc
Plan
Les blocs
Relation entre les blocs
Ajout des blocs
Entête
Explorer
le processus du minage
Une formation
Souhail MSSASSI
Une formation
Le Mining
Fonctionnement du Mining
Le Mining Pool
La validation du bloc
La difficulté
Le Nonce
Plan
Le Mining
Fonctionnement du Mining
Le Mining Pool
Validation du Bloc
La difficulté
Le Nonce
Le Nonce : Succès
Comprendre
la notion du Wallet
Une formation
Souhail MSSASSI
Une formation
La Blockchain Wallet
Exemple de Blockchain Wallet
Les types de Blockchain Wallet
Plan
La Blockchain Wallet
Exemples
Fonctionnement
Type des Blockchain Wallet
Hot Wallet Cold Wallet
1. Des Onlines Wallets
2. Les transactions rapides
3. La clé privée est stockée dans
le cloud
1. Des Offlines Wallets
2. La clé privée est stockée dans
le Hardware
Type des Wallet
Les Wallets Logiciels
Les Wallets Hardware
Les Wallets Papier
Comprendre les transactions
dans la blockchain
Une formation
Souhail MSSASSI
Une formation
Les Transactions
Fonctionnement des transactions
La signature dans les transactions
Plan
Les Transactions
Amount From To
5 0xefd8 0xcc88
Fonctionnement des Transactions
x
Signature
Comprendre
la notion de l'incentive
Une formation
Souhail MSSASSI
Une formation
Incentive
Nœuds honnêtes et malhonnêtes
Théorie des jeux
Equilibre de Nash
Plan
Incentive
Nœuds Honnêtes et Malhonnête
Théorie des jeux
Dilemme des prisonniers
Equilibre de Nash
Comprendre le concept
de l'immutabilité
Une formation
Souhail MSSASSI
Une formation
L'immuabilité dans la blockchain
Fonctionnement
Défi de l'immuabilité – Attaque 51%
Plan
L'immuabilité
Fonctionnement
Défis
Comprendre le concept
de la transparence
Une formation
Souhail MSSASSI
Une formation
La transparence
Explorer les transaction – BlockExplorer
Les challenges de la transparence
Plan
La Transparence
DEMO
Challenges
Introduire la notion
d'un système distribué
Une formation
Souhail MSSASSI
Une formation
Système distribué
Fonctionnement
Avantages des systèmes distribués
Inconvénients des systèmes distribués
Exemple des systèmes distribués
Plan
Collection de composants indépendants
situés sur différentes machines qui
partagent des messages afin d'atteindre
des objectifs communs
Une formation
Système distribué
Partage de ressources
Concurrence
Évolutivité
Tolérance aux pannes
Transparence
Une formation
Fonctionnement
Mise à l'échelle horizontale illimitée
Faible latence
Tolérance aux pannes
Une formation
Avantages
Intégration et cohérence des données
Échec du réseau et de la communication
Frais généraux de gestion
Une formation
Inconvénients
Réseaux
Réseaux de télécommunication
Distribuer des systèmes en temps réel
Traitement parallèle
Intelligence artificielle distribuée
Systèmes de bases de données distribuées
Une formation
Exemples
Explorer les différentes
caractéristiques d'un système
distribué
Une formation
Souhail MSSASSI
Une formation
Caractéristiques d’un système
distribué
Composants de systèmes distribués
Plan
Caractéristiques d'un système distribué
Pas d'horloge partagée
Pas de mémoire partagée
Concurrence
Couplage lâche
Dynamiques
Overlay Network
Composants de systèmes distribués
Nœud
Transparence de la distribution
Ressource
Middleware
Explorer les différents modèles
d'un système distribué
Une formation
Souhail MSSASSI
Une formation
Modèle client serveur
Modèle trois niveau
Modèle n tiers
Modèle pair à pair
Modèle en Couches
Modèle base sur les events
Plan
Modèles de systèmes distribués
Client-serveur
Trois niveaux
n-tier
Pair à pair
Modèle client serveur
Modèle 3 tiers
Modèle n tiers
Modèle Pair-à-pair
Modèle en couches
Modèle basé sur les événements
Découvrir
le théorème du CAP
Une formation
Souhail MSSASSI
Une formation
La scalabilité
La disponibilité
La capacité de tolérance aux pannes
La réplication
Le théorème du CAP
Plan
La capacité d'un système à gérer une
quantité croissante de charge de manière
efficace
Aspects pertinents:
Performance
Disponibilité
Une formation
Scalabilité
Disponibilité = uptime/(uptime+downtime)
Disponibilité % DownTime par an
90 Plus d’un mois
99.9 Moins de 9 heures
99.9999 31 secondes
Une formation
Disponibilité
Capacité de tolérance aux pannes
Capacité de tolérance aux pannes d'un système à se comporter
d'une manière bien définie une fois que les pannes se
produisent
La réplication
Théorème du CAP
Résoudre le problème
des généraux byzantins
Une formation
Souhail MSSASSI
Une formation
Introduction au problème des généraux
Les contraintes du problème
La solution du problème
La signature et le problème des
généraux
Plan
Un comportement d'ordinateur défaillant
dans ce cas :
Envoi de messages contradictoires à différentes parties
du système
Ne pas envoyer certains messages
Une formation
Motivation
Plusieurs divisions de l'armée byzantine sont campées à
l'extérieur d'une ville, chaque division a un général
Les généraux peuvent communiquer entre eux à l'aide
d'un messager
Les généraux doivent décider d'un plan d'action commun
Certains des généraux pourraient être des traîtres!
Nous supposerons qu'il n'y a qu'un seul général
commandant (commandant), et le reste des généraux sont
ses subordonnés (lieutenants)
Une formation
Généraux byzantins
Tous les généraux loyaux décident du même plan
d'action
Un petit nombre de traîtres ne poussera pas les
généraux fidèles à adopter un mauvais plan
Formellement : le problème des généraux
byzantins
Tous les lieutenants fidèles obéissent au même ordre
Si le commandant est fidèle, alors chaque lieutenant
fidèle obéit à l'ordre qu'il envoie
Une formation
Objectifs
Limite minimale sur le nombre de
traîtres
Solution
m = 0
Le général envoie un message à
tous les lieutenants
m = 1
Chaque général envoie le
message qu'il a reçu à tous les
autres lieutenants
La signature d'un général fidèle ne peut
être falsifiée et toute altération du contenu
de son message signé peut être détectée
Tout le monde peut vérifier l’authenticité de
la signature d’un général
Une formation
Problème
Comprendre la notion du consensus
et explorer des exemples de consensus
Une formation
Souhail MSSASSI
Une formation
Consensus
Preuve de travail
Preuve d’enjeu
Preuve d’enjeu déléguée
Preuve de capacité
Plan
Consensus
Preuve de travail
Preuve d’enjeu
Preuve d’enjeu déléguée
Preuve de capacité
Explorer l'authentification
dans la blockchain
Une formation
Souhail MSSASSI
Une formation
L’authentification
L’oracle
Gérer les autorisations
Plan
Problème d’authentification
PKI
Oracle
Autorisation
Découvrir le chiffrement
dans la blockchain
Une formation
Souhail MSSASSI
Une formation
Le Sharding
Le Chiffrement
Preuve à divulgation nulle de
connaissance
Plan
Le Sharding
Le chiffrement
Chiffrement avec clé publique
C’est deux
pommes
sont de
couleurs
différents
D’accord je
vais
vérifier …
Est-ce que
j’ai change
les
pommes
ou pas?
Oui !
Preuve à divulgation nulle de connaissance
C’est deux
pommes
sont de
couleurs
différents
D’accord je
vais
vérifier …
Est-ce que
j’ai change
les
pommes
ou pas?
…
Preuve à divulgation nulle de connaissance
Différencier entre le On-Chain
et le Off-Chain
Une formation
Souhail MSSASSI
Une formation
Les transactions On-Chain
Les transactions Off-Chain
Plan
Les transactions On-Chain
Les transactions Off-Chain
Comprendre la relation entre
la blockchain et le DLT
Une formation
Souhail MSSASSI
Une formation
La DLT : Registre distribué
La blockchain
Plan
La DLT : Registre distribué
La Blockchain
Introduire
la notion de la SideChain
Une formation
Souhail MSSASSI
Une formation
Les SideChains
Les avantages de la SideChain
Les use cases de la SideChain
Plan
Les SideChains
Les avantages de la SideChain
Les use cases de la SideChain
Découvrir le concept
du Two-way Peg
Une formation
Souhail MSSASSI
Une formation
Fonctionnement du SideChain
Two Way Peg
Propriété du SideChain
Plan
Fonctionnement SideChain
Two Way Peg
Propriété du SideChain
Explorer les applications
des SideChains
Une formation
Souhail MSSASSI
Une formation
RootStock
La VM de RootStock
Comparaison RSK avec les plateformes
Plan
RootStock
Compatible avec les autres plateformes
Basé sur la machine EVM et sécurisé
Versionnement du contrat
Nouveaux OpCODES (par exemple DUPN,
SWAPN)
Une formation
RootStock - VM
Comparaison RSK
Conclusion
Une formation
Souhail MSSASSI
Une formation
Bilan
1. La technologie blockchain
2. L'état d’art de la blokchain
3. Les types de la blockchain
4. Les éléments clés de la blockchain
5. Les DLT et les SidesChains
Prochaine Formation
Alphorm.com Formation Blockchain : Découvrir les fondamentaux

Alphorm.com Formation Blockchain : Découvrir les fondamentaux