blockchain technology applications #apiconf2018 · applications node 1 orderer node 2 sql db node 3...
TRANSCRIPT
![Page 1: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/1.jpg)
BLOCKCHAIN Technology&Applications
#apiconf2018
edoardoconte
![Page 2: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/2.jpg)
BLOCKCHAIN Technology&Applications
#apiconf2018
edoardoconte
BLOCKCHAIN Technology&Applications
![Page 3: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/3.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
The Blockchain
![Page 4: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/4.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Distributed anddecentralized
Normally, also Decentralized
Distributed System
![Page 5: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/5.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Public Blockchains
Possibility to design and deploy Smart Contracts
Decentralizedand distributed
systems
Everyone can join and maintain the
blockchain
![Page 6: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/6.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Consensus Algorithm
Determine the current builder
Necessary to maintain a unique sequence of blocks!
Proof of Work Proof of Stake
![Page 7: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/7.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Proof of Work Proof of Stake
Consensus Algorithm
Non-scalable algorithm
Complexity really low
Possibility to scale
Very complex to implement
Costless algorithmGreat computational cost
![Page 8: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/8.jpg)
BlockchainBridgeClient
Distributednetwork
Read access link for the service
Write access link for the service
accessing the service
accessing the service
BLOCKCHAIN Technology&Applicationsedoardoconte
Secure datathrough Blockchains
Server with important data
![Page 9: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/9.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Permissioned Blockchains
Different authorized entities work together to
maintain a common service
Standardizedencryption and
replication protocols
Not completelydecentralized
![Page 10: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/10.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Hyperledger Fabric
Chaincode(Smart Contracts)
b
Customizable consensus algorithm
c
Full replicationof data
a
•Crash Fault Tolerant
•Byzantine Fault Tolerant
d State database in CouchDB or LevelDB
![Page 11: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/11.jpg)
Structure
BLOCKCHAIN Technology&Applicationsedoardoconte
Orderer
Peer
Peer
Org1 Org2
CA1
CA2
Peer
Peer
EndorsingPeer
EndorsingPeer
• Ordering service
• Consensus algorithm
• Different organizations
• Scalability
• Certificate authorities
• Endorsing peers
• Execution of chaincode
![Page 12: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/12.jpg)
Transaction Flow
EndorsingPeer
Execute
Client
EndorsingPeer
BLOCKCHAIN Technology&Applicationsedoardoconte
1. Client sends a transaction request
2. Execution of Chaincode
3. Sending the results back
![Page 13: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/13.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Order
Client
Orderer
Transaction Flow
EndorsingPeer
EndorsingPeer
2. Ordering of transactions
1. Results sentto the orderer
![Page 14: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/14.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Validate
OrdererEndorsing
Peer
EndorsingPeer
Peer
Peer
Peer
Transaction Flow
1. Validation of each block
2. If positive, it goes in the ledger
Client
![Page 15: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/15.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
OrdererEndorsing
Peer
EndorsingPeer
Peer
Peer
Peer
Client
Transaction Flow
Validate
1. Validation of each block
2. If positive, it goes in the ledger
![Page 16: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/16.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Hyperledger Composer
Framework over FabricLogic2 Access Control3Modeling language1
• Participant
• Asset
• Transaction
• Event
• Definition of the
transaction logic
• Javascript code
• Permissions
on resources
• Complex conditioned rules
![Page 17: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/17.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Model.cto
/*** Definition of participants*/participant Person identified by username {o String usernameo String fullNameo String email optionalo String number optional
}
participant Manufacturer identified by makerId {o String makerIdo String name
}
![Page 18: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/18.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Model.cto
/*** Definition of assets*/asset Vehicle identified by vin {o String vino VehicleDetails vehicleDetails--> Person owner
}
![Page 19: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/19.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Model.cto
/*** Definition of transactions*/transaction ChangeOwner {--> Vehicle vehicle--> Person newOwner
}
transaction SellVehicle {o VehicleDetails vehicleDetailso String vin--> Person owner
}
![Page 20: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/20.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Logic.js
/*** Sell vehicle transaction* @param {org.acme.vehicle.SellVehicle} arg* @transaction*/function onSellVehicle (arg) {
}
![Page 21: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/21.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Logic.js
const namespace = 'org.acme.vehicle';
// Extracting argument values
let vehicleDetails = arg.vehicleDetails;const vin = arg.vin;const owner = arg.owner;const manufacturer = getCurrentParticipant();vehicleDetails.manufacturer = manufacturer;
![Page 22: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/22.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Logic.js
const factory = getFactory();
// Creating the vehiclelet vehicle =
factory.newResource(namespace, 'Vehicle', vin);
vehicle.vehicleDetails = vehicleDetails;vehicle.owner = owner;
![Page 23: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/23.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Logic.js
Update
// Updating the registry
return getAssetRegistry(namespace + '.Vehicle’).then ( assetRegistry => {
return assetRegistry.add(vehicle);})
![Page 24: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/24.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Logic.js
Update
// Updating the registry
return getAssetRegistry(namespace + '.Vehicle’).then ( assetRegistry => {
return assetRegistry.add(vehicle);})
![Page 25: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/25.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Permissions.acl
rule ManufReadsVehicle {description: "Manuf may read a car only if he made it"participant(manuf): "org.acme.vehicle.Manufacturer"operation: READresource(vehicle): "org.acme.vehicle.Vehicle"condition: ( manuf.getIdentifier() ==
vehicle.vehicleDetails.manufacturer.getIdentifier() )
action: ALLOW}
![Page 26: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/26.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Network Set Up
ORG1 ORG2 ORDERER
2 Peers 1 Peer Solo
CA CA
CouchDB CouchDB
![Page 27: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/27.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Node 1
Orderer
Node 2
SQL DB
Node 4Node 3
Org 1 Endorsing Peer
CouchDB
Org1 CA
Org 1 Peer
CouchDB
NodeJs App
SQL DB
Org 2 Endorsing Peer
CouchDB
Org 2 CA
NodeJs App
Client
• Each element is a Docker container
• Docker Swarm to communicate
• API exposed by NodeJs
• Composer SDK in NodeJs
![Page 28: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/28.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Opening connection
const BusinessNetworkConnection =require('composer-client').BusinessNetworkConnection;
module.exports = class Network {
constructor(cardName) {this.cardName = cardName;this.connection = new BusinessNetworkConnection();this.definition;this.namespace = 'org.acme.vehicle';
}
async connect() {return this.definition =
await this.connection.connect(this.cardName);}
Blockchainconnection
![Page 29: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/29.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Submit Transaction
Blockchain
const factory = this.definition.getFactory();
// Submit transactionconst tx =
factory.newTransaction(this.namespace, 'SellVehicle’);
tx.vehicleDetails = vehicleDetalils;tx.vin = vin;tx.owner =
factory.newRelationship(this.namespace, 'Person', ownerId);
return await this.connection.submitTransaction(tx);
![Page 30: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/30.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Submit Transaction
Blockchain
const factory = this.definition.getFactory();
// Submit transactionconst tx =
factory.newTransaction(this.namespace, 'SellVehicle’);
tx.vehicleDetails = vehicleDetalils;tx.vin = vin;tx.owner =
factory.newRelationship(this.namespace, 'Person', ownerId);
return await this.connection.submitTransaction(tx);
![Page 31: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/31.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Repositories
https://bitbucket.org/hugrave/composer-vehicle-network/
https://bitbucket.org/hugrave/blockchain_server/
![Page 32: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/32.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Performance evaluation
Benchmark done with 1000 assets
GET —> ~ 10 seconds
PUT, DELETE —> ~ 100 SECONDS
Improvement through Cloud deployment
Not real-time applications
![Page 33: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/33.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
PRIVACY
Rich conditioned languagePermissions in Hyperledger Composer
BUT… The ledger remains in plain-text!
/var/hyperledger/production/ledgersData/chains/chains/{channel_name}/
![Page 34: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/34.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
DO NOT DESPAIR!
![Page 35: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/35.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Peer 1 Peer 2 Peer 3
Fabric Channels
Channel 1 Channel 2 Channel 3
![Page 36: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/36.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Peer 1 Peer 2 Peer 3
Fabric Channels
Channel 1 Channel 2 Channel 3
Channel 3
Peer 1 joined channel 3Peer3 joined channel 2
Channel 2
![Page 37: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/37.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Off-chain encryptiondecryption
![Page 38: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/38.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Off-chain encryptiondecryption
Client1
DB
Data inserted in the blockchain is encrypted
Decryption is possible only with the keys
NodeJs Org1
![Page 39: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/39.jpg)
Off-chain encryptiondecryption
DB
BLOCKCHAIN Technology&Applicationsedoardoconte
Client1
Data inserted in the blockchain is encrypted
Decryption is possible only with the keys
NodeJs Org1
![Page 40: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/40.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Off-chain encryptiondecryption
Client1 Client2
DB
DB
Authorization is a secure keys exchange
NodeJs Org1 NodeJs Org2
![Page 41: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/41.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
Off-chain encryptiondecryption
Client1 Client2
DB
DB
NodeJs Org1 NodeJs Org2
![Page 42: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/42.jpg)
BLOCKCHAIN Technology&Applicationsedoardoconte
CONCLUSIONS
They can rely on a robust architecture
b
Each company checks directly wether the structureof the network is respected
c
Companies may share their data securely
a
d
Performances may be improved through Cloud deployment or container optimizations
e Privacy must be taken into account in order to separate data
![Page 43: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/43.jpg)
Endless PossibilitiesThank you for the attention
Edoardo Conte
BLOCKCHAIN Technology&Applicationsedoardoconte
![Page 44: BLOCKCHAIN Technology Applications #apiconf2018 · Applications Node 1 Orderer Node 2 SQL DB Node 3 Node 4 Org 1 Endorsing Peer CouchDB Org1 CA Org 1 Peer CouchDB NodeJs App SQL DB](https://reader034.vdocuments.us/reader034/viewer/2022042913/5f4b23931b6a721c7e548121/html5/thumbnails/44.jpg)