Démystifier la blockchain (bitcoin, smart contracts, ethereum, ...)
La blockchain est un système décentralisé, auto-régulé et transparent. Le plus célèbre est le bitcoin, mais d'autres applications (pas centrées sur la finance) sont depuis lors mis en place, notamment la gestion du cadastre du Honduras pour stopper les fraudes administratives et les titres de propriétés du Gana pour les mêmes raisons. Ensuite des "smart contracts" sont apparus sur "Ethereum", un autre système basé sur la blockchain. Ce dernier permet de scripter soi-même la blockchain. Dès lors, on pourrait tout aussi bien imaginer un système de vote (ad-hoc et impossible à piper (qu'attend l'Etat? :-) ), des paris sportifs, des contrats de mariage, ...
Blockchain BitCoin Ethereum SmartContracts Ether Fizzy FundChain Slock It
Présentation donnée en interne (Cronos) puis en public le 20/09/2017 dans le cadre du café numérique d'Arlon.
6. LE COMMENCEMENT
2008 : crise économomique
Satoshi Nakamoto sort un livre blanc sur le BitCoin (9 pages!)
Invention du BitCoin et de la blockchain
La révolution? Le rééquilibrage aux accès des ressources
➙ Les données sont dispos à la demande, de manière décentralisée
Le BitCoin possède son cours
9. LE COMMENCEMENT
• Silkroad (Ross Ulbricht) a été le réel tremplin pour propager le BitCoin
• BitInstant (Charlie Shrem) aide les USA à se lancer dans le BTC (tout en investissant dans
le réseau au préalable)
10. LE COMMENCEMENT
Le système BTC sans contrôle ne plaît pas au gouvernement
➙ Jugement de Ross Ulbricht à New-York “en exemple” pour faire peur aux utlisateurs.
➙ Jugement de Charlie Shrem car il vendait des BTC à Ross
Les ATM distribuent des billets qui sont échangés en rue contre de la drogue,
mais c’est parfaitement légal. Charlie est allé en prison car il a voulu créer
une monnaie alternative.
12. CONCEPT
Une chaine de block:
Démo simplifiée: https://anders.com/blockchain/block.html
13. CONCEPT
Explication sans gros mot:
Un registre/DB est tenu de manière décentralisée, ce qui le rend transparent
Ce registre prend la forme d’une blockchain.
La blockchain, c’est un train avec des wagons qui sont collés
Pour le BitCoin, un wagon est ajouté à la chaine toutes les 10min
Un ”wagon” contient +- 18 000 lignes (pour le BTC)
Une fois le wagon ajouté, tous les ordinateurs qui ont une copie de la blockchain
mettent à jour leur blockchain
14. CONCEPT
Un block:
En-tête:
Numéro du bloc
Hash du bloc
Hash du bloc précédent
Timestamp
Nonce (pour avoir un hash en 0000* (BTC))
Données de transaction
Transaction coinbase (pour rénumérer le mineur)
Transactions
15. CONCEPT
Un noeud = une machine qui possède la blockchain. Toi si tu veux!
Rend difficile la falsification de la chaine (historique)
Est crypté (crypto asymétrique type RSA (public + private key) )
Un mineur est une machine qui valide des blocks
Un mineur est rémunéré si il valide un block (coinbase)
Un bloc n’est validé que par un mineur. Ensuite le block est accepté par le réseau
1 bloc est miné par un noeud toutes les x minutes (10 minutes pour le BTC)
17. CONCEPT
Qui décide du mineur qui valide le block?
Le premier mineur qui résoud le problème mathématique gagne et soumet le block.
De quel problème mathématique parte-t-on?
Il faut trouver le « nounce » à incorporer au block qui fera que le hash « total » du block
commence par 0000* (BTC). C’est du brute force en gros!
Démo: https://anders.com/blockchain/block.html
18. CONCEPT
QUID de la “double dépense”?
Il n’y a qu’un bloc publié à la fois. Dès qu’il est publié, tout le monde se met à jour!
Comment savoir si ce que l’on transfère est bien à nous (pour un transfert de crypto-$)?
La machine qui publie le bloc vérifie si l’émetteur du transfert possède bien ce qu’il envoie!
Elle vérifie alors toutes les transactions de ou vers le compte!
19. CONCEPT
On peut stocker autre chose que des transactions bancaires.
Des blockchains spécialisés ont été crées comme Ethereum pour stocker des données et des
algorithmes.
Dès lors, le smart contract est possible
20. CONCEPT
Applications de la blockchain:
Certificats automobiles
Cadastre
Propriété intellectuelle
Smart contracts
Systèmes de votes démocratiques
Registar de NDD
La vente de musique sans passer par des majors (PeerTracks)
De l’échange d’electricité pair à pair (confluence)
Un mariage !
Transferer des titres
…
=> La blockchain nous permet de s’auto-organiser sans passer par des intermédiaires
22. BITCOIN
Unité monétaire dé-corrélée du système monétaire national qui peut
échapper au contrôle étatique. Il facilite l’évasion fiscale, les transactions
illicites, la cybercriminalité, …
23. BITCOIN
Mais 90% des transactions Bitcoins ont lieu dans les PVD car c’est plus facile d’y avoir un
smartphone qu’un compte en banque (2 milliards d’adultes non bancarisés).
C’est un moyen rapide et peu cher de transférer de l’argent en 10 minutes max dans le monde
entier (plus rapide qu’un virement bancaire).
24. BITCOIN
Le BitCoin s’appuie sur la technologie Blockchain.
Il existe un transaction fee qui peut être donné pour faire accepter une transaction plus vite
Un bloc prend en moyenne 10 minutes pour se faire accepter sur le réseau
Pour se faire accepter, un block doit présenter un hash commencant par 0000*, grâce au
nounce
25. BITCOIN
Les mineurs sont des noeuds du réseau qui ont plusieurs rôles:
Ecoutent les transactions et les nouveaux blocs
Maintiennent leur liste de blocs à jour
Essaient de construre le prochain bloc valide acceptable par le réseau
Essaient de trouver le bon “nounce” pour que le hash soit en 0000*
Le mineur est rewardé s’il soumet un block valide en premier (09-2017: 12.5 BTN)
La valeur gagnée est fixée par BitCoin et diminue dans le temps. Cela incite à proposer des
blocs acceptés par le réseau.
Les mineurs sont les petites mains du réseau
26. BITCOIN
Au début, le solo-mining était rentable. Actuellement, les gens se mettent dans des pools afin
d’augmenter leur chance de toucher du gain, mais ils diminuent le montant de leurs gains.
Une attaque possible: avoir 51% de la puissance du réseau et imposer ses blockchains
Des évolutions sont proposées par une petite communauté; les développeurs “CORE”
Ligntning (P2P pour le commiter qu’à l’ouverture et fermeture)
Sidechains
28. ETHEREUM
Est une blockchain
Permet de stocker des données et des script
Permet de faire des smart contracts
Une dApp est une application décentralisée
Un contract peut communiquer avec un autre
Possède sa monnaie (ether) mais est compatible BCN
On code les contract en Slidity (JS) qui est transformé en Assembleur
On peut utiliser un IDE type CodeBlock pour générer un script
Embark permet de faire des app en JS/CSS/HTML
30. ETHEREUM
WeiFund: KickStarter en dApp
Proof od Physical Address: permet de vérifier son adresse postale (payer 0,5ETH et reçevoir
un courrier qui valide l’adresse)
Etherisc : permet la création d’assurances. Ex: retad de vol (https://fdd.etherisc.com/)
https://dapps.ethercasts.com/
31. ETHEREUM
La source de données est difficile à importer dans la blockchain car il n’y a
pas d’intermédiaire.
Oraclize: Fournit des données aux application décentralisées (dApps).
On le connecte sur WolframAlpha, Bloomberg, une API exposée sur www, etc
=> https://dev.oraclize.it/
32. ETHEREUM
Kickstarter fait sur Ethereum: http://weifund.io/
Exemples de smart contracts: https://etherchain.org/contracts
Site utile pour débuter: https://dappsforbeginners.wordpress.com/
36. FUNDCHAIN
6 mois de travail collaboratif
POC développé sur 2 jours (hackaton)
10 nodes sur un blochchain privé
Tourne sur ethereum
Investissements par smart contracts
http://fundchain.lu/
38. SLOCK IT
Blockchain + IoT
louez, vendez ou partagez n’importe quel objet – sans intermédiaire
Location de smart objects à la demande. Par exemple: un véhicule.
39. SLOCK IT
Louer ses objets intelligents (IoT) à la demande.
Avec une serrure electrique et la blockchain, on pourrait
imaginer une location automatique via smart-contract
d’un appartement/maison.
Quand une personne veut utiliser l’appartement, il paie
le prix de la location au smart contract lié à la serrure
sur la blockchain. Une fois le paiement effectué, la
porte s’ouvre pour la personne qui a réglé la location,
pendant la durée correspondant à la location.
Tout est alors géré par des smart conracts de manière
transparente.
I-Moe: de 2002 à 2009
xHTML avec quelques balises en moins comme bold,…
Appli en Java (DOJA)
Pas de JS
Pas de CSS
https://bitcoin.org/bitcoin.pdf
Le bitcoin est une crypto-monnaie tandis que Bitcoin est un système de paiement
Contrairement aux autres devises monétaires, Bitcoin n'est pas l'incarnation de l'autorité d'un État, d'une banque ou d'une entreprise. La valeur du bitcoin est déterminée de façon entièrement flottante par l'usage économique qui en est fait et par le marché des changes.
Plusieurs personnes ont revendiqué être Satoshi Nakamoto, mais aucune d'entre elles n'a pu le prouver hors de tout doute
Le 9 janvier 2009, le premier bloc ou bloc genesis est créé
En février 2009, il diffuse la première version du logiciel Bitcoin et génère es premiers bitcoins
Le 9 février 2011, le bitcoin atteint la parité avec le dollar
https://blockchain.info/block/00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048
https://bitcoin.org/bitcoin.pdf
Le bitcoin est une crypto-monnaie tandis que Bitcoin est un système de paiement
Contrairement aux autres devises monétaires, Bitcoin n'est pas l'incarnation de l'autorité d'un État, d'une banque ou d'une entreprise. La valeur du bitcoin est déterminée de façon entièrement flottante par l'usage économique qui en est fait et par le marché des changes.
Le 3 janvier 2009, le premier bloc ou bloc genesis est créé
En février 2009, il diffuse la première version du logiciel Bitcoin et génère es premiers bitcoins
Plusieurs personnes ont revendiqué être Satoshi Nakamoto, mais aucune d'entre elles n'a pu le prouver hors de tout doute
Le 9 février 2011, le bitcoin atteint la parité avec le dollar
Charlie Shrem
BitInstant permet de transformer des $ en BTC. Avant il fallait passer par le japon et ca prenait 7 jours.
Ross réclusion à perpétuité. Les crimes dont il était accusé devaient l’emmener vers une peine de 20 ans.
Charlie Shrem a pris 2 ans de prison et 950 000$. Il est sorti depuis.
La chaîne de blocs du système Bitcoin est un livre public qui enregistre les transactions
full node || lightweight node
Les hashs sont une partie fondamentale de la cryptographie vu qu’il permettent d’associer un ensemble de données de n’importe quelle taille à une signature
Hash = série de chiffres et lettres issues d’un algorithme (calcul) effectuées par un ordinateur.
Nonce = « preuve de travail »
Vidéo du pirate: http://lelombrik.net/48841
Le protocole bitcoin décrète que la quantité émise soit divisée par deux tous les 210,000 blocs et puisque on casse un bloc tout les 10 minutes blocs, émettre 210.000 blocs prend environ 4 ans.
Cette division par deux devrait survenir en août 2016. Cependant, puisque dans la réalité résoudre un bloc demande environ 9 minutes et 20 secondes on est 7% plus rapides et on va atteindre les 210.000 blocs plus tôt : au tour du 20 juin 2016, jour où l’argent contenu dans chaque bloc passera de 25 à 12.5 BTC (à ce jour 5.600$).
60 % des passagers assurés contre le retard de leur vol ne revendiquaient jamais leur argent