SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
1
Blockchain:
révolution
ou
évolution ?
Nicolas Marchand
nicolas.marchand@scalian.com
30 Juin 2017
2
Découverte et exemples
Sous le capot BC
Clés pour démarrer
Perspectives
AGENDA
https://www.youtube.com/watch?v=lytxafTXg6c
Richard Feynman explique le sentiment de confusion
« Lorsque vous pensez à quelque
chose que vous ne comprenez pas,
vous avez un inconfortable
sentiment appelé confusion (...) »
3
« La blockchain va clairement
transformer notre industrie, mais
personne ne sait encore exactement
quand, où et comment »
Stéphane Boujnah, directeur général d’Euronext, Avril 2017
http://www.latribune.fr/entreprises-finance/banques-finance/la-blockchain-a-le-potentie
de-transformer-le-trading-actions-selon-moody-s-686575.html
4
Le problème de la confiance
Pour collaborer, nous nous appuyons
sur des autorités de confiance
En étant factuel, ces tiers sont trop souvent
Compromis (Google/Facebook&co vs NSA)
Biaisés (Visa/Mastercard/Paypal vs Wikileaks)
Incompétents (Yahoo vs les voleurs)
Corrompus (Supply Chain)
Non disponibles (AWS S3)
Inconnus (SSL)
https://notepad-plus-plus.org/news/notepad-7.3.3-fix-cia-hacking-issue.html
https://techcrunch.com/2017/02/28/amazon-aws-s3-outage-is-breaking-things-for-a-lot-of-websites-and-apps/
https://www.bloomberg.com/news/articles/2017-01-19/data-breaches-hit-record-in-2016-as-dnc-wendy-s-co-hacked
https://www.theregister.co.uk/2015/09/21/symantec_fires_workers_over_rogue_certs/
“Trust is like a
mirror, you can fix it
if it's broken, but
you can still see the
crack in that mother
fucker's reflection.”
Lady Gaga explique la confiance
5
C’est quoi la
blockchain ?
C’est une technologie de stockage et de transmission
d’informations sécurisée et transparente qui
fonctionne sans organe central de contrôle
registre sécurisé transparent décentralisé
6
Que fait la
blockchain ?
Elle stocke des enregistrements
ordonnés chronologiquement et
immuables.
immuableregistre sécurisé transparent décentralisé
7
Et concrètement à quoi ça ressemble ?
immuableregistre sécurisé transparent décentralisé
8
D’ou cela provient-il ?
2008
‘Bitcoin: A Peer-to-Peer
Electronic Cash System’
Satoshi Nakamoto
https://www.lrb.co.uk/v38/n13/andrew-ohagan/the-satoshi-affair
immuableregistre sécurisé transparent décentralisé
9
La blockchain permet de
s’échanger
de la valeur
de pair à pair
sans intermédiaire
Et en quoi est-ce une révolution ?
immuableregistre sécurisé transparent décentralisé
10
appellés “smart contracts”
La blockchain permet de
déclencher des contrats
intelligents automatiquement
Mais encore ?
qui exécute des contrats intelligentsimmuableregistre sécurisé transparent décentralisé
"code is law"
11
Quels impacts ?
Crypto-monnaie
E-commerce, paiements,
prêts P2P, micro finance
Actifs
Equity, marchés privés,
dette, crowdfunding
Smart Contracts
Droits numérique,
intermédiaires
Mise sous séquestre
Enregistrement des titres,
propriété, vote, propriété
intellectuelle
qui exécute des contrats intelligentsimmuableregistre sécurisé transparent décentralisé
12
Quelques exemples
Echanges d’électricité pair à pair
Bouygues Immo : Quartier Lyon Confluence
Energie
Simplification administrative
BC Delaware Initiative : actes de sociétés
Administration
Trade Finance PME Intl.
Consortium Trade Chain (HSBC, Natixis, SG, …)
Commerce
Know Your Customer
Consortium R3 (60 Membres, BC Corda)
Banque
Lutte contre la fraude aux impressions
MetaX: adChain
Publicité
Accélerer les déclarations/remboursements
Dynamis : IoT / Smart Contracts
Assurance
https://www.cbinsights.com/blog/industries-disrupted-blockchain/
qui exécute des contrats intelligentsimmuableregistre sécurisé transparent décentralisé
13
3 typologies de cas d’usages
REGISTRE
MEDIACHAIN
PROPRIETE INTELLECTUELLE
POUR LES MEDIAS
TRANSFERT
D’ACTIFS
BITLAND
TRANSFERT DE PROPRIETÉ
SMART
CONTRACTS
LENDERBOT
MICRO-ASSURANCE
Cadastre pour l’Afrique
80% des biens non enregistrés
Impact pour le e-commerce
Registre global des droits
Proteger les artistes
Racheté par Spotify en 2017
Déclenchement instantané
Faciliter les déclarations
Assurance entre particuliers
landing.bitland.world mediachain.io stratumn & deloitte
qui exécute des contrats intelligentsimmuableregistre sécurisé transparent décentralisé
14
OpenBazaar, la marketplace blockchainisée
Réseau décentralisée de commerce en ligne (en bitcoin) sans commissions ni restrictions
« Notre objectif est que les
acheteurs et vendeurs aient
une expérience meilleure en
utilisant OpenBazaar qu’en
utilisant les anciennes
plates-formes centralisées. »
En cas de litige ?
‘2-or-3 multisig’ : 3 personnes doivent etre
d’accords pour accepter le transfert ‘bitcoin’,
un vendeur, un acheteur et un modérateur
Frais de modération: 2%
https://blog.openbazaar.org/how-moderators-and-dispute-resolution-work-in-openbazaar
15
Sous le capot blockchain :
décryptage du fonctionnement de la blockchain
OU
16
Fonctionnement de la blockchain
17
Fonctionnement intéractif de la blockchain
https://anders.com/blockchain
18
Cartographie des blockchains majeures
Description
Blockchain généraliste
2016
Blockchain généraliste
2015
Blockchain de paiement
2009
Type Permissioned
Permissioned
Permissionless
Permissionless
Gouvernance Linux Foundation Enterprise Ethereum Alliance Développeurs Bitcoin
Monnaie Aucune Ether BTC
Gratification mineurs N/A Oui Oui
Consensus Byzantine fault-tolerance Mining (Preuve d’enjeu) Mining (Preuve de travail)
Réseau Privé (par défaut) ou Public Public (par défaut) ou Privé Public
Anonymat De Ouvert à Privé Ouvert Ouvert
Smart Contrats
Multiples langages de
programmation
Langage ‘Solidity’ Possible, mais pas évident
19
Maturité du développement Blockchain
Avons-nous tous les outils en 2017 ?
Web 2.0
Web 3.0 (dApps)
en 2014
Web 3.0 (dApps)
en 2017
Maturité
Calcul à l’échelle Amazon EC2 ? Ethereum, Truebit En cours
Stockage fichiers Amazon S3 ? IFPS/Filecoin, Storj En cours
Données externes API 3rd parties ? Oracles (Augur) En cours
Monétisation Pub ? Modèle de token Prêt
Paiement
Carte de crédit,
paypal
Bitcoin Ethereum, Bitcoin Prêt
20
Focus sur les applications décentralisées (dApps)
Un app store déjà disponible
https://dapps.ethercasts.com/
21
Développer une dApp Ethereum
Anatomie : app classique
22
Développer une dApp Ethereum
Anatomie : app decentralisée
23
Développer une dApp Ethereum
Anatomie : app decentralisée
24
Développer une dApp de vote
UI
https://github.com/maheshmurthy/ethereum_voting_dapp
25
Développer une dApp de vote
Chaine de développement
1/ Blockchain en local
• Ligne de commande: goethereum (geth) ou ethereumjs-testrpc ou ethereum-cpp
• Mist pour la gestion du Wallet
2/ Librairies
• Node.js pour node et npm
• Web3.js (connection à la BC en JSON-RPC)
• Solidity pour le dév des Smart Contract
• Truffle pour accélérer le dev (scaffolding, tests unitaires)
3/ Outils
• Browser-solidity : https://ethereum.github.io/browser-solidity/
• Ethereum Studio : https://live.ether.camp
4/ Process de dev
• Développer le smart contract en Solidity: compiler et déployer dans la blockchain de test
• Développer la dApp en HTML/JS: tester avec le smart contract déployé dans la blockchain de test
• Déployer le smart contract dans la blockchain live, tester puis livrer la dApp
26
Développer une dApp de vote
1/ Smart Contract pragma solidity ^0.4.6; // We have to specify what version of compiler this code will compile with
contract Voting {
/* mapping field below is equivalent to an associative array or hash. */
mapping (bytes32 => uint8) public votesReceived;
bytes32[] public candidateList;
/* This is the constructor which will be called once when you deploy the contract to the blockchain.
When we deploy the contract, we will pass an array of candidates who will be contesting in the election
*/
function Voting(bytes32[] candidateNames) {
candidateList = candidateNames;
}
// This function returns the total votes a candidate has received so far
function totalVotesFor(bytes32 candidate) returns (uint8) {
if (validCandidate(candidate) == false) throw;
return votesReceived[candidate];
}
// This function increments the vote count for the specified candidate.
function voteForCandidate(bytes32 candidate) {
if (validCandidate(candidate) == false) throw;
votesReceived[candidate] += 1;
}
function validCandidate(bytes32 candidate) returns (bool) {
(…) }
}
Voting.sol
27
Développer une dApp de vote
2/ Déploiement
SmartContract
node
// Connexion à la blockchain
> Web3 = require('web3')
> web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
// Visualisation des comptes utilisateurs
> web3.eth.accounts
['0x9c02f5c68e02390a3ab81f63341edc1ba5dbb39e',
'0xc26bda5f3370bdd46e7c84bdb909aead4d8f35f3']
// Compilation du contrat
>code = fs.readFileSync('Voting.sol').toString()
>contract = web3.eth.compile.solidity(code)
// Deploiement du contrat
>VotingContract = web3.eth.contract(contract.info.abiDefinition)
>deployedContract = VotingContract.new(['Rama','Nick','Jose'],{data: contract.code, from:
web3.eth.accounts[0], gas: 4700000})
// Récupération du contrat dans la BC
>contractInstance = VotingContract.at(deployedContract.address)
// 2 Votes pour Rama
>contractInstance.voteForCandidate('Rama', {from: web3.eth.accounts[0]})
>contractInstance.voteForCandidate('Rama', {from: web3.eth.accounts[0]})
// Recupération des résultats
>contractInstance.totalVotesFor.call('Rama').toLocaleString()
'2'
En ligne de commande
28
Développer une dApp de vote
3/ Code HTML <!DOCTYPE html>
<html>
<head>
<title>Hello World DApp</title>
<link href=‘//fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'>
<link href=‘//maxcdn.bootstrapcdn.com/bootstrap/bootstrap.min.css' rel='stylesheet' type='text/css'>
</head>
<body class="container">
<h1>A Simple Hello World Voting Application</h1>
<div class="table-responsive">
<table class="table table-bordered">
<thead><tr><th>Candidate</th><th>Votes</th></tr></thead>
<tbody>
<tr><td>Rama</td><td id="candidate-1"></td></tr>
<tr><td>Nick</td><td id="candidate-2"></td></tr>
<tr><td>Jose</td><td id="candidate-3"></td></tr>
</tbody>
</table>
</div>
<input type="text" id="candidate" />
<a href="#" onclick="voteForCandidate()" class="btn btn-primary">Vote</a>
</body>
<script src="https://cdn.rawgit.com/ethereum/web3.js/develop/dist/web3.js"></script>
<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js"></script>
<script src="./index.js"></script>
</html>
index.html
29
Développer une dApp de vote
4/ Code JS web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
abi =
JSON.parse('[{"constant":false,"inputs":[{"name":"candidate","type":"bytes32"}],"name":"totalVotesFor","o
utputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs »:
(…)
[{"name":"candidateNames","type":"bytes32[]"}],"payable":false,"type":"constructor"}]')
VotingContract = web3.eth.contract(abi);
contractInstance = VotingContract.at('0x2a9c1d265d06d47e8f7b00ffa987c9185aecf672');
candidates = {"Rama": "candidate-1", "Nick": "candidate-2", "Jose": "candidate-3"}
function voteForCandidate(candidate) {
candidateName = $("#candidate").val();
contractInstance.voteForCandidate(candidateName, {from: web3.eth.accounts[0]}, function() {
let div_id = candidates[candidateName];
$("#" + div_id).html(contractInstance.totalVotesFor.call(candidateName).toString());
});
}
$(document).ready(function() {
candidateNames = Object.keys(candidates);
for (var i = 0; i < candidateNames.length; i++) {
let name = candidateNames[i];
let val = contractInstance.totalVotesFor.call(name).toString()
$("#" + candidates[name]).html(val);
}
});
index.js
30
Limites de la blockchain
SECURITE
• Obsolescence des algorithmes cryptographiques
utilisés
• "Code is Bug"
TECHNIQUE
• Passage à l’échelle
DROIT
• Responsabilité des clés privées sans autorité de
certification identifiée
• Reconnaissance juridique des smart contracts
http://www.usine-digitale.fr/article/la-blockchain-pose-de-serieux-problemes-de-
confiance-de-droit-et-de-securite.N401527
31
Smart Ideas
For Your Money
A cool way to represent your
information
Comment
démarrer ?
Les clés pour bâtir
vos premiers cas
d’usage
La blockchain.
32
Comprendre où la blockchain apportera de la valeur
Et comment …
1/
Réfléchir
Trouver le cas
d’usage
2/
Dompter
POC
3/
Expérimenter
Essai terrain
4/
Se lancer
Mise en
production
• Réunir l’équipe
• Mesurer la valeur
• Evaluer la faisabilité
• Fixer les KPIs de succès
• Réaliser un premier cas
• Découvrir les technologies
• Naviguer dans l’écosystème
• Trouver les partenaires
• Intégrer un consortium
• Valider le business model
• Itérer sur la roadmap stratégique
33
8 caractéristiques pour choisir le cas d’usage
Base de données
De multiples
contributeurs
Absence de
confiance
Désintermédiation
Présence de
transactions liées
Présence de règles
métiers
Présence de
validateurs
Présence d’actifs
Le cas d’usage devrait respecter au moins trois de ces caractéristiques
http://www.multichain.com/blog/2015/11/avoiding-pointless-blockchain-project/
34
Blockchain : hyper hype ou pas ?
Une technologie à
fort potentiel,
mais qui doit
encore gagner en
maturité
35
Un écosystème bouillant
Source : Fintech Control Tower, BCG
se structurant autour des grandes familles de cas d’usages
36
Le bon timing pour se lancer
37
Révolution ou évolution
« Le mode de fonctionnement coopératif d’Internet
n’est pas conçu pour offrir des services
commerciaux. »
1994. rapport Théry, intitulé « Les autoroutes de l’information »
https://philippesilberzahn.com/2013/01/07/les-trois-erreurs-prediction-rapport-thery-autoroutes-information-1994/
38
Quelques références
INTROS
https://blockchainfrance.net/
https://www.ethereum-france.com/
https://etherchain.org/
https://blockgeeks.com/guides/what-is-ethereum/
CODING
https://marmelab.com/blog/2016/04/28/blockchain-for-
web-developers-the-theory.html
https://auth0.com/blog/an-introduction-to-ethereum-
and-smart-contracts/
https://github.com/maheshmurthy/ethereum_voting_d
app
MOOC
https://fr.coursera.org/learn/cryptocurrency
(fr) http://www.moocblockchain.com/
https://www.udemy.com/ethereum-developer/
39
Merci pour
votre
écoute

Contenu connexe

Tendances

La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaSMicrosoft
 
Business & Decision - Blockchain et applications : Etat de l'art
Business & Decision - Blockchain et applications : Etat de l'artBusiness & Decision - Blockchain et applications : Etat de l'art
Business & Decision - Blockchain et applications : Etat de l'artBusiness & Decision
 
Introduction to Blockchain
Introduction to BlockchainIntroduction to Blockchain
Introduction to BlockchainMalak Abu Hammad
 
Smart contracts using web3.js
Smart contracts using web3.jsSmart contracts using web3.js
Smart contracts using web3.jsFelix Crisan
 
Overview of blockchain technology and architecture
Overview of blockchain technology and   architectureOverview of blockchain technology and   architecture
Overview of blockchain technology and architectureEY
 
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...Edureka!
 
Crypto currencies The internet of Money
Crypto currencies The internet of MoneyCrypto currencies The internet of Money
Crypto currencies The internet of MoneyFady Dawood
 
Basic introduction in blockchain, smart contracts, permissioned ledgers
Basic introduction in blockchain, smart contracts, permissioned ledgersBasic introduction in blockchain, smart contracts, permissioned ledgers
Basic introduction in blockchain, smart contracts, permissioned ledgersKoen Vingerhoets
 
Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...
Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...
Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...Edureka!
 
Blockchain
BlockchainBlockchain
BlockchainSai Nath
 
An Introduction to Blockchain Technology
An Introduction to Blockchain Technology An Introduction to Blockchain Technology
An Introduction to Blockchain Technology Niuversity
 
Exploring Blockchain Technology, Risks, and Emerging Trends
Exploring Blockchain Technology, Risks, and Emerging TrendsExploring Blockchain Technology, Risks, and Emerging Trends
Exploring Blockchain Technology, Risks, and Emerging TrendsAmazon Web Services
 
Blockchain Essentials and Blockchain on Azure
Blockchain Essentials and Blockchain on AzureBlockchain Essentials and Blockchain on Azure
Blockchain Essentials and Blockchain on AzureNuri Cankaya
 

Tendances (20)

Blockchain
BlockchainBlockchain
Blockchain
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaS
 
Business & Decision - Blockchain et applications : Etat de l'art
Business & Decision - Blockchain et applications : Etat de l'artBusiness & Decision - Blockchain et applications : Etat de l'art
Business & Decision - Blockchain et applications : Etat de l'art
 
Introduction to Blockchain
Introduction to BlockchainIntroduction to Blockchain
Introduction to Blockchain
 
Smart contracts using web3.js
Smart contracts using web3.jsSmart contracts using web3.js
Smart contracts using web3.js
 
La technologie Blockchain - 1ere approche
La technologie Blockchain - 1ere approcheLa technologie Blockchain - 1ere approche
La technologie Blockchain - 1ere approche
 
Block chain
Block chainBlock chain
Block chain
 
Overview of blockchain technology and architecture
Overview of blockchain technology and   architectureOverview of blockchain technology and   architecture
Overview of blockchain technology and architecture
 
Blockchain (1).pptx
Blockchain (1).pptxBlockchain (1).pptx
Blockchain (1).pptx
 
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...
 
BLOCKCHAIN
BLOCKCHAINBLOCKCHAIN
BLOCKCHAIN
 
Crypto currencies The internet of Money
Crypto currencies The internet of MoneyCrypto currencies The internet of Money
Crypto currencies The internet of Money
 
Basic introduction in blockchain, smart contracts, permissioned ledgers
Basic introduction in blockchain, smart contracts, permissioned ledgersBasic introduction in blockchain, smart contracts, permissioned ledgers
Basic introduction in blockchain, smart contracts, permissioned ledgers
 
An Introduction to Blockchain
An Introduction to BlockchainAn Introduction to Blockchain
An Introduction to Blockchain
 
Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...
Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...
Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...
 
Blockchain
BlockchainBlockchain
Blockchain
 
An Introduction to Blockchain Technology
An Introduction to Blockchain Technology An Introduction to Blockchain Technology
An Introduction to Blockchain Technology
 
Exploring Blockchain Technology, Risks, and Emerging Trends
Exploring Blockchain Technology, Risks, and Emerging TrendsExploring Blockchain Technology, Risks, and Emerging Trends
Exploring Blockchain Technology, Risks, and Emerging Trends
 
Blockchain Essentials and Blockchain on Azure
Blockchain Essentials and Blockchain on AzureBlockchain Essentials and Blockchain on Azure
Blockchain Essentials and Blockchain on Azure
 
Ethereum
EthereumEthereum
Ethereum
 

Similaire à Blockchain : révolution ou évolution ?

Keynote Trend Marketing Conference 2019 - Marrakech - Tendances sur la Blockc...
Keynote Trend Marketing Conference 2019 - Marrakech - Tendances sur la Blockc...Keynote Trend Marketing Conference 2019 - Marrakech - Tendances sur la Blockc...
Keynote Trend Marketing Conference 2019 - Marrakech - Tendances sur la Blockc...Sébastien Bourguignon
 
JUG - Soirée Blockchain
JUG - Soirée BlockchainJUG - Soirée Blockchain
JUG - Soirée Blockchainadetante
 
Cwin16 - Paris - blockchain
Cwin16 - Paris - blockchainCwin16 - Paris - blockchain
Cwin16 - Paris - blockchainCapgemini
 
La blockchain,une révolution anthropologique ?
La blockchain,une révolution anthropologique ?La blockchain,une révolution anthropologique ?
La blockchain,une révolution anthropologique ?Laure Bernuau-Diakov
 
Introduction à la Blockchain Voxxed day luxembourg
Introduction à la Blockchain Voxxed day luxembourgIntroduction à la Blockchain Voxxed day luxembourg
Introduction à la Blockchain Voxxed day luxembourgFabrice Croiseaux
 
Gab17 lyon - Blockchain as a service dans Azure by Igor Leontiev
Gab17 lyon - Blockchain as a service dans Azure by Igor LeontievGab17 lyon - Blockchain as a service dans Azure by Igor Leontiev
Gab17 lyon - Blockchain as a service dans Azure by Igor LeontievAZUG FR
 
BlockChain, vers une nouvelle révolution
BlockChain, vers une nouvelle révolutionBlockChain, vers une nouvelle révolution
BlockChain, vers une nouvelle révolutionEric Lévy-Bencheton
 
Introduction à la blockchain : technologie fondamentale et révolutionnaire
Introduction à la blockchain : technologie fondamentale et révolutionnaireIntroduction à la blockchain : technologie fondamentale et révolutionnaire
Introduction à la blockchain : technologie fondamentale et révolutionnaireLaurent Lourenço
 
La technologie Blockchain: Applications Dans Le Secteur Financier
La technologie Blockchain: Applications Dans Le Secteur FinancierLa technologie Blockchain: Applications Dans Le Secteur Financier
La technologie Blockchain: Applications Dans Le Secteur FinancierHicham Hmimou
 
Prestations Consulting Blockchain Philemonday Agency_2016
Prestations Consulting Blockchain Philemonday Agency_2016Prestations Consulting Blockchain Philemonday Agency_2016
Prestations Consulting Blockchain Philemonday Agency_2016Philemonday
 
IDATE DigiWorld Summit Nov 2016 - Philippe Dewost opening keynote on the Bloc...
IDATE DigiWorld Summit Nov 2016 - Philippe Dewost opening keynote on the Bloc...IDATE DigiWorld Summit Nov 2016 - Philippe Dewost opening keynote on the Bloc...
IDATE DigiWorld Summit Nov 2016 - Philippe Dewost opening keynote on the Bloc...Philippe DEWOST
 
Blockchain applied to Marketing 2018
Blockchain applied to Marketing 2018Blockchain applied to Marketing 2018
Blockchain applied to Marketing 2018Jean Llorca
 
La révolution de la blockchain appliquée au marketing
La révolution de la blockchain appliquée au marketingLa révolution de la blockchain appliquée au marketing
La révolution de la blockchain appliquée au marketingPascal Escarment
 
Web3 Culture
Web3 CultureWeb3 Culture
Web3 Cultureheaven
 
Conférence Blockchain OctoTechnology 9 mars 2016
Conférence Blockchain OctoTechnology  9 mars 2016Conférence Blockchain OctoTechnology  9 mars 2016
Conférence Blockchain OctoTechnology 9 mars 2016Antoine Wintrebert
 
MIM Synchronization Services 2016 -> une solution économique pour créer, modi...
MIM Synchronization Services 2016 -> une solution économique pour créer, modi...MIM Synchronization Services 2016 -> une solution économique pour créer, modi...
MIM Synchronization Services 2016 -> une solution économique pour créer, modi...Identity Days
 
ne Cartographie de l'Écosystème Blockchain Français
ne Cartographie de l'Écosystème Blockchain Françaisne Cartographie de l'Écosystème Blockchain Français
ne Cartographie de l'Écosystème Blockchain FrançaisBlockchain Innov
 
Contractualisation Agile
Contractualisation AgileContractualisation Agile
Contractualisation AgileCellenza
 

Similaire à Blockchain : révolution ou évolution ? (20)

Keynote Trend Marketing Conference 2019 - Marrakech - Tendances sur la Blockc...
Keynote Trend Marketing Conference 2019 - Marrakech - Tendances sur la Blockc...Keynote Trend Marketing Conference 2019 - Marrakech - Tendances sur la Blockc...
Keynote Trend Marketing Conference 2019 - Marrakech - Tendances sur la Blockc...
 
JUG - Soirée Blockchain
JUG - Soirée BlockchainJUG - Soirée Blockchain
JUG - Soirée Blockchain
 
Cwin16 - Paris - blockchain
Cwin16 - Paris - blockchainCwin16 - Paris - blockchain
Cwin16 - Paris - blockchain
 
La blockchain,une révolution anthropologique ?
La blockchain,une révolution anthropologique ?La blockchain,une révolution anthropologique ?
La blockchain,une révolution anthropologique ?
 
Introduction à la Blockchain Voxxed day luxembourg
Introduction à la Blockchain Voxxed day luxembourgIntroduction à la Blockchain Voxxed day luxembourg
Introduction à la Blockchain Voxxed day luxembourg
 
Gab17 lyon - Blockchain as a service dans Azure by Igor Leontiev
Gab17 lyon - Blockchain as a service dans Azure by Igor LeontievGab17 lyon - Blockchain as a service dans Azure by Igor Leontiev
Gab17 lyon - Blockchain as a service dans Azure by Igor Leontiev
 
BlockChain, vers une nouvelle révolution
BlockChain, vers une nouvelle révolutionBlockChain, vers une nouvelle révolution
BlockChain, vers une nouvelle révolution
 
Pres blockchain
Pres blockchainPres blockchain
Pres blockchain
 
La Blockchain : Au-delà du Bitcoin
La Blockchain : Au-delà du BitcoinLa Blockchain : Au-delà du Bitcoin
La Blockchain : Au-delà du Bitcoin
 
Introduction à la blockchain : technologie fondamentale et révolutionnaire
Introduction à la blockchain : technologie fondamentale et révolutionnaireIntroduction à la blockchain : technologie fondamentale et révolutionnaire
Introduction à la blockchain : technologie fondamentale et révolutionnaire
 
La technologie Blockchain: Applications Dans Le Secteur Financier
La technologie Blockchain: Applications Dans Le Secteur FinancierLa technologie Blockchain: Applications Dans Le Secteur Financier
La technologie Blockchain: Applications Dans Le Secteur Financier
 
Prestations Consulting Blockchain Philemonday Agency_2016
Prestations Consulting Blockchain Philemonday Agency_2016Prestations Consulting Blockchain Philemonday Agency_2016
Prestations Consulting Blockchain Philemonday Agency_2016
 
IDATE DigiWorld Summit Nov 2016 - Philippe Dewost opening keynote on the Bloc...
IDATE DigiWorld Summit Nov 2016 - Philippe Dewost opening keynote on the Bloc...IDATE DigiWorld Summit Nov 2016 - Philippe Dewost opening keynote on the Bloc...
IDATE DigiWorld Summit Nov 2016 - Philippe Dewost opening keynote on the Bloc...
 
Blockchain applied to Marketing 2018
Blockchain applied to Marketing 2018Blockchain applied to Marketing 2018
Blockchain applied to Marketing 2018
 
La révolution de la blockchain appliquée au marketing
La révolution de la blockchain appliquée au marketingLa révolution de la blockchain appliquée au marketing
La révolution de la blockchain appliquée au marketing
 
Web3 Culture
Web3 CultureWeb3 Culture
Web3 Culture
 
Conférence Blockchain OctoTechnology 9 mars 2016
Conférence Blockchain OctoTechnology  9 mars 2016Conférence Blockchain OctoTechnology  9 mars 2016
Conférence Blockchain OctoTechnology 9 mars 2016
 
MIM Synchronization Services 2016 -> une solution économique pour créer, modi...
MIM Synchronization Services 2016 -> une solution économique pour créer, modi...MIM Synchronization Services 2016 -> une solution économique pour créer, modi...
MIM Synchronization Services 2016 -> une solution économique pour créer, modi...
 
ne Cartographie de l'Écosystème Blockchain Français
ne Cartographie de l'Écosystème Blockchain Françaisne Cartographie de l'Écosystème Blockchain Français
ne Cartographie de l'Écosystème Blockchain Français
 
Contractualisation Agile
Contractualisation AgileContractualisation Agile
Contractualisation Agile
 

Blockchain : révolution ou évolution ?

  • 2. 2 Découverte et exemples Sous le capot BC Clés pour démarrer Perspectives AGENDA https://www.youtube.com/watch?v=lytxafTXg6c Richard Feynman explique le sentiment de confusion « Lorsque vous pensez à quelque chose que vous ne comprenez pas, vous avez un inconfortable sentiment appelé confusion (...) »
  • 3. 3 « La blockchain va clairement transformer notre industrie, mais personne ne sait encore exactement quand, où et comment » Stéphane Boujnah, directeur général d’Euronext, Avril 2017 http://www.latribune.fr/entreprises-finance/banques-finance/la-blockchain-a-le-potentie de-transformer-le-trading-actions-selon-moody-s-686575.html
  • 4. 4 Le problème de la confiance Pour collaborer, nous nous appuyons sur des autorités de confiance En étant factuel, ces tiers sont trop souvent Compromis (Google/Facebook&co vs NSA) Biaisés (Visa/Mastercard/Paypal vs Wikileaks) Incompétents (Yahoo vs les voleurs) Corrompus (Supply Chain) Non disponibles (AWS S3) Inconnus (SSL) https://notepad-plus-plus.org/news/notepad-7.3.3-fix-cia-hacking-issue.html https://techcrunch.com/2017/02/28/amazon-aws-s3-outage-is-breaking-things-for-a-lot-of-websites-and-apps/ https://www.bloomberg.com/news/articles/2017-01-19/data-breaches-hit-record-in-2016-as-dnc-wendy-s-co-hacked https://www.theregister.co.uk/2015/09/21/symantec_fires_workers_over_rogue_certs/ “Trust is like a mirror, you can fix it if it's broken, but you can still see the crack in that mother fucker's reflection.” Lady Gaga explique la confiance
  • 5. 5 C’est quoi la blockchain ? C’est une technologie de stockage et de transmission d’informations sécurisée et transparente qui fonctionne sans organe central de contrôle registre sécurisé transparent décentralisé
  • 6. 6 Que fait la blockchain ? Elle stocke des enregistrements ordonnés chronologiquement et immuables. immuableregistre sécurisé transparent décentralisé
  • 7. 7 Et concrètement à quoi ça ressemble ? immuableregistre sécurisé transparent décentralisé
  • 8. 8 D’ou cela provient-il ? 2008 ‘Bitcoin: A Peer-to-Peer Electronic Cash System’ Satoshi Nakamoto https://www.lrb.co.uk/v38/n13/andrew-ohagan/the-satoshi-affair immuableregistre sécurisé transparent décentralisé
  • 9. 9 La blockchain permet de s’échanger de la valeur de pair à pair sans intermédiaire Et en quoi est-ce une révolution ? immuableregistre sécurisé transparent décentralisé
  • 10. 10 appellés “smart contracts” La blockchain permet de déclencher des contrats intelligents automatiquement Mais encore ? qui exécute des contrats intelligentsimmuableregistre sécurisé transparent décentralisé "code is law"
  • 11. 11 Quels impacts ? Crypto-monnaie E-commerce, paiements, prêts P2P, micro finance Actifs Equity, marchés privés, dette, crowdfunding Smart Contracts Droits numérique, intermédiaires Mise sous séquestre Enregistrement des titres, propriété, vote, propriété intellectuelle qui exécute des contrats intelligentsimmuableregistre sécurisé transparent décentralisé
  • 12. 12 Quelques exemples Echanges d’électricité pair à pair Bouygues Immo : Quartier Lyon Confluence Energie Simplification administrative BC Delaware Initiative : actes de sociétés Administration Trade Finance PME Intl. Consortium Trade Chain (HSBC, Natixis, SG, …) Commerce Know Your Customer Consortium R3 (60 Membres, BC Corda) Banque Lutte contre la fraude aux impressions MetaX: adChain Publicité Accélerer les déclarations/remboursements Dynamis : IoT / Smart Contracts Assurance https://www.cbinsights.com/blog/industries-disrupted-blockchain/ qui exécute des contrats intelligentsimmuableregistre sécurisé transparent décentralisé
  • 13. 13 3 typologies de cas d’usages REGISTRE MEDIACHAIN PROPRIETE INTELLECTUELLE POUR LES MEDIAS TRANSFERT D’ACTIFS BITLAND TRANSFERT DE PROPRIETÉ SMART CONTRACTS LENDERBOT MICRO-ASSURANCE Cadastre pour l’Afrique 80% des biens non enregistrés Impact pour le e-commerce Registre global des droits Proteger les artistes Racheté par Spotify en 2017 Déclenchement instantané Faciliter les déclarations Assurance entre particuliers landing.bitland.world mediachain.io stratumn & deloitte qui exécute des contrats intelligentsimmuableregistre sécurisé transparent décentralisé
  • 14. 14 OpenBazaar, la marketplace blockchainisée Réseau décentralisée de commerce en ligne (en bitcoin) sans commissions ni restrictions « Notre objectif est que les acheteurs et vendeurs aient une expérience meilleure en utilisant OpenBazaar qu’en utilisant les anciennes plates-formes centralisées. » En cas de litige ? ‘2-or-3 multisig’ : 3 personnes doivent etre d’accords pour accepter le transfert ‘bitcoin’, un vendeur, un acheteur et un modérateur Frais de modération: 2% https://blog.openbazaar.org/how-moderators-and-dispute-resolution-work-in-openbazaar
  • 15. 15 Sous le capot blockchain : décryptage du fonctionnement de la blockchain OU
  • 17. 17 Fonctionnement intéractif de la blockchain https://anders.com/blockchain
  • 18. 18 Cartographie des blockchains majeures Description Blockchain généraliste 2016 Blockchain généraliste 2015 Blockchain de paiement 2009 Type Permissioned Permissioned Permissionless Permissionless Gouvernance Linux Foundation Enterprise Ethereum Alliance Développeurs Bitcoin Monnaie Aucune Ether BTC Gratification mineurs N/A Oui Oui Consensus Byzantine fault-tolerance Mining (Preuve d’enjeu) Mining (Preuve de travail) Réseau Privé (par défaut) ou Public Public (par défaut) ou Privé Public Anonymat De Ouvert à Privé Ouvert Ouvert Smart Contrats Multiples langages de programmation Langage ‘Solidity’ Possible, mais pas évident
  • 19. 19 Maturité du développement Blockchain Avons-nous tous les outils en 2017 ? Web 2.0 Web 3.0 (dApps) en 2014 Web 3.0 (dApps) en 2017 Maturité Calcul à l’échelle Amazon EC2 ? Ethereum, Truebit En cours Stockage fichiers Amazon S3 ? IFPS/Filecoin, Storj En cours Données externes API 3rd parties ? Oracles (Augur) En cours Monétisation Pub ? Modèle de token Prêt Paiement Carte de crédit, paypal Bitcoin Ethereum, Bitcoin Prêt
  • 20. 20 Focus sur les applications décentralisées (dApps) Un app store déjà disponible https://dapps.ethercasts.com/
  • 21. 21 Développer une dApp Ethereum Anatomie : app classique
  • 22. 22 Développer une dApp Ethereum Anatomie : app decentralisée
  • 23. 23 Développer une dApp Ethereum Anatomie : app decentralisée
  • 24. 24 Développer une dApp de vote UI https://github.com/maheshmurthy/ethereum_voting_dapp
  • 25. 25 Développer une dApp de vote Chaine de développement 1/ Blockchain en local • Ligne de commande: goethereum (geth) ou ethereumjs-testrpc ou ethereum-cpp • Mist pour la gestion du Wallet 2/ Librairies • Node.js pour node et npm • Web3.js (connection à la BC en JSON-RPC) • Solidity pour le dév des Smart Contract • Truffle pour accélérer le dev (scaffolding, tests unitaires) 3/ Outils • Browser-solidity : https://ethereum.github.io/browser-solidity/ • Ethereum Studio : https://live.ether.camp 4/ Process de dev • Développer le smart contract en Solidity: compiler et déployer dans la blockchain de test • Développer la dApp en HTML/JS: tester avec le smart contract déployé dans la blockchain de test • Déployer le smart contract dans la blockchain live, tester puis livrer la dApp
  • 26. 26 Développer une dApp de vote 1/ Smart Contract pragma solidity ^0.4.6; // We have to specify what version of compiler this code will compile with contract Voting { /* mapping field below is equivalent to an associative array or hash. */ mapping (bytes32 => uint8) public votesReceived; bytes32[] public candidateList; /* This is the constructor which will be called once when you deploy the contract to the blockchain. When we deploy the contract, we will pass an array of candidates who will be contesting in the election */ function Voting(bytes32[] candidateNames) { candidateList = candidateNames; } // This function returns the total votes a candidate has received so far function totalVotesFor(bytes32 candidate) returns (uint8) { if (validCandidate(candidate) == false) throw; return votesReceived[candidate]; } // This function increments the vote count for the specified candidate. function voteForCandidate(bytes32 candidate) { if (validCandidate(candidate) == false) throw; votesReceived[candidate] += 1; } function validCandidate(bytes32 candidate) returns (bool) { (…) } } Voting.sol
  • 27. 27 Développer une dApp de vote 2/ Déploiement SmartContract node // Connexion à la blockchain > Web3 = require('web3') > web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545")); // Visualisation des comptes utilisateurs > web3.eth.accounts ['0x9c02f5c68e02390a3ab81f63341edc1ba5dbb39e', '0xc26bda5f3370bdd46e7c84bdb909aead4d8f35f3'] // Compilation du contrat >code = fs.readFileSync('Voting.sol').toString() >contract = web3.eth.compile.solidity(code) // Deploiement du contrat >VotingContract = web3.eth.contract(contract.info.abiDefinition) >deployedContract = VotingContract.new(['Rama','Nick','Jose'],{data: contract.code, from: web3.eth.accounts[0], gas: 4700000}) // Récupération du contrat dans la BC >contractInstance = VotingContract.at(deployedContract.address) // 2 Votes pour Rama >contractInstance.voteForCandidate('Rama', {from: web3.eth.accounts[0]}) >contractInstance.voteForCandidate('Rama', {from: web3.eth.accounts[0]}) // Recupération des résultats >contractInstance.totalVotesFor.call('Rama').toLocaleString() '2' En ligne de commande
  • 28. 28 Développer une dApp de vote 3/ Code HTML <!DOCTYPE html> <html> <head> <title>Hello World DApp</title> <link href=‘//fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'> <link href=‘//maxcdn.bootstrapcdn.com/bootstrap/bootstrap.min.css' rel='stylesheet' type='text/css'> </head> <body class="container"> <h1>A Simple Hello World Voting Application</h1> <div class="table-responsive"> <table class="table table-bordered"> <thead><tr><th>Candidate</th><th>Votes</th></tr></thead> <tbody> <tr><td>Rama</td><td id="candidate-1"></td></tr> <tr><td>Nick</td><td id="candidate-2"></td></tr> <tr><td>Jose</td><td id="candidate-3"></td></tr> </tbody> </table> </div> <input type="text" id="candidate" /> <a href="#" onclick="voteForCandidate()" class="btn btn-primary">Vote</a> </body> <script src="https://cdn.rawgit.com/ethereum/web3.js/develop/dist/web3.js"></script> <script src="https://code.jquery.com/jquery-3.1.1.slim.min.js"></script> <script src="./index.js"></script> </html> index.html
  • 29. 29 Développer une dApp de vote 4/ Code JS web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545")); abi = JSON.parse('[{"constant":false,"inputs":[{"name":"candidate","type":"bytes32"}],"name":"totalVotesFor","o utputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs »: (…) [{"name":"candidateNames","type":"bytes32[]"}],"payable":false,"type":"constructor"}]') VotingContract = web3.eth.contract(abi); contractInstance = VotingContract.at('0x2a9c1d265d06d47e8f7b00ffa987c9185aecf672'); candidates = {"Rama": "candidate-1", "Nick": "candidate-2", "Jose": "candidate-3"} function voteForCandidate(candidate) { candidateName = $("#candidate").val(); contractInstance.voteForCandidate(candidateName, {from: web3.eth.accounts[0]}, function() { let div_id = candidates[candidateName]; $("#" + div_id).html(contractInstance.totalVotesFor.call(candidateName).toString()); }); } $(document).ready(function() { candidateNames = Object.keys(candidates); for (var i = 0; i < candidateNames.length; i++) { let name = candidateNames[i]; let val = contractInstance.totalVotesFor.call(name).toString() $("#" + candidates[name]).html(val); } }); index.js
  • 30. 30 Limites de la blockchain SECURITE • Obsolescence des algorithmes cryptographiques utilisés • "Code is Bug" TECHNIQUE • Passage à l’échelle DROIT • Responsabilité des clés privées sans autorité de certification identifiée • Reconnaissance juridique des smart contracts http://www.usine-digitale.fr/article/la-blockchain-pose-de-serieux-problemes-de- confiance-de-droit-et-de-securite.N401527
  • 31. 31 Smart Ideas For Your Money A cool way to represent your information Comment démarrer ? Les clés pour bâtir vos premiers cas d’usage La blockchain.
  • 32. 32 Comprendre où la blockchain apportera de la valeur Et comment … 1/ Réfléchir Trouver le cas d’usage 2/ Dompter POC 3/ Expérimenter Essai terrain 4/ Se lancer Mise en production • Réunir l’équipe • Mesurer la valeur • Evaluer la faisabilité • Fixer les KPIs de succès • Réaliser un premier cas • Découvrir les technologies • Naviguer dans l’écosystème • Trouver les partenaires • Intégrer un consortium • Valider le business model • Itérer sur la roadmap stratégique
  • 33. 33 8 caractéristiques pour choisir le cas d’usage Base de données De multiples contributeurs Absence de confiance Désintermédiation Présence de transactions liées Présence de règles métiers Présence de validateurs Présence d’actifs Le cas d’usage devrait respecter au moins trois de ces caractéristiques http://www.multichain.com/blog/2015/11/avoiding-pointless-blockchain-project/
  • 34. 34 Blockchain : hyper hype ou pas ? Une technologie à fort potentiel, mais qui doit encore gagner en maturité
  • 35. 35 Un écosystème bouillant Source : Fintech Control Tower, BCG se structurant autour des grandes familles de cas d’usages
  • 36. 36 Le bon timing pour se lancer
  • 37. 37 Révolution ou évolution « Le mode de fonctionnement coopératif d’Internet n’est pas conçu pour offrir des services commerciaux. » 1994. rapport Théry, intitulé « Les autoroutes de l’information » https://philippesilberzahn.com/2013/01/07/les-trois-erreurs-prediction-rapport-thery-autoroutes-information-1994/