Integrating FIWARE with Blockchain/DLTs - 1 July 2020
Corresponding webinar recording: https://youtu.be/ITSxtlCmNhQ
This webinar will be an introduction to Blockchain and how FIWARE can be integrated with Blockchain/DLTs with a demo. In addition, it will also explain upcoming DLT components in the FIWARE ecosystem and an idea/state of art to leverage DLTs in 'Powered by FIWARE' systems.
Chapter: Blockchain
Difficulty: 3
Audience: Technical Domain Specific
Speaker: Har Preet Singh (Technical Expert and Evangelist, FIWARE Foundation)
FIWARE Wednesday Webinars - Integrating FIWARE with Blockchain/DLTs
1. Integrating FIWARE with Blockchain/DLTs
Har Preet Singh
Technical Expert and Evangelist
FIWARE Foundation
harpreet.singh@fiware.org
https://www.linkedin.com/in/singhhp1069/
2.
3. FIWARE
▪ A framework of open source platform
components to access and manage
heterogeneous context information
through open APIs.
▪ A standard for exchanging of context
information - NGSI (Next Generation
Service Interface)
▪ Generic Enablers and solutions to
provide smart services with FIWARE
Context Broker as a main component
2
Data/APIManagement
PublicationMonetization
Core Context Management
(Context Broker)
Context
Processing, Analysis, Visualization
Interface to
IoT, Robotics and third party systems
Deploymenttools
4. FIWARE Catalogue
3
3
Data/APIManagement
PublicationMonetization
Core Context Management
(Context Broker)
Context
Processing, Analysis, Visualization
Interface to
IoT, Robotics and third party systems
Deploymenttools
3
Development of
Context-aware applications
(Orion, Orion-LD, Scorpio,
STH-Comet, Cygnus,
QuantumLeap, Draco)
Connection to the
Internet of Things
(IDAS, OpenMTC)
Real-time
processing of
context events
(Perseo)
Handling authorization
and access control to
APIs
(Keyrock, Wilma,
AuthZForce, APInf )
Publication and
Monetization of Context
Information
(CKAN extensions, Data/API
Biz Framework, IDRA)
Creation of
Application Dashboards
(Wirecloud)
Real-time
Processing of media
streams
(Kurento)
Business Intelligence
(Knowage)
Connection to robots
(FIROS, Fast RTPS,Micro XRCE-DDS)
Big Data
Context Analysis
(Cosmos)
Cloud Edge
(FogFlow)
Documents exchange
(Domibus)
7. 6
Blockchain?
● Technology behind BITCOIN (2008)
● Next Generation Internet, also known as Decentralized Web
● It's a shared, trusted, public (and private) ledger of transactions.
● Not controlled by centralized authority.
● Cryptographically secured from tampering and alteration
"motivation for blockchain"
"NOVEL SOLUTION TO AGE-OLD HUMAN
PROBLEM OF TRUST."
8. 7
DLTs/ Blockchain
● CAP Theorem?
○ Consistency – that reads are always up to date, which means any client making a
request to the database will get the same view of data.
○ Availability – database requests always receive a response (when valid)
○ Partition tolerance – that a network fault doesn’t prevent messaging between nodes.
● In the context of distributed (NoSQL) databases, trade-off between consistency and
availability.
● Because distributed systems are always necessarily partition tolerant (ie. it simply wouldn’t
be a distributed database if it wasn’t partition tolerant.)
● Satoshi Nakamoto ("Bitcoin - first blockchain implementation") solved this problem using
consensus
● Consensus algorithms are primarily used to achieve reliability in a network involving multiple
distributed nodes that contain the same information.
9. 8
Why is it called Blockchain?
▪ The ledger is built using a linked list, or chain of blocks.
▪ Each block contains a certain number of transactions that were validated by the network in a
given timespan.
▪ The crypto-economic rulesets of the blockchain protocol (consensus layer) regulate the
behavioral rulesets
▪ Incentive mechanism of all stakeholders in the network.
10. 9
How Blockchain Works?
1. Alice wants to send
money to Bob
2. Transaction is
represented as a 'BLOCK'
3. Block is
broadcast to
every party
in the
network
4. Network
validate the
transaction
and approve
if valid
(consensus)
5. Block can be added to the chain,
immutable and transparent record
6. Money moves from
Alice to Bob
11. Type of Blockchains
▪ Public vs Private
• Who can write data to the Blockchain?
• Public – everyone can add a record
• Private – only certain participants can write data
▪ Open vs Closed
• Who can read data from the Blockchain?
• Open – everyone can read Blockchain data
• Closed – only certain participants can read data
10
source: https://blockchaintrainingalliance.com/
All Blockchains are DLTs but all DLTs are not
blockchain e.g; IOTA Tangle (DAG)
12. Blockchain Use Cases:
11
public and closed
● Voting
● Whistleblowers
● ….
public and open
● Currencies
● Betting
● Video Gaming
● ….
private and closed
● Construction
● National defence
● Law enforcement
● Military
● Tax
private and open
● Supply Chain
● Government
● Financial Records
● …..
closed open
public
private
source: https://blockchaintrainingalliance.com/
14. FIWARE and DLTs
Create/Update on context info - "Transactions"
Immute the transactions by storing transaction on DLTs to provide transparency,
traceability and provenance.
Sometime we don't to need to store all the information in blockchain.
Blockchain is new and lack in standards.
leveraging NGSI in DLTs can achieve interoperability.
13
17. Example (Agrifood Supply Chain)
16
FF-Farm
(food producer)
Bio-Pasta
(Manufacturer)
REWE
(Retailer/Distributor) Mr. JASON FOX
(Consumer)
1. grows and harvests
a crop of wheat
2. turn wheat into flour
and make pasta
3. Retailer sell the
pasta to consumer
4. Consumer buy from
supermarket
20. Blockchain Components in FIWARE
Currently FIWARE is building Blockchain components which is only for private,
permissioned/permissionless blockchain.
There is not any development track for public blockchain, TOKENs, ICOs, Cryptocurrencies etc.
Few components under development:
1. Canis Major Blockchain Adaptor
2. LedgerSync (FIWARE Off-Chain Storage)
3. Decentralized Context Broker
4. DLT KeyManager
19
21. Canis-Major Adaptor
1. Will Help to submit the data to directly blockchain.
2. Will not be recommended to work for public-permissionless blockchains (specially where
tokens, cryptocurrencies get involved)
3. Utilizes FIWARE Context Broker Subscriptions
Adaptor will help you to persistent the data on blockchain from the Context Broker in a
unidirectional way.
Developed By:
FIWARE Foundation, Germany
FEDERAL UNIVERSITY OF RIO GRANDE DO NORTE, Brazil
20
22. Canis-Major Adaptor
21
Canis Major
Adaptor
configuration (yaml):
- variables (to be persist)
- blockchain config
- blockchain account
details (optional)
- contract ABI
Context Broker
subscription
update entity with
blockchain details e.g;
tx, address, contract
address (optional)
Support
● Enterprise Ethereum
● JP Morgan Quorum
● IOTA DAG
● Hyperledger Besu
v 0.1 will be releasing in End of
July 2020.
will showcase tutorial as well.
Next Update
● Hyperledger Sawtooth
● Corda
● Neo
● MultiChain
etc.
23. FIWARE LedgerSync
▪ Subscribe to Blockchain Events
• Sawtooth (zeromq) Listeners,
• Web3-Events
• RPC Pub/Sub
• IOTA Event Listeners
• Corda (AMQP)
▪ Synchronized with FIWARE Historical Data Components
▪ v0.1 will come in October 2020.
▪ written in golang
22
24. Ongoing Research
3. Decentralized Context Broker
4. DLT KeyManager
23
Contributors are welcome to share ideas, contribute to develop blockchain components in
FIWARE Ecosystem.