Blockchain
le consensus distribué
Qu'est ce que la Blockchain ?
Bitcoin
la blockchain est la technologie derrière le bitcoin.
elle en constitue le coeur et l'infrastructure
Définition
- Base de données distribuée de transactions
- Résout le problème des "généraux Byzantins"
- Empêche la "Double dépense"
- Utilise la cryptographie comme preuve de travail
Mais qu'est ce qui a motivé avant tout la création de la Blockchain ?
Résoudre le problème de la "Confiance"
Exemple de l'île de Yap
une monnaie particulière
- les rais, des pierres taillées en forme de disque
- jusqu'à 3m de diamètre et 1 tonne
Comment cela peut-il fonctionner ?
le tiers de confiance
le consensus distribué
La blockchain est une base de données partagée et distribuée qui sert de dépot d'information publique irreversible et incorruptible
Comment est elle construite ?
Un réseau de machine
exemple du réseau Bitcoin : https://bitnodes.21.co/
Transactions Bitcoin : https://blockexplorer.com/
Comment ajoute t'on une transaction dans la Blockchain ?
Exemple d'un transfert de bitcoin
A
B
100 BTC
50 BTC => B
Broadcast
A =>50 BTC => B
A => 50 BTC => B
A => 50 BTC => B
Etape 1 : Envoi de la transaction
Etape 2 : Ajout de la transaction dans le "block" en cours
Transaction 1
Transaction 2
Transaction 3
Transaction 4
Transaction 5
Transaction n
A => 50 BTC => B
1 Block = toute les transactions ajoutées au réseau pendant une durée donnée (10 minutes pour le bitcoin)
Etape 3 : Vérification des transactions du block
- A a t'il rééllement le nombre de BTC nécessaire
- La transaction existe t'elle déjà dans le bloc ou dans la "branche principale"
- ........
Etape 4 : Génération du Hash
Chaque noeud ou "Mineur" de la blockchain tente de générer un "Hash" du block jusqu’à ce qu'il soit inférieur à la "Cible"
Le premier à y arriver est le "mineur gagnant."
A chaque tentative il incrémente le "Nonce" pour modifier le block de donnée à Hasher
Etape 5 : Envoi de la "Preuve de travail" et vérification par l'ensemble du réseau
A
B
100 BTC
50 BTC => B
Broadcast
Preuve de travail
Preuve de travail
Consensus distribué
+25 BTC
50 BTC
50 BTC
Preuve de travail = Hash + "Nonce"
Vérification = recalcul du Hash avec le nonce
Voilà pour la Blockchain 1.0
Blockchain 2.0
2 Notions fondamentales
Smart contract
Smart property
Smart contract
Nick Szabo - 1994
"Je définis le principe de contrat intelligent (smart contract) comme un protocole informatisé qui exécute les termes d’un contrat.
Son objectif est de satisfaire les conditions contractuelles comme les termes du paiement, des intervenants, de la confidentialité, et même de l’exécution en limitant les erreurs accidentelles ou malveillantes et le besoin d’intermédiaires.
Ainsi économiquement le contrat intelligent permet de diminuer les coûts de transaction et d’exécution en diminuant les coûts liés à l’arbitrage et à la fraude."
Un exemple
monsieur A loue une voiture à la société B
le contrat suivant est mis en place
//Monsieur A doit payer 1 BTC par mois pour la location de la voiture X à la société B pendant 2 ans
IF ("monsieur A n'a pas payé 1 BTC avant la fin du mois en cours")
{
"l'accès à la voiture X n'est plus autorisé à monsieur A et reviens à la société B";
}
ELSE
{
IF ("les 2 ans ne sont pas écoulé")
"monsieur A garde l'accés la voiture X";
ELSE
{
"l'accès de la voiture X est rendu à la société B";
}
}
Smart property
La smart property (propriété intelligente) découle directement du système de smart contract. cela permet de contrôler la "possession" d'un élément (physique ou digital) au sein d'une Blockchain et via des smart contract
les outils de la blockchain 2.0
Ethereum
Créé par Viltalik Buterin
fin 2013
Plateforme open source de développement d'application à base de smart contract
Basé sur :
- sa propre blockchain publique
- sa propre cryptomonnaie : l'ether
- un language "Turing complet"
Codius
Plateforme open source de développement d'application à base de smart contract
Basé sur :
- la blockchain du bitcoin
- le bitcoin comme cryptomonnaie
- les smart Oracles pour gérer les smart contracts
Créé par
Quelques applications
La'Zooz
Bitproof
Identité numérique stockée dans une blockchain
Utilisable sur mobile
Covoiturage sans intermédiaire
rémunération en Zooz
Générer une preuve légale de l'existance d'une idée ou d'un document
Identité numérique
Mobilité
Propriété intellectuelle
Identité numérique
Vérification d'identité pour les personnes et les entreprises
BlockVerify
Prédiction des marché financiers , politique, technologie
par analyse des avis utilisateurs rémunérés par l'application
Identification et possession d'un produit stocké dans une blockchain
Signature electronique de document et stockage
dans une blockchain
Veille et prospective
Contrefaçon
Signature electronique
Vote en ligne
Bulletin de vote stocké dans une blockchain
La blockchain à l'imprimerie nationale
Gestion de l'identité numérique
Dématérialisation des diplomes
Système de vote en ligne
Pour le citoyen
Pour les entreprises
Archivage et traçabilité des documents
Signature électronique
Le groupe Caisse des Dépôts lance un laboratoire d’innovation sur la technologie blockchain avec AXA, BNP Paribas, Blockchain Solutions, le groupe BPCE, Cellabz, le CNAM, CNP Assurances, le Crédit Agricole, Croissance Plus, Paymium, et le Pôle de compétitivité Finance innovation.
Pourquoi ne pas en faire partie ?
Et POC !
Quoi ?
Certification d'existence et de possession d'un document
Principe
ece0219c3c67b959d13c7eaa15514698c28f3c722f960f67fa70aefc0b32e408
Calcul du Hash du document
Envoi du hash dans la blockchain
Lien vers la transaction
Comment ?
Utilisation du champ OP_RETURN d'une transaction Bitcoin pour stocker le HASH du document
Comment ?
ece0219c3c67b959d13c7eaa15514698c28f3c722f960f67fa70aefc0b32e408
Transaction bitcoin
IN Wallet 1
IN Wallet 2
Montant : 0,017036 BTC
Frais : 0,00005 BTC (environ 0,02 €)
OP_RETURN : préfixe + Hash
jusqu'à 80 octets
POC v0.5
1 Microservice de certification de document :
- Interface WebService REST
- Gestion de la transaction Bitcoin
- Stockage du lien Numéro de transaction / Hash
- Fonctionnalités
- Ajout d'un hash dans la blockchain
- Vérification de la certification d'un hash
- Récupération de la transaction associé à un Hash/numéro de transaction
POC v1.0
1 IHM Web Responsive
Fonctionnalités :
- Génération de Hash de document sans Upload
- Interfaçage avec Microservice de certification
- Certification de document
- Vérification de certification via Microservice de certification
POC v2.0
Couplage avec la solution de signature de PDF par carte
Blockchain
Hash
Vérification d'authenticité
Une autre idée
Blockchained PKI
Copy of La blockchain V2
By Michael PAMBO OGNANA
Copy of La blockchain V2
Ses principes, ses applications, ses perspectives à l'IN et Proposition de POC
- 390