BLISS 03-T1_c_LU1 slides v3.0 final controled-French version.pptx
1.
2. 2
Projet BLISS
Output O3 Ressources Éducationnelles Ouvertes
Tache O3-T1 Matériel d’apprentissage et d’évaluation
20
Définit les principales caractéristiques des blockchains. Adresse les
fonctionalités fondamentales de la technologie blockchain.
U1 Blockchain essentials for ICT professionals
Unité d’enseignement :
Résumé :
Heures :
3. 3
Objectifs d’apprentissage
Introduction
• Terminologie Blockchain
• Distinction entre bases de données et les
registres de blockchain
Éléments de cryptographie
• Cryptographie, fonctions de hashage et
signatures numériques
Méthodes de consensus
• Principes et paradigmes des systèmes
distribués
• Algorithmes de consensus Blockchain
La Blockchain en tant que structure de
données
• Structure des Blockchains
• Différents types of blockchain
• Identifier les caractéristiques blockchain dans
un environnement donné
• Analyser les applications existentes des
blockchain dans un context donné
• Évaluer de façon critique les fonctionnalités
cryptographiques d’une application blockchain
• Identifier les éléments cruciaux de sécurité
dans une blockchain
• Différencier les différents systèmes
décentralisés et autonomes, tels que les
registres distribués adaptés à une application
blockchain donnée
Savoir Savoir faire
Unité
d’enseignement
U1 Blockchain essentials for ICT professionals
Donner les avantages et désavantages des caractéristiques
d’une application blockchain spécifique, en termes de sécurité,
decentralisation, et la réalisation du consensus
K1
4. 4
Objectifs d’apprentissage
Théorie des contrats intelligents
• Théorie et architecture des contrats
intelligents
• Architecture des systèmes autonomes et
décentralisés
Applications des contrats intelligents
• Applications blockchain existantes, structures
liées et architectures
• Séléctionner l’algorithme de
consensus adapté à une
application blockchain
spécifique
• Formaliser et évaluer les
contrats intelligents
nécessaires dans un context
blockchain donné
Savoir Savoir faire
U1 Blockchain essentials for ICT professionals
Expliquer de façon autonome le fonctionnement d’un contrat
intelligent dans un scenario blockchain donné
K2
Unité
d’enseignement
5. 5
Introduction à la technologie
Blockchain
Translated by Léo Besançon
University of Claude Bernard of Lyon (UCBL), France
Revised by Catarina Ferreira Da Silva and
Parisa Ghodous, UCBL, France
6. 6
Table des matières K1
● Introduction
1. Terminologie Blockchain
2. Distinction entre les bases de données et les registres de
blockchain
● Éléments de cryptographie
1. Cryptographie, fonctions de hashage et signatures numériques
● Méthodes de consensus
1. Principes et paradigmes des systèmes distribués
2. Algorithmes de consensus Blockchain
● La Blockchain en tant que structure de données
1. Structure des Blockchains
2. Différents types de blockchain
7. 7
Table des matières K1
● Introduction
1. Terminologie Blockchain
2. Distinction entre les bases de données et les registres de
blockchain
● Éléments de cryptographie
1. Cryptographie, fonctions de hashage et signatures numériques
● Méthodes de consensus
1. Principes et paradigmes des systèmes distribués
2. Algorithmes de consensus Blockchain
● La Blockchain en tant que structure de données
1. Structure des Blockchains
2. Différents types de blockchain
8. 8
Introduction
“Pour comprendre le pouvoir de la technologie blockchain,
et ce qu’elle peut faire, il est important de différencier
trois choses qui sont souvent mélangées, la cryptomonnaie
Bitcoin, la blockchain spécifique sous-jacente, et le
concept des blockchains en général.”
The Trust Machine, THE ECONOMIST, 31 Oct. 2015
Source : https://www.economist.com/leaders/2015/10/31/the-trust-machine
9. 9
Table des matières K1
● Introduction
1. Terminologie Blockchain
2. Distinction entre les bases de données et les registres de
blockchain
● Éléments de cryptographie
1. Cryptographie, fonctions de hashage et signatures numériques
● Méthodes de consensus
1. Principes et paradigmes des systèmes distribués
2. Algorithmes de consensus Blockchain
● La Blockchain en tant que structure de données
1. Structure des Blockchains
2. Différents types de blockchain
10. 10
Terminologie Blockchain
● Une Blockchain – Qu’est ce que c’est ?
o Aussi nommées “DLT” (Distributed Ledger Technology) – un registre
de compte partagé rudimentaire
o Technologiquement, c’est
• Une base de données distribuée – un register
publique (il est possible d’insérer ou de
rechercher des données, mais pas de les mettre
à jour ou les supprimer)
• Un ordinateur distribué – qui execute des
contrats intelligents
• Basé sur les technologies P2P (pair-à-pair), la
cryptographie et des API
Image source : https://www.ibm.com/blockchain/assets/images/landing/blockchain_shared_ledger.png
11. 11
Terminologie Blockchain
● Une Blockchain – Qu’est ce que c’est ?
En fait, les blockchains forment plus qu’une technologie, elles :
o Contiennent habituellement des transactions financières
o Sont répliquées à travers un grand nombre de systems en quasi-temps réel
o Utilisent la cryptographie et les signatures numériques pour prouver
l’identité des acteurs, l’authenticité des transactions, et faire respecter
les droits d’accès en lecture/écriture
o Peuvent être accédées en écriture par un certains nombre de participants
o Peuvent être lues par les participants, habituellement un cercle plus large
que pour les droits en écriture
o Possèdent des mécanismes pour rendre difficile le changement des
données historiques, ou du moins rendent facile la detéction d’une
tentative de le faire
Source : https://miethereum.com/wp-content/uploads/2017/11/A.-A-Gentle-Introduction-To-Blockchain-Technology.pdf
Block 2 Block 3 Block 4
Block 1
hash hash hash hash
12. 12
Terminologie Blockchain
● Un ledger distribué – qu’est ce que c’est ?
Source : https://tradeix.com/distributed-ledger-technology/
Image source : https://knowledgecrypto.com/the-difference-between-blockchains-distributed-ledger-technology/
13. 13
Terminologie Blockchain
● Un ledger distribué – qu’est ce que c’est ?
Les utilisateurs
initient les
transactions en
les signants
numériquement
Les
utilisateurs
diffusent leurs
transactions
aux noeuds
du réseau
Un ou
plusieurs
noeuds
commencent
à valider
chaque
transaction
Les noeuds
aggrègent les
transactions
validées dans
des blocs
Les noeuds
diffusent les
blocs entre eux
Le protocol de
consensus est
utilisé
Le bloc
représentant
“l’état réel” est
chaîné au bloc
précédent
Source : https://ccl.yale.edu/sites/default/files/files/A%20Brief%20Introduction%20to%20Blockchain%20(Final%20without%20Notes).pdf
14. 14
Terminologie Blockchain
● Transactions et blocs
o Un bloc de transaction est une collection de transactions sur le
réseau Bitcoin, regroupées au sein d’un bloc qui peut être hashé et
ajouté à la blockchain
Image source : https://pplware.sapo.pt/informacao/monero-xmr-uma-moeda-segura-privada-e-sem-rasto/
15. 15
Terminologie Blockchain
● Minage
o Le processus par lequel les transactions sont vérifiées et ajoutées à
la blockchain
Source : https://marmelab.com/blog/2016/05/12/blockchain-expliquee-aux-developpeurs-web-la-theorie.html
16. 16
Terminologie Blockchain
● Minage
o Ce processus, correspondant à la resolution de problems
cryptographiques par l’utilisation de puissance de calcul, déclenche
également la creation de nouvelles cryptomonnaies
Source : https://marmelab.com/blog/2016/05/12/blockchain-
expliquee-aux-developpeurs-web-la-theorie.html
17. 17
Terminologie Blockchain
● Minage
o Les mineurs du réseau sélectionnent les transactions depuis une
pool pour combiner en un ‘bloc’
Image source : https://www.thinkgeek.com/images/products/additional/carousel/e847_minecraft_pickaxe_inuse.jpg
18. 18
Terminologie Blockchain
● Les forks, ou bifurcations
o La creation d’une version alternative de la blochcain, en créant
deux blocs simultanément à deux endroits différents du réseau.
Cela créé deux blockchain parralèles, parmi lesquelles une sera
gagnante sur l’autre
o Quand-est ce que cela se produit t’il ?
• Si deux blocs sont trouvés au même moment par deux mineurs
différents
• En cas d’incompatibilités entre les logiciels des noeuds des mineurs
• En cas de désaccord sur les règles du protocole entre plusieurs noeuds
Source : https://medium.com/my-blockchain-bible/101-blockchain-terminology-874f007c0270
20. 20
Terminologie Blockchain
● Bitcoin
o La cryptomonnaie Bitcoin est le premier actif basé sur la
technologie Blockchain
o Utilisée pour la vente en ligne de drogues et armes illegals, ainsi
que les ransomware (rançongiciel)
o Utilisée pour realiser des transferts de fonds, de la speculation, et
en tant que reserve de valeur
“Ce don’t on a besoin est un système de paiement électronique basé
sur des preuves cryptographiques et non sur la confiance, qui
permettrait à deux parties de réaliser des transactions directement
entre ells, sans avoir besoin de tierce partie de confiance.”
Satoshi Nakamoto – 31 Oct. 2008
Source : https://medium.com/@flatoutcrypto/what-is-the-point-of-eos-ad385740b05f
21. 21
Terminologie Blockchain
● Bitcoin
o Création monétaire
Image source : https://upload.wikimedia.org/wikipedia/commons/thumb/5/54/Total_bitcoins_over_time.png/740px-
Total_bitcoins_over_time.png
22. 22
Terminologie Blockchain
● Bitcoin
o À l’intérieur de la blockchain
Bitcoin
Entête
(Hashé deux fois pour créer l’empreinte qui
sera référencé dans le bloc suivant)
BLOC
(Unité de la Blockchain, comme des pages de transactions au
sein d’un registre)
Nombre de transactions
(Combien de transactions sont incluses
dans le bloc, en incluant la coinbase
transaction qui rémunère le mineur)
Contenu du bloc
Coinbase
transaction
Transactions
Bitcoin
Source : https://bitsonblocks.files.wordpress.com/2015/09/bitcoin_blockchain_infographic1.jpg
23. 23
Terminologie Blockchain
● Bitcoin
o À l’intérieur de la blockchain
Bitcoin
- Entête du bloc : contient des
données techniques, le hash du bloc
précédent, racine de Merkle,
horodatage, difficulté, nonce
Voici un example
horodatage
Source : https://bitsonblocks.files.wordpress.com/2015/09/bitcoin_blockchain_infographic1.jpg
Image source : www.blockchain.com
24. 24
Terminologie Blockchain
● Bitcoin
o À l’intérieur de la blockchain Bitcoin
- Contenu du bloc : Flux de transactions
* Mining Coinbase * Regular Address to Address Transaction
Image source : Scorechain
26. 26
Terminologie Blockchain
● Bitcoin
o Comment le transfert
de monnaie fonctionne
Image source : https://www.weusecoins.com/images/bitcoin-transaction-life-cycle-high-resolution.png
27. 27
Terminologie Blockchain
● Ethereum
o Proposé fin 2013 par Vitalik Buterin (chercheur et programmeur
dans le domaine des cryptomonnaies)
o Financement participative par vente d’Ether contre des bitcoin,
durant l’été 2014
o Bitcoin gonflé aux stéroïdes !
“Une blockchain est un ordinateur magique sur lequel tout le monde
peut télécharger des programmes, et les faire s’auto-executes, où
l’état present ainsi que l’historique des états de tous les programmes
sont toujours visibles publiquement, et qui integer une garantie
crypto-économique très forte que ces programmes continueront de
s’exécuter exactement de la manière spécifiée par le protocole de la
blockchain.”
Vitalik Buterin
Source : https://medium.com/blockchain-review/how-does-the-blockchain-work-for-dummies-explained-simply-9f94d386e093
Image source : https://znews-photo-td.zadn.vn/w660/Uploaded/lce_uxlcq/2017_06_27/20DBBITCOIN4master675.jpg
28. 28
Terminologie Blockchain
● Ethereum
o Plateforme d’applications décentralisées (appelées Dapps)
o Registre de transactions et de contrats intelligents
o Basé sur l’Ethereum Virtual Machine (EVM), machine virtuelle
d’Ethereum
o Intègre une cryptomonnaie, appellée
Ether (ETH)
Image source : https://image.slidesharecdn.com/empresaeinovaonasociedadeemredemaro2013-130717064842-
phpapp01/95/empresa-e-inovao-na-sociedade-em-rede-84-638.jpg?cb=1374043787
31. 31
Table des matières K1
● Introduction
1. Terminologie Blockchain
2. Distinction entre les bases de données et les registres de
blockchain
● Éléments de cryptographie
1. Cryptographie, fonctions de hashage et signatures numériques
● Méthodes de consensus
1. Principes et paradigmes des systèmes distribués
2. Algorithmes de consensus Blockchain
● La Blockchain en tant que structure de données
1. Structure des Blockchains
2. Différents types de blockchain
32. 32
Distinction entre les bases de données et les registres
de blockchain
● Tout d’abord, au niveau de l’architecture
● Bases de données
● Registres de blockchain
Source :
https://www.coindesk.com/information
/what-is-the-difference-blockchain-and-
database/
33. 33
Distinction entre les bases de données et les registres
de blockchain
Bases de données Blockchains
Les bases de données ont des
administrateurs, et un contrôle
centralisé
Personne n’a le contrôle ou administre une
blockchain
Uniquement les individus ayant les
droits ont accès à la base de données
Tout le monde peut accéder à une blockchain
(publique)
Seulement les individus autorisés
peuvent lire et/ou écrire sur la base de
données
N’importe qui qui possède une prevue de travail
valide peut écrire sur la blockchain
Les bases de données sont rapides Les blockchains sont lentes
Il n’y a pas de registre de transactions
contenant tout l’historique
Présence d’un register de transactions avec tout
l’historique
Source : https://coinsutra.com/blockchain-vs-database/
34. 34
Table des matières K1
● Introduction
1. Terminologie Blockchain
2. Distinction entre les bases de données et les registres de
blockchain
● Éléments de cryptographie
1. Cryptographie, fonctions de hashage et signatures numériques
● Méthodes de consensus
1. Principes et paradigmes des systèmes distribués
2. Algorithmes de consensus Blockchain
● La Blockchain en tant que structure de données
1. Structure des Blockchains
2. Différents types de blockchain
35. 35
Table des matières K1
● Introduction
1. Terminologie Blockchain
2. Distinction entre les bases de données et les registres de
blockchain
● Éléments de cryptographie
1. Cryptographie, fonctions de hashage et signatures numériques
● Méthodes de consensus
1. Principes et paradigmes des systèmes distribués
2. Algorithmes de consensus Blockchain
● La Blockchain en tant que structure de données
1. Structure des Blockchains
2. Différents types de blockchain
36. 36
Cryptographie, fonctions de hashage et
signatures numériques
● Cryptographie: Le chiffrement et déchiffrement des données data
o 2 concepts principaux de cryptographie utilisée dans la technologie Blockchain :
- Les fonctions de hashage
- Les signatures numériques
o Il existe 3 formes de chiffrement largement utilisées :
Cryptography symétrique Cryptography asymétrique Hashage
Le même mot de
passe sert à chiffrer
et déchiffrer les
données
Un mot de passe sert à
chiffrer les données, un autre
à les déchiffrer
Projette vers un
espace de dimension
fixe
Fonction bidirectionnelle Les mots de passe vont par
pair (clé publique / clé
privée)
Fonction
monodirectionnelle
Source : https://lisk.io/academy/blockchain-basics/how-does-blockchain-work/what-is-hashing
https://lisk.io/academy/blockchain-basics/how-does-blockchain-work/digital-signatures
41. 41
Cryptographie, fonctions de hashage et
signatures numériques
Image source : https://pascalpares.gitbook.io/an-introduction-to-the-bitcoin-system/the-transactions/structure-of-a-transaction
42. 42
Table des matières K1
● Introduction
1. Terminologie Blockchain
2. Distinction entre les bases de données et les registres de
blockchain
● Éléments de cryptographie
1. Cryptographie, fonctions de hashage et signatures numériques
● Méthodes de consensus
1. Principes et paradigmes des systèmes distribués
2. Algorithmes de consensus Blockchain
● La Blockchain en tant que structure de données
1. Structure des Blockchains
2. Différents types de blockchain
43. 43
Table des matières K1
● Introduction
1. Terminologie Blockchain
2. Distinction entre les bases de données et les registres de
blockchain
● Éléments de cryptographie
1. Cryptographie, fonctions de hashage et signatures numériques
● Méthodes de consensus
1. Principes et paradigmes des systèmes distribués
2. Algorithmes de consensus Blockchain
● La Blockchain en tant que structure de données
1. Structure des Blockchains
2. Différents types de blockchain
44. 44
Méthodes de consensus
● Principles et paradigmes des systèmes distributés
o Tolérance aux pannes byzantines (Byzantine Fault Tolerance -
BFT) : la fiabilité d’un système tolérant aux pannes, en particulier
les systèmes distribués, où des composants peuvent faire défaut, et
l’information de leur panne est imparfaite à travers le réseau
o L’obectif de la BFT est de se défendre contre la panne de
composants du système, avec ou sans symptômes qui
empêcheraient les autres composants d’arriver à un consensusentre
eux, lorsque ce consensus est necessaire au bon fonctionnement du
système
o Un example de BFT utilisé est bitcoin. Le réseau bitcoin fonctionne
en parallèle pour générer une blockchain avec preuve de travail
proof-of-work permettant au système de surmonter les pannes
Byzantines et d’arriver à une vue cohérente globale de l’état du
système
Source : https://en.wikipedia.org/wiki/Byzantine_fault
45. 45
Table des matières K1
● Introduction
1. Terminologie Blockchain
2. Distinction entre les bases de données et les registres de
blockchain
● Éléments de cryptographie
1. Cryptographie, fonctions de hashage et signatures numériques
● Méthodes de consensus
1. Principes et paradigmes des systèmes distribués
2. Algorithmes de consensus Blockchain
● La Blockchain en tant que structure de données
1. Structure des Blockchains
2. Différents types de blockchain
46. 46
Méthodes de consensus
● Les algorithmes de consensus
Derrière chaque cryptomonnaie, il se cache un algorithme de
consensus. Aucun de ces algorithme n’est parfait, mais chacun à ses
forces. Dans le monde de la crypto, ces algorithme sont utilisés pour
résoudre le problème de double dépense : comment s’assurer qu’un
utilisateur n’utilise pas deux fois la même cryptomonnaie pour payer deux
personnes différentes ? Parmi les plus utilisés, il y a
o Preuve de travail - Proof of Work (PoW)
o Preuve d’enjeu - Proof of Stake (PoS)
o Preuve d’enjeu déléguée - Delegated Proof of Stake (DPOS)
o Preuve de brulage - Proof of Burn (PoB)
o Practical Byzantine fault tolerant Mechanism (PBFT)
o …
Source : https://www.newgenapps.com/blog/8-blockchain-consensus-mechanisms-and-benefits
47. 47
Méthodes de consensus
Image source :
https://cointelegraph.com/storage/uploads/vi
ew/ea5b21f014547b4b44cf2dafcd76aad2.jpg
48. 48
Table des matières K1
● Introduction
1. Terminologie Blockchain
2. Distinction entre les bases de données et les registres de
blockchain
● Éléments de cryptographie
1. Cryptographie, fonctions de hashage et signatures numériques
● Méthodes de consensus
1. Principes et paradigmes des systèmes distribués
2. Algorithmes de consensus Blockchain
● La Blockchain en tant que structure de données
1. Structure des Blockchains
2. Différents types de blockchain
49. 49
Table des matières K1
● Introduction
1. Terminologie Blockchain
2. Distinction entre les bases de données et les registres de
blockchain
● Éléments de cryptographie
1. Cryptographie, fonctions de hashage et signatures numériques
● Méthodes de consensus
1. Principes et paradigmes des systèmes distribués
2. Algorithmes de consensus Blockchain
● La Blockchain en tant que structure de données
1. Structure des Blockchains
2. Différents types de blockchain
50. 50
La Blockchain en tant que structure de
données
● Structure des Blockchains
o Plus besoin d’architectures client/serveur avec des rôles prédéfinis
Image source : Scorechain
51. 51
La Blockchain en tant que structure de
données
● Structure des Blockchains
o À la place, une architecture pair-à-pair, avec des paires de clé
privées / publiques pseudonymes pour chaque client. Chaque
noeud possède une copie du registre
Image source : Scorechain
52. 52
La Blockchain en tant que structure de
données
● Structure des Blockchains
o Structure de données :
Image source : Scorechain
53. 53
La Blockchain en tant que structure de
données
● Structure des Blockchains
o Blocs de
données
Image source : Scorechain
54. 54
Table des matières K1
● Introduction
1. Terminologie Blockchain
2. Distinction entre les bases de données et les registres de
blockchain
● Éléments de cryptographie
1. Cryptographie, fonctions de hashage et signatures numériques
● Méthodes de consensus
1. Principes et paradigmes des systèmes distribués
2. Algorithmes de consensus Blockchain
● La Blockchain en tant que structure de données
1. Structure des Blockchains
2. Différents types de blockchain
55. 55
La Blockchain en tant que structure de
données
● Différents types de blockchains
o Il y a trois principaux types de Blockchain, qui ont émergés après
l’apparition de Bitcoin.
Blockchain publique :
Personne ne dirige le réseau, n’importe qui peut participer en lisant, écrivant,
ou en auditant la blockchain (i.e. Bitcoin, Litecoin, etc.)
Blockchain privée :
La propriété privée d’un individu ou d’une organisation, où une entité dirige
l’écriture / la lecture ou bien les droits d’accès à l’écriture / à la lecture (i.e.
Bankchain)
Blockchain fédérée / consortium :
Plusieures personnes dirigent le réseau. Un groupe d’entreprise ou d’individus
représentant prennent des décisions communes au profit du réseau (i.e. r3,
EWF)
Soucre: https://coinsutra.com/different-types-blockchains
56. 56
Table des matières K2
● Théorie des contrats intelligents
1. Théorie et architecture des contrats intelligents
2. Architecture des systèmes autonomes et décentralisés
● Applications des contrats intelligents
1. Applications blockchain existantes, structures liées et
architectures
57. 57
Table des matières K2
● Théorie des contrats intelligents
1. Théorie et architecture des contrats intelligents
2. Architecture des systèmes autonomes et décentralisés
● Applications des contrats intelligents
1. Applications blockchain existantes, structures liées et
architectures
58. 58
Table des matières K2
● Théorie des contrats intelligents
1. Théorie et architecture des contrats intelligents
2. Architecture des systèmes autonomes et décentralisés
● Applications des contrats intelligents
1. Applications blockchain existantes, structures liées et
architectures
59. 59
Théorie et architecture des contrats
intelligents
● Théorie des contrats intelligents
o Un protocole de calcul conçu pour faciliter, vérifier, ou mettre en
oeuvre numériquement la négociation ou l’exécution d’un contrat
o Cela permet l’exécution fiable de transactions sans parties tierces
de confiances
o Les transactions sont traçables et irréversibles
Source : https://en.wikipedia.org/wiki/Smart_contract
60. 60
● Architecture de contrats intelligents
Théorie et architecture des contrats
intelligents
Vérifier si
elle est
signee par
l’initiateur
du
message.
Si oui
Vérifier si la
balance des
comptes est
suffisante
pour le
paiement
Si oui
Le message
sera ajouté
à la
blockchain
* Transaction sans contrat intelligent
* Transaction avec contrat intelligent
Date:
avant
le 31
Dec.
2019…
Prix de
l’essenc
e >50$/
litre
Condi-
tion 3
…
Condi-
tion 4
…
Condi-
tion X
…
Si oui
Image source : Scorechain
61. 61
Table des matières K2
● Théorie des contrats intelligents
1. Théorie et architecture des contrats intelligents
2. Architecture des systèmes autonomes et décentralisés
● Applications des contrats intelligents
1. Applications blockchain existantes, structures liées et
architectures
62. 62
Architecture des systèmes autonomes et décentralisés
● Organisations Autonomes et Décentralisées : DAO
(Decentralized Autonomous Organization)
o Il s’agit d’une organisation représentée par des règles encodées dans un
programme informatique, qui est transparent, contrôlé par les
actionnaires, et n’est pas influencé par un gouvernement central
o Cette notion est similaire à la collecte de fond d’une petite conférence,
mais elle est bien plus vaste. Les membres achètent des parts dans la
DAO et peuvent voter en function du nombre de parts qu’ils possèdent.
Les rêveurs imaginent que les DAO vont remplacer les démocraties et
que des pays entiers pourraient être gouvernés de cette manière
o “The DAO” était le plus gros financement participative de l’histoire –
par le biais d’une ICO - en levant plus de 150 millions de dollars auprès
de plus de 11 000 membres enthousiastes
o Les transactions financières d’une DAO ainsi que les règles du
programme sont gardés sur une Blockchain
Source :
https://blog.erratasec.com/2016/06/etheriumdao-hack-similfied.html#.XHbF3VNKhPN
https://medium.com/@nasirhm/understanding-the-dao-attack-9328a230243
63. 63
Table des matières K2
● Théorie des contrats intelligents
1. Théorie et architecture des contrats intelligents
2. Architecture des systèmes autonomes et décentralisés
● Applications des contrats intelligents
1. Applications blockchain existantes, structures liées et
architectures
64. 64
Table des matières K2
● Théorie des contrats intelligents
1. Théorie et architecture des contrats intelligents
2. Architecture des systèmes autonomes et décentralisés
● Applications des contrats intelligents
1. Applications blockchain existantes, structures liées et architectures
65. 65
Applications des contrats intelligents
● Exemple 1 : Lotterie
o Lotterie sans contrat intelligent
Termes &
conditions
des
paiements
Status de
l’entreprise
organisatrice
Termes &
conditions
de la
lotterie
Organisateur
Participants
Gestionnaire des paiements
Compte séquestre
Sélection du gagnant
Source : https://www.slideshare.net/ThomasCharlesVanderstraeten/ethereum-smart-contract-101-with-cryptizensio
66. 66
Applications des contrats intelligents
● Exemple 1 : Lotterie
o Lotterie avec contrat intelligent
Organisateur
Participants
Source : https://www.slideshare.net/ThomasCharlesVanderstraeten/ethereum-smart-contract-101-with-cryptizensio
67. 67
Applications des contrats intelligents
● Exemple 2-1: Portefeuille de groupe
o S’assure qu’au moins 2 des 3 personnes du groupe sont d’accord
pour créer une transaction valide
Transaction Bitcoin
Andrew Beth
Carl
Blockchain
2 <pubKeyAndrew>
<pubKeyBeth>
<pubKeyCarl> 3
CHECKMULTISIG
Source : https://www.slideshare.net/FedericoTenga/state-smart-contract-ttechnologies
68. 68
Applications des contrats intelligents
● Exemple 2-2: Portefeuille de gestion des héritages
o S’assure qu’une transaction soit signée par Camille, ou bien par
Beth après 5 ans
Camille
Beth
Blockchain
IF
<pubKeyCamille>
CHECKSIG
ELSE
<5 y> CLTV DROP
<pubKeyBeth>
CHECKSIG
ENDIF
Source : https://www.slideshare.net/FedericoTenga/state-smart-contract-ttechnologies
Transaction Bitcoin
69. 69
Applications des contrats intelligents
● Exemple 2-3: Stockage sécurisé
o S’assure qu’une transaction doit être signée sur 3 périphériques
différents OU qu’une clé de recuperation soit déposée à la banque
après 8 mois
Maison Mobile Bureau
Blockchain
IF
3 <pubKeyHome>
<pubKeyMobile>
<pubKeyOffice> OP_3
CHECKMULTISIG
ELSE
<8 m> CLTV DROP
<pubKeyBank>
CHECKSIG
ENDIF
Banque
Source : https://www.slideshare.net/FedericoTenga/state-smart-contract-ttechnologies
Transaction Bitcoin
70. 70
Applications blockchain existantes, structures
liées et architectures
● ERC-20
o Proposé le 19 Nov. 2015 par Fabian Vogelsteller
o Un standard technique utilisé pour les contrats intelligents sur la
blockchain Ethereum, pour l’implementation de tokens. (ERC:
Ethereum Request for Comment, 20: le numéro assigné à la
requête.)
o Défini une liste de règles qu’un token sur Ethereum doit
implémenter, permettant aux développeurs de programmer
comment les nouveaux tokens seront intégrés au sein de
l’écosystème d’Ethereum. Ces règles comprennent entre autre
comment les tokens sont transférés d’une adresse à une autre, et
comment les données de chaque token peuvent être accédés
o Au 19 Nov. 2018, il y a plus de 142,200 contracts de token
implémentant le standard : Dai, Bancor, Qash, etc.
Source : https://en.wikipedia.org/wiki/ERC-20
71. 71
Applications blockchain existantes, structures
liées et architectures
● ERC-721: une classe de tokens uniques
o Un standard libre et ouvert qui décrit la façon de créer des tokens non-fongibles – ou
uniques – sur la blockchain Ethereum. Bien que la plupart des tokens soient fongibles
(tous les tokens sont indifferent des autres d’un même type, i.e. ERC-20), les tokens
ERC-721 sont tous uniques
o Il définit l’interface minimale qu’un contrat intelligent doit implementer afin de
permettre la gestion, la possession, et l’échange de tokens uniques
● ERC-725: Standard d’identité sur Ethereum
o Une proposition de standard pour une identité basée sur la blockchain, tournant sur la
blockchain Ethereum
o Elle décrit des proxies de contrats intelligents qui peuvent être contrôlés par
différentes clés ainsi que d’autres contrats intelligents, qui peut représenter des
individus, des groups, des objets ou des machines
o Les utilisateurs devraient pouvoir posséder et gérer leur identité au lieu de céder la
possession de leur identité à des organisations centralisées
Source :
http://erc721.org/
https://erc725alliance.org/