trusted workflows (français)

49
@StratumnHQ

Upload: stratumn

Post on 24-Jan-2017

375 views

Category:

Technology


0 download

TRANSCRIPT

@StratumnHQ

Notre monde est gouverné par des processus

Qui sont gérés dans des bases de données

Qui existent dans des silos

Le paradigme actuel, omniprésence des workflows

Systèmes fermés en silos

Asymétrie de l’information

Complexité de synchronisation

Paradigme défensif

Le nouveau paradigme, la confiance distribuée

Avec une Blockchain

L’immuabilité de la donnée

La transparence entre acteurs

L’auditabilité indépendante des processus métiers

Une blockchain fournit une preuve objective de l’état d’une données à un moment précis .

*timestamping*

Qu’est-ce qu’une blockchain ?

Quelques précisions nomenclaturales

Une blockchain

Une base de données de transactions partagée par tous les noeuds participants

Une copie entière d’une blockchain contient l’historique de toutes ses transactions

La blockchain

La technologie sous-jacente au réseau décentralisé, Bitcoin

Une structure de données immuable permettant un livre de compte public

@BlockchainFrance

Block 121

Transaction 336Transaction 337Transaction 338Transaction 339Transaction 340

Block 122

Transaction 341Transaction 342Transaction 343

Block 123

Transaction 344Transaction 345Transaction 346Transaction 347

Block 124

Transaction 348Transaction 349

@BlockchainFrance

Les caractéristiques d’une blockchain

Désintermédiée

La confiance est construite par plusieurs noeuds

La validation par le consensus remplace une autorité centrale

Sécurisée

La cryptographie garantie la sécurité de transactions

Son architecture distribuée et répliquée garantie l’immuabilité

Autonomie

La motivation économique encourage les participants à rejoindre le réseau

Plus le réseau est grand, plus il est résilient et sécurisé

@BlockchainFrance

Comment ça marche

Un compte A initie une

transaction vers B

La transactions est validée par

noeuds de validation (mineurs)

La transaction est ajoutée au prochain block

Le block est ajouté à la Blockchain

Le compte B reçoit la

transaction

@BlockchainFrance

L’anatomie d’une blockchain

Structure de données

Blocks liés cryptographiquement

Vérifiabilité du lien entre les blocks

Possibilité de fork

Blockchain

Livre de compte

Empreintes (hash)

Smart contracts

Code (logique métier)

Données

Transaction

Confirmations

Signatures numériques

Double dépense

Protection

Immuabilité

Consensus

Blockchain

L’anatomie d’une blockchain

Transactions

Consensus

Protection par les noeuds

Public ou privé

Décentralisé ou centralisé

Proof-of-Work ou Proof-of-Stake

Modèles de consensus

Qui maintient la base ?

Quel est leur motivation ?

Qui produit la donnée ?

Qui peut consulter la base ?

Où stocke t’on la donnée ?

Quelques questions à se poser

?

@YacineGhalim

Il n’y a pas d’approche unique.Quelles sont les fonctionnalités qui correspondent à mon cas d’usage ?

@YacineGhalim

Typographie d’une blockchain permissionnée

Noeuds de validation

Noeuds de relais

Noeuds d’audit

De décentralisé à centralisé

Permissioned

Accès réservé aux participants

Accès réservé à l’écriture et à la validation

Permet la scalabilité et la personnalisation

Publique

Transactions visibles de manière publique

N’importe qui peut valider les transactions

Crée la confiance

Immobilité de la données et des transactions

Auditabilité objective de la données par des moyens publiques

Inviolabilité de la logique

Blockchains publiques (A.K.A Bitcoin)

Les blockchains publiques sont des réseaux de confiance.

Et si on intégrait les fonctionnalités de la blockchain dans un workflow ?

Proof of Existence

La possibilité d’apporter des preuves objectives de l’existence d’une données dans le temps.

Proof of Process

La possibilité de fournir une preuve cryptographique que chaque étape d’un process ou workflow à été exécuté.

Proof of Ownership

Les participants d’un processus peuvent apposer leur signature numérique pour certifier l’exécution d’un processus ou le transfert d’actifs physiques et numériques.

Trusted Workflow

#388 #389 #390 #391

init()

sign()

error()

send() end()Proof of Process

Proof of Existence

Proof of Ownership

Format JSON ouvert qui décrit un Trusted Workflow

Un Trusted Workflow permet d’établir la preuve objective et immuable de l’exécution d’un process

Les différentes étapes du process son liées entres elles cryptographiquement (chaine de hashs) et horodatées dans une blockchain

Documentation sur chainscript.io

Trust, Work & Flows

Trust : le travail du réseau de consensus (ex : Bitcoin) qui horodate les étapes du workflow - Proof-of-Existence

Work : la logique métier qui permet de maintenir la structure d’un process et la transition entre ses différentes étapes - Agent

Flows : la séquence des étapes horodatées du process qui crée une chaine d’audit - Chain Map

Links & States

L’état de chaque étape d’un process est représenté par un state

"state": { fileName: "example.pdf", fileHash: “4ee15684e24350ff88a8d9ef7…", uploadedBy: "John Smith" }

Links & States

Le state est accompagné de données meta qui apportent des éléments de contexte

"meta": { "title" : "File Info for Notarizing", "tags" : ["notarize", "filename"], "priority": "0" "updatedAt": 1455532426303 }

Links & States

Le state et son meta constituent un link

Un link est immuable et une fois créé, ne peut être modifié

"link": { "state" : {}, "meta" : {}}

Segments & Chainmaps

Un segment est formé d’un link et de son meta

Le root segment permet d’initier le Trusted Workflow

Un Trusted Workflow est représenté par une ou des chaines de Segments

Chaque étape du Workflow est représenté par un segment et ces Segments, tous ensembles forment un Chain Map, ou Map

Transition & Agents

Les transitions sont représentés par la logique métier responsable pour l’exécution de chaque étape du Workflow

Une transition vérifie si le state d’une map est différente que son prédécesseur et ajoute un nouveau Segment au Chain Map

La logique qui gouverne les transitions son packages dans des conteneurs appelés agent

Proof-of-Existence

Les Segments sont horodatés via une blockchain, par exemple, dans la champ OP_RETURN de la blockchain Bitcoin

Chainscript décrit l’utilisation de Merkle Trees afin de pouvoir horodateur un grand nombre de données dans une seule transaction

Le Merkle Proof est stocké dans meta.evidence du Segment

Merkel Trees & Merkle Proof

La plateforme stratumn vous permet d’utiliser les fonctionnalisés de la Blockchain dans vos applications et vos processus.

Proof of Existence

Stratumn Fossilizer

Notre engin de notarisation à haute performance produit des preuves objectives qui certifient l’existence des données dans le temps.

Proof of Process

Notre standard ouvert Chainscript permet d’établir une piste d’audit cryptographiquement sécurisée des processus métiers.

Proof of Ownership

Les wallets hardware utilisent la Public Key Infrastructure pour sécuriser les points d’interaction homme-machine.

Ces clés ainsi que les infrastructures de signature enterprise sont utilisées pour la signature numérique et l’autorisation de transactions.

Notre stackCLIENT

Applications

Toolkits

HTTP API

Chain Maps

Agents

Fossilizer

Bitcoin

Ethereum

Etc.

SERVICE

BLOCKCHAIN

Ressources

Documentation API Stratumn : developer.stratumn.com

Documentation Chainscript : chainscript.io

Github : github.com/stratumn

Slack : slack.stratumn.com

Inscrivez vous à la beta privée

stratumn.com

[email protected] @StratumnHQ