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

La blockchain V2

By Thomas Foutrein

La blockchain V2

Ses principes, ses applications, ses perspectives à l'IN et Proposition de POC

  • 520