La blockchain est la technologie buzzword du moment pour assurer une traçabilité des transactions. Beaucoup de personnes en parlent, mais très peu savent comment cela fonctionne réellement. Pire, de plus d'outils d'implémentations font leur apparition, et il est difficile de s'y retrouver.
The Linux Foundation a créé Hyperledger Fabric, un framework permettant la réalisation d'un réseau de blockchain from scratch très prometteur, que nous allons décortiquer ensemble. Nous allons donc réaliser un tour d'horizon de ce qu'il permet et explorer les tenants et aboutissants de ce qu'est concrètement la réalisation d'un tel réseau.
Cette présentation a pour vocation de vous permettre de comprendre en détail le fonctionnement de cette technologie, et surtout d'être capable de savoir si elle peut répondre à vos besoins.
Par Vincent Segouin, Développeur full-stack JS Java chez Xebia
Toutes les informations sur xebicon.fr
Developing applications with Hyperledger Fabric SDKHorea Porutiu
Intro to Hyperledger Fabric concepts. Will cover peers, orderer, state database, and certificate authority. Go over code examples of how to submit transactions on the network. Demo IBM Blockchain Starter Plan, Composer, and IBM Food Trust use-cases.
The blockchain is an incorruptible digital ledger of economic transactions that can be programmed to record not just financial transactions but virtually everything of value.
for more inforamation please visit our youtube channel
https://www.youtube.com/edit?o=U&video_id=EvICyArbFSs
www.rihusoft.com
Developing applications with Hyperledger Fabric SDKHorea Porutiu
Intro to Hyperledger Fabric concepts. Will cover peers, orderer, state database, and certificate authority. Go over code examples of how to submit transactions on the network. Demo IBM Blockchain Starter Plan, Composer, and IBM Food Trust use-cases.
The blockchain is an incorruptible digital ledger of economic transactions that can be programmed to record not just financial transactions but virtually everything of value.
for more inforamation please visit our youtube channel
https://www.youtube.com/edit?o=U&video_id=EvICyArbFSs
www.rihusoft.com
[DockerCon 2023] Reproducible builds with BuildKit for software supply chain ...Akihiro Suda
Images maintained by a reputable organization or an individual are often considered to be trustworthy; however, it is hard to deny the possibility that they might have silently injected malicious codes that are not present in the source repo. Also, even if they have no malicious intent, their images can still be compromised on an accidental leakage of registry credentials.
The latest release of BuildKit solves this supply chain security concern with reproducible builds. Reproducible builds is a technique to ensure that a bit-for-bit identical image can be reproduced from its source code, by anybody, at any time. When multiple actors can attest to an image's reproducibility, it signifies that the image contains no code of a secret origin.
Audiences of this talk will learn how they can and how sometimes they cannot make their images reproducible to improve their trust.
This presentation shows the evolution of blockchain implementations from simple financial transactions to complex computer programs (i.e. Smart Contracts)
Ethereum at its simplest, is an open software platform based on blockchain technology
Ethereum allows developers to build and deploy decentralized applications.
Hyperledger Fabric Application Development 20190618Arnaud Le Hors
Slides presented at the Hyperledger Fabric Workshop in Barcelona on July 10th, 2019.
This covers the development of a Fabric application and smart contract (i.e. chaincode), with some tips on good practices and the IBM Blockchain Platform extension for VS Code.
- Analyze the strength and weakness of public blockchain and the goal of private blockchain.
- Explains the core architectural features, mechanisms and provisioning process of Hyperledger Fabric.
An introduction session in the "Blockchain: Cryptocurrencies and other Business Applications" course that I've just finished delivering to the School of Business of Hong Kong Baptist University.
Ethereum is the largest decentralized software platform that allows you to build smart contracts and decentralized applications without any downtime and without any third party interference.
VISIT:- http://www.oodlestechnologies.com/online-cryptocurrency-wallet
Decentralized identity uses standards to create an interoperable language for new identity products and services to be build. Using Verifiable Credentials and Decentralized Identifiers.
Comment débuter en devops et apprendre à réaliser son premier pipeline. Très facilement et en toute simplicité.
Une formation gratuite pour s'initier au devops.
https://youtu.be/tiSfXCM8VTw
https://gitlab.com/xavki/pipeline-saison-1
Au cours des derniers mois, la Blockchain a connu un engouement très important, surtout à cause du buzz qui a été fait autour des crypto-monnaies telles que Bitcoin. Si la Blockchain est la technologie qui se cache derrière ces dernières, elle n'est pas uniquement cela et promet de permettre de construire des applications décentralisées (et sans tiers de confiance) dans divers domaines d'application où un tiers de confiance était jusque là nécessaire. Dans cette présentations, nous présentons les principes de fonctionnement de la technologie Blockchain avec tous les mécanismes sous-jacents qui pour un grand nombre sont antérieurs à la Blockchain (réseaux pair-à-pair, cryptographie, fonctions de condensat, etc.).
[DockerCon 2023] Reproducible builds with BuildKit for software supply chain ...Akihiro Suda
Images maintained by a reputable organization or an individual are often considered to be trustworthy; however, it is hard to deny the possibility that they might have silently injected malicious codes that are not present in the source repo. Also, even if they have no malicious intent, their images can still be compromised on an accidental leakage of registry credentials.
The latest release of BuildKit solves this supply chain security concern with reproducible builds. Reproducible builds is a technique to ensure that a bit-for-bit identical image can be reproduced from its source code, by anybody, at any time. When multiple actors can attest to an image's reproducibility, it signifies that the image contains no code of a secret origin.
Audiences of this talk will learn how they can and how sometimes they cannot make their images reproducible to improve their trust.
This presentation shows the evolution of blockchain implementations from simple financial transactions to complex computer programs (i.e. Smart Contracts)
Ethereum at its simplest, is an open software platform based on blockchain technology
Ethereum allows developers to build and deploy decentralized applications.
Hyperledger Fabric Application Development 20190618Arnaud Le Hors
Slides presented at the Hyperledger Fabric Workshop in Barcelona on July 10th, 2019.
This covers the development of a Fabric application and smart contract (i.e. chaincode), with some tips on good practices and the IBM Blockchain Platform extension for VS Code.
- Analyze the strength and weakness of public blockchain and the goal of private blockchain.
- Explains the core architectural features, mechanisms and provisioning process of Hyperledger Fabric.
An introduction session in the "Blockchain: Cryptocurrencies and other Business Applications" course that I've just finished delivering to the School of Business of Hong Kong Baptist University.
Ethereum is the largest decentralized software platform that allows you to build smart contracts and decentralized applications without any downtime and without any third party interference.
VISIT:- http://www.oodlestechnologies.com/online-cryptocurrency-wallet
Decentralized identity uses standards to create an interoperable language for new identity products and services to be build. Using Verifiable Credentials and Decentralized Identifiers.
Comment débuter en devops et apprendre à réaliser son premier pipeline. Très facilement et en toute simplicité.
Une formation gratuite pour s'initier au devops.
https://youtu.be/tiSfXCM8VTw
https://gitlab.com/xavki/pipeline-saison-1
Au cours des derniers mois, la Blockchain a connu un engouement très important, surtout à cause du buzz qui a été fait autour des crypto-monnaies telles que Bitcoin. Si la Blockchain est la technologie qui se cache derrière ces dernières, elle n'est pas uniquement cela et promet de permettre de construire des applications décentralisées (et sans tiers de confiance) dans divers domaines d'application où un tiers de confiance était jusque là nécessaire. Dans cette présentations, nous présentons les principes de fonctionnement de la technologie Blockchain avec tous les mécanismes sous-jacents qui pour un grand nombre sont antérieurs à la Blockchain (réseaux pair-à-pair, cryptographie, fonctions de condensat, etc.).
Venez comprendre le concept de la Blockchain, ses bénéfices et scénarios d’usage ainsi que les outils et la plateforme proposés par Microsoft pour vous permettre de démarrer, rapidement et à moindre coût, des projets de développement et d’extension de vos solutions existantes dans ce domaine.
Blockchain - Une démarche d'Open Innovation et d'Agilité pour un consortium o...Vidal Chriqui
Keynote donnée au Blockchain Forum (08 décembre 2016) sur la blockchain comme nouvel outil pour soutenir une démarche d'Open Innovation et d'Agilité pour un Consortium ou GIE
Innovation et technologie blockchain -intervention DigitalPlaceNazim Morera
Après une brève introduction rappelant ce qu’est le concept de blockchain et ses aspects techniques, cette présentation vous donnera un court aperçu sur la façon dont ce nouveau paradigme de gestion de la confiance est en train de bouleverser le secteur de la finance et du paiement grâce à #bitcoin et au boom des #ICOs.
Blockchain et Smart Contract : de la théorie à la productionMathieu Durand
Présentation faite au Breizhcamp 2019
Blockchain, Ethereum, Smart-Contracts... on en entend souvent parler mais qu'est ce que ça donne réellement en production ?
Cette conférence sera l'occasion de présenter notre REX de mise en production d'une application web basée sur l'utilisation de Smart Contract Ethereum. Après avoir présenté brièvement les concepts clés de Blockchain Ethereum et Smart Contract, nous présenterons notre retour d'expérience sur le développement d'une application VueJs/Java permettant l'échange de cryptomonnaie dite "tokenisée" (EC-20) via Smart Contract Ethereum.
Intervention de de Laurent-Pierre Gillard d'AEC, sur la Blockchain lors des #ET12, 12èmes Rencontres Nationales du etourisme institutionnel à Pau, les 19 et 20 octobre 2016.
En partenariat avec ADEO à Lille, retrouvez les slides de la conférence "UseCases Blockchain & Retail" présenté par Romain Vailleux (OCTO), Benoit Lafontaine (OCTO) & Régis Mertz (Leroy Merlin)
Web2day 2023 - Internet (re)décentralisé ? Architecture du Web3Raphaël Semeteys
Web3, blockchain, cryptomonnaies, tokens, wallet, NFT, smart contract, dApp, DAO… Il s’agit de prendre du recul sur les buzzwords et les bulles spéculatives pour mieux appréhender ce qui se joue en toile de fond : la re-décentralisation d’Internet !
Cette présentation est la carte que j’aurais aimé avoir au début de mon exploration de l’énorme écosystème qu’est l’Internet décentralisé (ou Web3 comme on dit improprement parfois).
Et si le cerveau humain utilisait un algorithme pour la reconnaissance d'images ?
Expliquons et comparons les algorithmes de reconnaissance de formes des ordinateurs et le fonctionnement neurologique du cerveau humain.
Par Sarah Buisson, Craftsman full-stack Java chez Xebia
Toutes les informations et vidéos sur xebicon.fr
Aujourd'hui accessibles partout, les objets connectés suscitent de plus en plus d’intérêt. Malgré cela, l’implémentation d’un projet IoT peut s’avérer compliquée au vu la diversité des dispositifs, protocoles et frameworks. Le nombre d'alternatives qui se présentent à nous est énorme.
En partant de l'embarqué, avec les protocoles applicatifs, jusqu'au déploiement d'une solution sur le cloud, en passant par la délégation des traitements en local via l'IoT Edge, nous rentrerons dans le détail de l'implémentation d'une solution IoT de bout en bout, le tout en comparant deux solutions : AWS et Azure.
Par Diana Ortega, Développeuse Back-End, Yassir Sennoun et Sameh Ben Fredj Data Scientist et IoT, consultants chez Xebia
Toutes les informations et vidéos sur xebicon.fr
Terminé l'adminstration de cluster Hadoop !
Depuis l'arrivée de la version 2.3 de Spark, il est maintenant possible de lancer des jobs sur un cluster Manager Kubernetes. Ce slot se propose de vous faire découvrir Spark sur un cluster manager Kubernetes mais pas seulement.
Il se propose également de montrer les nouvelles façons de faire du Spark sans être dépendant d'une distribution Hadoop tout en interagissant de manière sécurisée avec un stockage de masse.
Toutes ces solutions seront présentées à l'aide d'un provider de Cloud. Vous découvrirez lequel durant la présentation.
Par Bruno Bouchahoua, Architect Data chez Xebia
Toutes les informations et vidéos sur xebicon.fr
Vous avez beau avoir modernisé vos applications, les avoir rendu stateless, 12factor-compliant, etc., si vous n'avez pas l'infrastructure pour les déployer proprement et les gérer, votre bénéfice final sera fortement amoindri.
Cette conférence a pour but de vous faire ressortir avec une définition et une vision claires des principaux concepts qui caractérisent une infrastructure moderne. Nous y parlerons Configuration Management, infrastructure immuable, infra-as-Code, orchestration, self-healing, systèmes distribués, applications Cloud Native, Serverless ... et ce n'est qu'un avant goût !
Par Alexis "Horgix" Chotard, SRE & Automation addict chez Xebia
Toutes les informations et vidéo sur xebicon.fr
Qu’est-ce qu’une application web à l’état de l’art en 2018 ?
En évolution constante, les standards changent d’année en année et il faut régulièrement se mettre à jour sous peine d’être à la traîne. Si vous n’avez pas encore surfé sur la vague Progressive Web App, Server-Side Rendering ou encore Code Splitting, ce talk est pour vous. Il vous fera découvrir les pratiques et les outils d'une stack web moderne.
Par Anthony Giniers, Software Engineer chez Xebia
Toutes les informations et vidéos sur xebicon.fr
Depuis quelques années, les notebook ont gagné en popularité. Apache Zeppelin, avec son architecture modulaire, offre une solution de notebook et de dashboarding, le tout sans mettre de côté la sécurité. Cette présentation vous fera découvrir cet outil merveilleux dont vous ne pourrez bientôt plus vous passer.
Par Romain Sagean, Data Engineer chez Xebia
Toutes les informations sur xebicon.fr
Le RGPD est entré en vigueur le 25 mai 2018 avec les implications que nous connaissons tous (droit à l'oubli, consentement explicite, sécurité par défaut, etc.)
En parallèle, nous développons de plus en plus d'architectures autour de l'Event Sourcing, qui par définition sauvegarde les données de manière immutable.
Mais alors, comment faire pour concilier une architecture autour de l'Event Sourcing, immutable, avec les restrictions imposées par le RGPD ?
C'est ce que nous allons explorer durant cette session !
Par Charles Dufour, Développeur Back-End chez Xebia
Toutes les informations sur xebicon.fr
Le créateur de NodeJS, Ryan Dahl, a décidé de créer un nouveau runtime pour Javascript : Deno. Son but ? Eliminer les erreurs et maladresses de son grand frère. Découvrez ce qui se cache derrière ainsi que la vision de son créateur.
Par Maxime Pichou, développeur Back/Cloud chez Xebia
Toutes les informations sur xebicon.fr
Lorsque la quantité de données est très grande et que l'architecture de votre réseau de neurones est complexe, la question du temps d'entraînement et de la capacité de votre machine deviennent primordiales. Un entraînement de modèle peut vite prendre plusieurs heures voire jours, ou même ne pas tenir en mémoire. Il est alors temps de parler de Deep Learning distribué !
Au cours de cette présentation, nous allons voir différentes solutions et bonnes pratiques pour accélérer l'entraînement de modèles de Deep Learning en les distribuant sur un cluster ou sur des plateformes multi-GPUs.
Par Yoann Benoit, Data Scientist et Technical Officer chez Xebia
Toutes les informations sur xebicon.fr
Par curiosité, puis par passion, j'ai développé un jeu vidéo à l'aide des outils et frameworks habituellement utilisés dans des applications web.
Pas commun dites-vous ? Revenons ensemble sur la manière dont je m'y suis pris, les choix techniques et ce qui les a faits évoluer, les challenges et les compétences développées au cours de cette aventure.
Par Alexandre Dergham, Développeurs full-stack chez Xebia
Toutes les informations sur xebicon.fr
Depuis quelques années, vous entendez parler de transformation d’entreprises permettant la diminution du Time-To-Market, le rapprochement des développeurs et opérationnels et la synchronisation des backlogs ou encore favorisant le plaisir au travail. Pourtant nous oublions l’essentiel, réaliser le bon produit répondant aux réelles problématiques des utilisateurs finaux.
Ce fondement est trop souvent oublié par toutes ces entreprises voulant monter vite sur l’agilité à l’échelle. Vous êtes vous déjà rendu compte à quel point cette clé de succès est oubliée ? Savez-vous pourquoi il faut mettre un point d’honneur à intégrer les utilisateurs finaux dans les projets ?
Par Nelson Dufossé, Agile Delivery Manager chez Xebia
Toutes les informations sur xebicon.fr
Une Data Visualisation permet en un seul coup d’œil de véhiculer des résultats (d'analyse). Au travers de contre-exemples bien choisis, nous allons voir les nombreux pièges qui nuisent à la lisibilité et l'interprétation des données et comment choisir la bonne représentation pour faire passer vos idées.
Par Romain Sagean, Data Engineer chez Xebia
Toutes les informations sur xebicon.fr
"Quand je serai grand je travaillerai chez SEGA". Julien Smadja, 10 ans.
À travers les différents média de la Pop Culture, nous allons étudier l'image des développeurs, entre mythe, réalité, fantasme et exagération.
Quelle est l'image du développeur en 2018 ? Notre métier fait-il réver et donne-t-il envie aux jeunes et moins jeunes ?
Par Julien Smadja, Directeur Conseil chez Xebia
Toutes les informations sur xebicon.fr
Vous avez l’impression que vous devez jeter la moitié de votre code tous les 6 mois ? Plus le temps passe, moins votre application mobile est maintenable ?
Injection de dépendances, routage ou gestion des environnements, venez découvrir nos conseils pour vous aider à réaliser des applications mobiles évolutives conçues pour durer dans le temps.
Par Jean-Christophe Pastant, Mobile Engineer chez Xebia
Toutes les informations sur xebicon.fr
Nous entrons progressivement dans l’ère du temps réel et toutes les technologies nécessaires sont désormais à portée de mains, mais comment s’y prendre ? Quelles technologies choisir ? Nous allons vous montrer aujourd’hui comment créer facilement une application temps-réel qui scale ! Notre Stack ? Kubernetes, Google Container Engine, React, Redux et RethinkDB.
Par Jérémy P. et Damien Baron, consultants chez Xebia
Toutes les informations sur xebicon.fr
Que se passe-t-il dans nos têtes en permanence lorsque nous sommes à plusieurs et pourquoi ces mécanismes psychologiques s'activent ? Pourquoi passe-t-on notre temps, malgré nous, à jouer à des jeux psychologiques ? Que dit-on après avoir dit bonjour ? Comment nait et évolue un groupe dans le temps ? Comment repérer quand il dysfonctionne ? Les individus et leurs interactions plus que les processus et les outils ? Pour toute personne qui ne vit pas seule dans une grotte, ce sujet se veut utile et pourquoi pas intéressant
Par Anne-Sophie Girault, Coach Agile chez Xebia
Toutes les informations sur xebicon.fr
Spark NLP (Natural Language Processing) permet depuis son lancement en open source, il y a un an et quelques mois, d'avoir une solution de traitement du langage directement développé pour Apache Spark et Spark ML (Machine Learning). Apache Spark avec son module ML permet de lancer des tâches de data science, avec du machine learning et du deep learning, tout en profitant de l'aspect distribué de son architecture. Avec Spark NLP, on peut le faire maintenant avec des tâches de NLP spécialisé.
Depuis sa sortie, que peux-t-on faire avec Spark NLP ? Quels cas sont à tester avec Spark NLP, et ceux à éviter ? Est-ce facile pour les équipes d'entraîner un modèle et de l'utiliser dans son pipeline ?
Nous verrons ces questions à travers un exemple rapide d'entraînement de détection d'entités nommées (NER) avec Spark NLP.
Par Aurore De Amaral, Data Engineer chez Xebia
Toutes les informations sur xebicon.fr
La sécurité, cette branche de notre domaine dont le devoir est de protéger le système d'information, revient très souvent comme un point de douleur dans toutes les étapes du cycle de vie d'un projet. Pourtant, malgré une nécessité réelle, un bon nombre des mesures prises sont incomplètes, voire inutiles.
Des politiques de mot de passe aberrantes au proxy ne limitant en pratique que peu de choses, ce slot tentera de démystifier les principes clés de la sécurité et d'expliquer pourquoi un certain nombre des mesures courantes dans les entreprises n'ont en réalité qu'un effet placebo.
Par Jonathan Raffre, Technical Architect chez Xebia
Toutes les informations sur xebicon.fr
En plus d'un siècle d'existence, la gestion de la circulation et l'organisation du métro parisien ont dû évoluer pour augmenter en permanence le débit tout en tenant compte des contraintes de sécurité. Vous commencez à comprendre où cette présentation veut en venir...
Le temps de cette session, prenons un peu de recul sur notre cœur de métier : la création logicielle. Entre organisation du travail, amélioration d'un produit sur le long terme ou équilibre permanent qu'il faut trouver entre exploitabilité et sécurité, vous serez surpris de retrouver de nombreux parallèles et de voir ce qu'ils peuvent nous apporter.
Par Edouard Siha, Développeur Back-End chez Xebia
Toutes les informations sur xebicon.fr
Nous passerons en revue plusieurs framework à l'échelle dans une optique sans à priori, puis nous nous concentrerons sur les nombreuses ressemblances et problématiques communes pour ébaucher un minimum minimorum de l'agilité à l'échelle.
Cependant, comprendre n'est pas implémenter ! Nous aborderons donc ensuite comment choisir chaussure à son pied en fonction de la culture, de l’organisation et de l'architecture technique en place dans votre entreprise ou dans votre structure.
Comme conclusion, nous verrons comment aller progressivement vers la cible retenue avec certaines erreurs à éviter!
Par Isabelle Roques et Stéphane Guedon, Coachs Agile chez Purple Wise
Toutes les informations sur xebicon.fr
XebiCon'18 - La guerre des Frameworks n'aura pas lieu
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain privée
1. @Xebiconfr #Xebicon18 @vsegouin
Build the future
Hyperledger Fabric
Création d’un réseau de blockchain privée
Vincent Segouin, Développeur Full Stack
4. @Xebiconfr #Xebicon18 @vsegouin
Base de données
Système permettant d’enregistrer des
informations de façon distribuée.
● Les données sont détenues par l’ensemble des
acteurs du réseau.
● Si un acteur fait défaut, les informations restent
accessibles.
● Une donnée inscrite ne peut pas être supprimée.
● Les données sont entièrement accessibles, la
blockchain n’assure en aucun cas la confidentialité.
● Tous les acteurs du réseau travaillent ensemble
pour garantir l’exactitude des données.
Blockchain
Système permettant d’enregistrer des
informations de façon centralisée.
● Un acteur détient l’ensemble des droits sur les
données.
● Si le propriétaire fait défaut, la base devient
inaccessible.
● Une donnée peut être modifiée à tout moment.
● Le propriétaire distribue l’information et gère la
confidentialité des données.
● Le propriétaire de la donnée est l’unique
responsable de l’exactitude de ce qui est enregistré.
5. @Xebiconfr #Xebicon18 @vsegouin
A effectue une
transaction vers B
Plusieurs transactions
sont regroupées dans un
bloc
Le bloc est validé par les
noeuds du réseau au
moyen de techniques
cryptographiques
Le bloc est ajouté à la
blockchain
B reçoit la transaction
validée de A
Comment fonctionne une blockchain ?
6. @Xebiconfr #Xebicon18 @vsegouin
● Hash = Hash du bloc n-1 + contenu du bloc
● Un bloc de bitcoin contient 500 transactions
LEDGER
Qu’est ce qu’un bloc ?
7. @Xebiconfr #Xebicon18 @vsegouin
“The project will develop an enterprise grade, open source distributed ledger
framework and free developers to focus on building robust, industry-specific
applications, platforms and hardware systems to support business
transactions.”
The Linux Foundation - December 17, 2015
Dates :
16/09/16 : V 0.6 - First Release
11/07/17 : V 1.0 - Stable
10/10/18 : V 1.3 - Actuel
Les fondateurs :
Qu’est ce qu’HyperLedger Fabric ?
8. @Xebiconfr #Xebicon18 @vsegouin
Blockchain publique
Une blockchain privée requiert une
vérification des acteurs participant au
réseau, les différents tiers se connaissent
● Seuls les acteurs autorisés peuvent lire les
données.
● Les personnes rejoignant le réseau sont
authentifiées par une autorité de
certification.
● Seuls les noeuds disposant du chaincode
sont habilités à dire si une transaction est
valide ou non.
Blockchain privée
Une blockchain publique permet à
n’importe qui de rejoindre le réseau et d’y
participer
● Tout le monde peut y lire les données.
● Tout le monde peut envoyer des
transactions et prétendre leur validation.
● Tout le monde peut participer librement au
processus de consensus pour déterminer
quels blocs doivent être ajoutés à la chaîne
et quel est l’état courant du système.
9. @Xebiconfr #Xebicon18 @vsegouin
Qu’est ce qu’un chaincode ?
● Réalisé en Go, Java ou nodeJS.
● Est instancié sur un peer.
● Initialise et gère l’état du ledger.
● Permet de gérer un seul ledger.
● Gère un processus business.
● Simule et valide des transactions.
● L’ensemble des noeuds validant une transaction forme un consensus.
const shim = require('fabric-shim');
const util = require('util');
let Chaincode = class {
async Init(stub) {
return shim.success();
}
async createCar(stub, args) {
var car = {
docType: 'car',
make: args[1],
model: args[2],
};
await stub.putState(
args[0],
Buffer.from(JSON.stringify(car)));
};
shim.start(new Chaincode());
Le chaincode est un programme instancié sur un noeud,
permettant d’effectuer des transactions sur la
blockchain en validant les différents états de cette
dernière.
10. @Xebiconfr #Xebicon18 @vsegouin
Qu’est ce qu’un consensus ?
Le consensus est un processus où les noeuds du réseau fournissent une garantie
de l’ordre ainsi que de la validité des blocs qui ont besoin d’être enregistrés dans
le ledger.
Le consensus doit assurer les principes suivants :
● Confirmer la validité des transactions dans un bloc..
● Convient de l'ordre et de l'exactitude et donc des résultats d'exécution, ce qui implique un accord
sur l'état global.
● Il doit dépendre du chaincode pour vérifier l'exactitude d'un ensemble de transactions
commandées dans un bloc.
11. @Xebiconfr #Xebicon18 @vsegouin
Qu’est ce qu’un consensus ?
Le consensus dans Hyperledger Fabric est séparé en 3 étapes :
l’approbation, la commande, la validation.
● L’approbation est gérée par les endorseers peer, qui simule la transaction et vérifie si l’état final de la
blockchain est cohérente..
● La phase de commande récupère les transactions approuvées, elle valide l’ordre d’arrivée des
transactions pour les enregistrer dans le ledger.
● La validation prend les blocs et confirme la validité des résultats.
Cette méthode s'appelle le Permissioned voting based consensus
13. @Xebiconfr #Xebicon18 @vsegouin
Fonctionnement d’Hyperledger Fabric
Simule la transaction
Propose une transaction
Renvoie l’approbation signée
Renvoie la liste des approbations
Vérifie les polices
Package les
approbations
La transaction est envoyée aux noeuds
Peer
Un noeud contenant la blockchain et permet la
redondance du système.
Endorser Peer
Un peer sur lequel un chaincode est instancié et
permet de simuler les transactions.
Orderer
Un noeud qui agrège les résultats des simulations
et transmet les changements d’état aux différents
noeuds
Peer
Peer
Peer
Peer
14. @Xebiconfr #Xebicon18 @vsegouin
Configuration & Topologie
Organisation 1
EP1 P2
Organisation 2
P3
EP1 EP2
P4
Organisation 3
P2
EP1
P3
Application 2
Application 1 C
H
A
N
N
E
L
Application 3
Ordering
Service
Read / Write
Read
Read / Write
16. @Xebiconfr #Xebicon18 @vsegouin
● L’organisation 1 (Org1) enregistre un document afin qu’un utilisateur de l’organisation 2
(Org2) puisse le lire.
Enregistrer Lire
Besoin :
Problématique :
● La blockchain n’est pas faite pour stocker des documents.
Organisation 1 Organisation 2
Définition du use case
17. @Xebiconfr #Xebicon18 @vsegouin
● L’utilisateur de Org2 remplit le document, le signe et le met à jour dans la blockchain.
Remplit et met à jour le
document + signature
Besoin :
Problématique :
● La blockchain ne détruit pas de document et ne se met pas à jour stricto sensus.
Organisation 2
Définition du use case
18. @Xebiconfr #Xebicon18 @vsegouin
Lecture seule
Besoin :
Problématique :
● Gestions des permissions et des MSP.
Organisation 3
Définition du use case
● Un utilisateur de l’organisation 3 (Org3) a l’autorisation de lire le document mais n’a pas le
droit de le modifier.
19. @Xebiconfr #Xebicon18 @vsegouin
● Chaque action doit être enregistrée dans la blockchain.
Demande une action
(Lecture, écriture etc)
Besoin :
Problématique :
● Une lecture du contenu de la blockchain n’est pas enregistrée.
Utilisateur
Action enregistrée
Définition du use case
20. @Xebiconfr #Xebicon18 @vsegouin
● Si un utilisateur le souhaite, on doit être en mesure de rendre un document inaccessible.
Demande de
suppression
Besoin :
Problématique :
● Le concept de suppression n’existe pas dans la blockchain : tout ce qui est enregistré l’est
définitivement.
Utilisateur
Suppression du
document
Définition du use case
31. @Xebiconfr #Xebicon18 @vsegouin
RGPD et droit à l’oubli
Le droit à l’oubli
Problème
● Ce qui est inscrit dans une blockchain l’est définitivement.
● Il n’y a pas de notion de suppression.
● Si une donnée venait à être supprimée, toute la chaîne est invalidée.
● On peut demander la suppression d’une clé, mais la donnée reste présente dans les blocs.
L’article 17 de la RGPD dispose que toute personne justifiant de son identité d’exiger du responsable d'un
traitement que soient, selon les cas, rectifiées, complétées, mises à jour, verrouillées ou effacées les
données à caractère personnel la concernant
32. @Xebiconfr #Xebicon18 @vsegouin
RGPD et droit à l’oubli
Solutions
Utiliser un système de chiffrement des données et de n’enregistrer dans le bloc uniquement les
informations chiffrées.
● Chaque donnée sensible est chiffrée par une clé unique.
● il suffit de détruire la clé de chiffrement, les informations ainsi stockées ne pourront plus
être déchiffrées.
Si une information n’est pas suffisamment chiffrée, il reste possible à un attaquant la possibilité de
faire une brute force sur la donnée.
33. @Xebiconfr #Xebicon18 @vsegouin
RGPD et droit à l’oubli
Solutions
Utiliser la solution de collection privée fourni par Hyperledger Fabric, qui est constituée de
deux parties :
● L’information privée, envoyée en peer-2-peer aux organisations autorisées. La donnée
est stockée sur les noeuds dans une base de données privée. L’ordering service n’est pas
utilisé pour enregistrer ces informations.
● Les hashs de ces données, qui passent par le processus de validation standard et qui est
enregistré dans le ledger global. Ces hashs peuvent être utilisés comme preuve de
transaction et être utilisé lors d’un audit.
36. @Xebiconfr #Xebicon18 @vsegouin
Concernant le use case
● Use case 1 : Enregistrer un document.
- Utilisation d’une base de donnée à part (S3) et la blockchain stock les métadonnées.
● Use case 2 : Lire le document, le modifier et le mettre à jour.
- Utilisation du système de permission fourni par Hyperledger Fabric
- Utilisation de S3 pour le document
● Use case 3 : Autorisation d’accès en lecture seule.
- Utilisation du système de permission fourni par Hyperledger Fabric
● Use case 4 : Chaque action doit être enregistrée dans la blockchain.
- Impossible d’assurer cette règle, un acteur autorisé peut lire directement le ledger.
● Use case 5 : Rendre un document inaccessible.
- Il suffit de détruire le document original ou bien chiffrer les informations dans la blockchain et
détruire les clés utilisé pour le chiffrement.
37. @Xebiconfr #Xebicon18 @vsegouin
Avantages et inconvénients
Avantages Inconvénients
Réseau décentralisé Complexe et Long à mettre en place
Souplesse dans la configuration Temps de traitement
Soutenu par beaucoup de sociétés Coûts d’infrastructures
Possibilité de le lier à kafka Des problématiques de mises à jour.
Pas de Proof Of Work coûteux en
traitement
Peu de use case.
Chaincode fait en go, java ou nodeJs, ce
qui rend sa réalisation facile.