SlideShare a Scribd company logo
2
Mohammad Asif Waquar
Senior Software Engineer
atABNAMRO Bank
@asifwaquar
Mohammad Asif Waquar
Senior Software Engineer
atABNAMRO Bank
@asifwaquar
BUILDING BLOCKCHAIN
APPLICATION WITH
CORDA ENTERPRISE
2
about me
Senior Software Engineer at ABN AMRO
https://www.linkedin.com/in/mohammad-asif-6a6153111/
RoadMap
o Part-1 -Blockchain Introduction & Architecture on Azure.
o Part-2 -FabricArchitecture & Installation on Azure
o Part-3 - Block chain Hyper ledger deployment on Azure.
o Part-4 – BuildingBlockchainwithCordaEnterprise on Azure.
o Part-5 - Cordaworkflow & Swift paymentintegration.
o Part-6 - Blockchain with Ethereum & Quorum and deploying in DAPPSAzure.
o Part-7 - Handling Media & Documents in BlockChain
o Part-8 - Security in Blockchain.
o Part-9 - Block chain with IOT.
o Part-10 - Handson Workshop on Blockchain.
Today’sAgenda
o Recap
o Corda Overview
o CordaArchitecture
o Demo
Recap
Hyperledger Fabric Architecture
Orderer
• Consensus
verification
• CreatesBlocks
CA
• Registration
ofidentities
• Manage
Certificates
Peer
• EndorsesTx
• SimulatesTx
• CommitsTx
3ComponentsofFabric
Ledger
Blockchain & WorldState
• createCar
• queryAllCars
• queryCarProperties
• changeCarColor
• changeCarOwner
• EndorsementPolicies
• Assets:Anythingthat’s
valuablefor theOrganization
• Transactions(Statechangesof
Assets)
• GossipProtocol: Theglue
that keepsthepeersin
healthystate.
Allthesecomponentscanbeclusteredfor scalabilityandto avoidSinglePointofFailure
Channels SmartContract OtherConcepts
• Private subnetfor a
set of parties based
on Smartcontract
• Ledger/Channel
• Peerscanhave
multipleChannels
• PrivateData
1
2
Consortium Network
Example of consortium network of 3 organisations
Org 1 and Org 3 run peers
Org 2 provide ordering service only.
Corda Overview
Corda Brief Overview
Corda features
11
• No blockchains, no mining; instead a permissioned network
• No broadcast: all communication is point-to-point
• We reject the notion that data should be broadcast to all participants – or to
cumbersome, predefined groups
• Message senders need to know the identity of recipients
• Data is shared on a need-to-know basis and peers only see what they need to
see
• Not sending is preferable to sending and encrypting
• Unspent Transaction Output (UTXO) for recording states (likeBitcoin)
• Platform is JVM-based, written in Kotlin (can use Java, Clojure, etc)
• Supports industry-standard protocols: AMQP, JDBC, PKIX, etc
• No cryptocurrency but can represent digital cash
The Corda Ledger
ALICE BOB
ED
CARL
DEMI
1
7
5
9
4 3
2
6
8
ALICE = { }1 7
BOB = { 1 7 6 5 }
CARL = { 9 4 6 5 2 3 }
}ED= { 9 4 38
}DEMI= { 2 3 8
12
The ledger from each peer’s point of view is the union of all
intersections with other network peers
(some of which may be the empty set)
Numbered circles
represent unique
shared facts
Anatomy of a bilateral ledger
ALICE BOB
1
7
• There is no “central ledger”
• Each network peer maintains a separate vault of facts
(akin to rows in a DB table)
• All peers to a shared fact store identical copies
• Not all on-ledger facts have to be shared with other
peers
• The black square “11” is an example of a on-ledger
fact not shared with any peers
• Immutable: easy to do analysis on a static snapshot of
the data and reason about the contents
• No accounts: easy to apply transactions in parallel
• Transaction ordering: impossible to mis-order
transactions due to reliance on hash functions to identify
previous states
• Consensus: conflict is the double spend problem
• Auditability: full history of all activity is recorded
6
5
Id Fact
1 “Much consensus”
7 “So bilateral”
11 “Wow ledger”
Id Fact
1 “Much consensus”
6 “Very fact”
7 “So bilateral”
5 “amaze network”
11
13
Flows
Flows are light-weight
processes used to
coordinate interactions
required for peers toreach
consensus about shared
facts.
State Object
States are immutable
objects that represent
(shared) facts such as a
financial agreement or
contract at a specificpoint
in time
Transaction
Transactions consume
input states and create
output states.
The newly created output
states replace the input
states which are marked
as historic.
Consensus
Parties reach consensus
on the evolution of a
shared fact. This is done
by testing the validity (by
way of contract code) and
uniqueness (by way of the
notary) of the transaction.
Corda: Key Concepts
IOU
CONTRACT
REF
IOU STATE
PROPERTIES
From: Alice
To: Bob
Amount: £10
Due: 01/03/2017
Paid: £5
Penalty: 20%
PARTICIPANTS
Alic e
Bob
OUTPUT
STATE
INPUT
STATE
ALICE
BOB
NOTARY
14
Legal Agreement as Foundational Concepts (States)
The Corda Peer-to-Peer Network
13
5
4
2
2
•
•
Doorman: Enforces rules regarding the information nodes
must provide before being admitted to the network. If satisfied,
node’s identity is certified with a root-authority-signed TLS
certificate.
Nodes: JVM run-time with a unique network identity running
Corda with two interfaces: network layer (interacting with other
nodes) and RPC (interacting with node’s owner)
• Network Map Service: Publishes IP addresses throughwhich
all nodes can be reached along with certificates and services
provided by node
• Notary: Attest uniqueness, and possibility the validity, of ledger
updates.
• Oracles: Well-known service that signs transactions if they
state a fact and that fact is considered to be trust
Corda Network: Detailed Overview
A Corda Network includes a 1) doorman (“permissioning service”), 2) two or more Corda Nodes, 3) a
network map service, 4) one or more notary nodes and 5) zero or more oracles
17
1
3
2
4
5
• A Corda network is a fully connected graph
• No global broadcast or gossip network
• Communication occurs on a point-to point basis
only
• Peers communicate using AMQP/1.0 over TLS
• Network map service publishes list of peers
• Graph edges represent the potential to
communicate, not persistent connections
• Think Email and SMTP
A Corda Network
A Corda network is an authenticated peer-to-peer network of nodes where each node is a Java Virtual
Machine run-time environment hosting Corda services and executing applications known as CorDapps
Name: Network Map
Services: Network map service
Address: 192.168.0.2:10005
Public key: t453wv84bvt3cj5w3h
Name: Alice
Services: Cash Issuer, bond
issuer
Address: 192.168.0.3:10005
Public key: 5h54h5wv632vhy55
Name: Bob
Services: Cash Issuer, bond issuer
Address: 192.168.0.4:10005
Public key: 5hw03nnk43jknkj4n
NOTARY
NODE
PERMISSIONING SERVICE
CERTIFICATE SIGNING
18
1
What makes a Business Network?
We expect that single business networks will typically be set up by a
consortium of banks and a system delivery partner, and they will include:
• A ledger agreement / set ofrules
• An operating entity
• The specific ledger application for this ledger(CorDapp)
• Common network parameters that allow Nodes to transact
A network will comprise a number of CordaNodes:
• Bank nodes
• A Doorman Node
• At least one Notary node
• Oracles
• Messaging Gateways (e.g. SWIFT)
Bank A
Bank B
Bank C
Bank D
Bank E
Doorman
Notary
Oracle
Gateway
Peer-to-Peer
communications
Connectivity to rest of
bank
Connectivity to
external services
19
But of course we want many of these business networks, andour
primary objective is for them to be able to interoperate..
Global Corda Network For Interoperability
Transactions
Transactions
Transaction can split and merge States
Transaction and Contract Execution
Transactions Proposal and Finality
Transactions Proposal and Finality
p15.
ALICE
BOB
transaction proposal
proposal and her
signature to Bob
3.Bob inspects the
proposal, verifies it and
then signs it
4.Bob sendsback the
transaction and his
signature to Alice
1.Alicecreates a new ce
5.Alice verifies the
transaction and checks
Bob’s signature
Uninvolved peers do not receiveany
of Alice’sor Bob’s transactions
and sign it.
2.Alice sends the
Flows
Notaries
Oracles
Single VM Ledger on Microsoft Azure
Step-1 Choose Corda Single Ledger
Network.
Single VM Ledger on Microsoft Azure
Step-2 Fill all user credentials details
Single VM Ledger on Microsoft Azure
Single VM Ledger on Microsoft Azure
Step-3 Choose no of nodes and notary
Services.
Single VM Ledger on Microsoft Azure
Step-4 Choose notary type validating /
Nonvalidating notary. Validating
Notary will verify all previous
transactions.
Demo
https://github.com/asifwaquar/blockchain-architecture/blob/master/README.md
https://asifwaquar.blogspot.com/
Github Repo:
Blog:
Useful Links
Questions?
12
ThankYou
12

More Related Content

What's hot

Blockchain solution architecture deliverable
Blockchain solution architecture deliverableBlockchain solution architecture deliverable
Blockchain solution architecture deliverableSarmad Ibrahim
 
Blockchain - HyperLedger Fabric
Blockchain - HyperLedger FabricBlockchain - HyperLedger Fabric
Blockchain - HyperLedger FabricAraf Karsh Hamid
 
Blockchain
BlockchainBlockchain
BlockchainSai Nath
 
Understanding blockchain
Understanding blockchainUnderstanding blockchain
Understanding blockchainPriyab Satoshi
 
Blockchain HyperLedger Fabric Internals - Clavent
Blockchain HyperLedger Fabric Internals - ClaventBlockchain HyperLedger Fabric Internals - Clavent
Blockchain HyperLedger Fabric Internals - ClaventAraf Karsh Hamid
 
Blockchain and Cryptocurrencies
Blockchain and CryptocurrenciesBlockchain and Cryptocurrencies
Blockchain and CryptocurrenciesnimeshQ
 
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018Svetlin Nakov
 
Block chain 101 what it is, why it matters
Block chain 101  what it is, why it mattersBlock chain 101  what it is, why it matters
Block chain 101 what it is, why it mattersPaul Brody
 
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발 [Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발 Yunho Maeng
 
Hyperledger fabric 20180528
Hyperledger fabric 20180528Hyperledger fabric 20180528
Hyperledger fabric 20180528Arnaud Le Hors
 
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!
 
Developing applications with Hyperledger Fabric SDK
Developing applications with Hyperledger Fabric SDKDeveloping applications with Hyperledger Fabric SDK
Developing applications with Hyperledger Fabric SDKHorea Porutiu
 
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!
 
Blockchain for IoT Security and Privacy: The Case Study of a Smart Home
Blockchain for IoT Security and Privacy: The Case Study of a Smart HomeBlockchain for IoT Security and Privacy: The Case Study of a Smart Home
Blockchain for IoT Security and Privacy: The Case Study of a Smart HomeKishor Datta Gupta
 
Bitcoin Lightning Network - Presentation
Bitcoin Lightning Network - Presentation Bitcoin Lightning Network - Presentation
Bitcoin Lightning Network - Presentation Jim Brysland
 

What's hot (20)

Blockchain solution architecture deliverable
Blockchain solution architecture deliverableBlockchain solution architecture deliverable
Blockchain solution architecture deliverable
 
Blockchain - HyperLedger Fabric
Blockchain - HyperLedger FabricBlockchain - HyperLedger Fabric
Blockchain - HyperLedger Fabric
 
What is corda
What is cordaWhat is corda
What is corda
 
Blockchain
BlockchainBlockchain
Blockchain
 
Understanding blockchain
Understanding blockchainUnderstanding blockchain
Understanding blockchain
 
Blockchain HyperLedger Fabric Internals - Clavent
Blockchain HyperLedger Fabric Internals - ClaventBlockchain HyperLedger Fabric Internals - Clavent
Blockchain HyperLedger Fabric Internals - Clavent
 
Blockchain and Cryptocurrencies
Blockchain and CryptocurrenciesBlockchain and Cryptocurrencies
Blockchain and Cryptocurrencies
 
Blockchain and Cryptocurrency for Dummies
Blockchain and Cryptocurrency for DummiesBlockchain and Cryptocurrency for Dummies
Blockchain and Cryptocurrency for Dummies
 
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
 
Block chain 101 what it is, why it matters
Block chain 101  what it is, why it mattersBlock chain 101  what it is, why it matters
Block chain 101 what it is, why it matters
 
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발 [Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
 
Hyperledger fabric 20180528
Hyperledger fabric 20180528Hyperledger fabric 20180528
Hyperledger fabric 20180528
 
Ethereum 2.0
Ethereum 2.0Ethereum 2.0
Ethereum 2.0
 
Introduction to Blockchain
Introduction to BlockchainIntroduction to Blockchain
Introduction to Blockchain
 
Hyperledger Fabric
Hyperledger FabricHyperledger Fabric
Hyperledger Fabric
 
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...
 
Developing applications with Hyperledger Fabric SDK
Developing applications with Hyperledger Fabric SDKDeveloping applications with Hyperledger Fabric SDK
Developing applications with Hyperledger Fabric SDK
 
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 for IoT Security and Privacy: The Case Study of a Smart Home
Blockchain for IoT Security and Privacy: The Case Study of a Smart HomeBlockchain for IoT Security and Privacy: The Case Study of a Smart Home
Blockchain for IoT Security and Privacy: The Case Study of a Smart Home
 
Bitcoin Lightning Network - Presentation
Bitcoin Lightning Network - Presentation Bitcoin Lightning Network - Presentation
Bitcoin Lightning Network - Presentation
 

Similar to Building Blockchain Application with Corda

An introduction to blockchain and hyperledger v ru
An introduction to blockchain and hyperledger v ruAn introduction to blockchain and hyperledger v ru
An introduction to blockchain and hyperledger v ruLennartF
 
Blockchain explored
Blockchain explored Blockchain explored
Blockchain explored IBM Sverige
 
Wwc developing hyperledger applications v4
Wwc  developing hyperledger applications v4Wwc  developing hyperledger applications v4
Wwc developing hyperledger applications v4LennartF
 
Blockchin architecture & use cases -part-2
Blockchin architecture & use cases -part-2Blockchin architecture & use cases -part-2
Blockchin architecture & use cases -part-2Mohammad Asif
 
How to Serve Blockchain Data with AWS Lambda
How to Serve Blockchain Data with AWS LambdaHow to Serve Blockchain Data with AWS Lambda
How to Serve Blockchain Data with AWS LambdaVery
 
Hyperledger Fabric Update - June 2018
Hyperledger Fabric Update - June 2018Hyperledger Fabric Update - June 2018
Hyperledger Fabric Update - June 2018Arnaud Le Hors
 
Wwc developing hyperledger applications v4
Wwc  developing hyperledger applications v4Wwc  developing hyperledger applications v4
Wwc developing hyperledger applications v4LennartF
 
Blockchain on the oracle cloud, the next big thing
Blockchain on the oracle cloud, the next big thingBlockchain on the oracle cloud, the next big thing
Blockchain on the oracle cloud, the next big thingRobert van Mölken
 
Ibp technical introduction
Ibp technical introductionIbp technical introduction
Ibp technical introductionLennartF
 
Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...Ingo Weber
 
The blockchain ecosystem
The blockchain ecosystemThe blockchain ecosystem
The blockchain ecosystemNicola Attico
 
SDN: an introduction
SDN: an introductionSDN: an introduction
SDN: an introductionLuca Profico
 
Blockchain technology application in drones and cybersecurity
Blockchain technology application in drones and cybersecurityBlockchain technology application in drones and cybersecurity
Blockchain technology application in drones and cybersecurityNile University
 
Wwc developing hyperledger applications v2
Wwc  developing hyperledger applications v2Wwc  developing hyperledger applications v2
Wwc developing hyperledger applications v2LennartF
 
Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618Arnaud Le Hors
 
Blockchain Tech Approach Whitepaper
Blockchain Tech Approach WhitepaperBlockchain Tech Approach Whitepaper
Blockchain Tech Approach WhitepaperProperty Bihar
 
Introduzione a Software Define Networking
Introduzione a Software Define NetworkingIntroduzione a Software Define Networking
Introduzione a Software Define Networkingfestival ICT 2016
 
Blockchain architected
Blockchain architectedBlockchain architected
Blockchain architectedIBM Sverige
 
Lattice Network Yellow Paper.pdf
Lattice Network Yellow Paper.pdfLattice Network Yellow Paper.pdf
Lattice Network Yellow Paper.pdfBijanBurnard
 
Breaking open the Bazaar identifying and exploiting key weaknesses in the Ope...
Breaking open the Bazaar identifying and exploiting key weaknesses in the Ope...Breaking open the Bazaar identifying and exploiting key weaknesses in the Ope...
Breaking open the Bazaar identifying and exploiting key weaknesses in the Ope...Richard Dennis
 

Similar to Building Blockchain Application with Corda (20)

An introduction to blockchain and hyperledger v ru
An introduction to blockchain and hyperledger v ruAn introduction to blockchain and hyperledger v ru
An introduction to blockchain and hyperledger v ru
 
Blockchain explored
Blockchain explored Blockchain explored
Blockchain explored
 
Wwc developing hyperledger applications v4
Wwc  developing hyperledger applications v4Wwc  developing hyperledger applications v4
Wwc developing hyperledger applications v4
 
Blockchin architecture & use cases -part-2
Blockchin architecture & use cases -part-2Blockchin architecture & use cases -part-2
Blockchin architecture & use cases -part-2
 
How to Serve Blockchain Data with AWS Lambda
How to Serve Blockchain Data with AWS LambdaHow to Serve Blockchain Data with AWS Lambda
How to Serve Blockchain Data with AWS Lambda
 
Hyperledger Fabric Update - June 2018
Hyperledger Fabric Update - June 2018Hyperledger Fabric Update - June 2018
Hyperledger Fabric Update - June 2018
 
Wwc developing hyperledger applications v4
Wwc  developing hyperledger applications v4Wwc  developing hyperledger applications v4
Wwc developing hyperledger applications v4
 
Blockchain on the oracle cloud, the next big thing
Blockchain on the oracle cloud, the next big thingBlockchain on the oracle cloud, the next big thing
Blockchain on the oracle cloud, the next big thing
 
Ibp technical introduction
Ibp technical introductionIbp technical introduction
Ibp technical introduction
 
Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...
 
The blockchain ecosystem
The blockchain ecosystemThe blockchain ecosystem
The blockchain ecosystem
 
SDN: an introduction
SDN: an introductionSDN: an introduction
SDN: an introduction
 
Blockchain technology application in drones and cybersecurity
Blockchain technology application in drones and cybersecurityBlockchain technology application in drones and cybersecurity
Blockchain technology application in drones and cybersecurity
 
Wwc developing hyperledger applications v2
Wwc  developing hyperledger applications v2Wwc  developing hyperledger applications v2
Wwc developing hyperledger applications v2
 
Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618
 
Blockchain Tech Approach Whitepaper
Blockchain Tech Approach WhitepaperBlockchain Tech Approach Whitepaper
Blockchain Tech Approach Whitepaper
 
Introduzione a Software Define Networking
Introduzione a Software Define NetworkingIntroduzione a Software Define Networking
Introduzione a Software Define Networking
 
Blockchain architected
Blockchain architectedBlockchain architected
Blockchain architected
 
Lattice Network Yellow Paper.pdf
Lattice Network Yellow Paper.pdfLattice Network Yellow Paper.pdf
Lattice Network Yellow Paper.pdf
 
Breaking open the Bazaar identifying and exploiting key weaknesses in the Ope...
Breaking open the Bazaar identifying and exploiting key weaknesses in the Ope...Breaking open the Bazaar identifying and exploiting key weaknesses in the Ope...
Breaking open the Bazaar identifying and exploiting key weaknesses in the Ope...
 

More from Mohammad Asif

Integrate Apps using Azure Workbench and Azure Blockchain as Service
Integrate Apps using Azure Workbench and Azure Blockchain as ServiceIntegrate Apps using Azure Workbench and Azure Blockchain as Service
Integrate Apps using Azure Workbench and Azure Blockchain as ServiceMohammad Asif
 
Build Blockchain Prototype using Azure Workbench and Manage data on ledger
Build Blockchain Prototype using Azure Workbench and Manage data on ledgerBuild Blockchain Prototype using Azure Workbench and Manage data on ledger
Build Blockchain Prototype using Azure Workbench and Manage data on ledgerMohammad Asif
 
Globally Distributed Modern Apps using Azure Cosmos DB and Azure Functions
Globally Distributed Modern Apps using Azure Cosmos DB and Azure FunctionsGlobally Distributed Modern Apps using Azure Cosmos DB and Azure Functions
Globally Distributed Modern Apps using Azure Cosmos DB and Azure FunctionsMohammad Asif
 
Blockchin Architecture on Azure-Part-3
Blockchin Architecture on Azure-Part-3Blockchin Architecture on Azure-Part-3
Blockchin Architecture on Azure-Part-3Mohammad Asif
 
Modeling data and best practices for the Azure Cosmos DB.
Modeling data and best practices for the Azure Cosmos DB.Modeling data and best practices for the Azure Cosmos DB.
Modeling data and best practices for the Azure Cosmos DB.Mohammad Asif
 
Blockchin architecture azure meetup
Blockchin architecture azure meetupBlockchin architecture azure meetup
Blockchin architecture azure meetupMohammad Asif
 

More from Mohammad Asif (7)

Integrate Apps using Azure Workbench and Azure Blockchain as Service
Integrate Apps using Azure Workbench and Azure Blockchain as ServiceIntegrate Apps using Azure Workbench and Azure Blockchain as Service
Integrate Apps using Azure Workbench and Azure Blockchain as Service
 
Build Blockchain Prototype using Azure Workbench and Manage data on ledger
Build Blockchain Prototype using Azure Workbench and Manage data on ledgerBuild Blockchain Prototype using Azure Workbench and Manage data on ledger
Build Blockchain Prototype using Azure Workbench and Manage data on ledger
 
Globally Distributed Modern Apps using Azure Cosmos DB and Azure Functions
Globally Distributed Modern Apps using Azure Cosmos DB and Azure FunctionsGlobally Distributed Modern Apps using Azure Cosmos DB and Azure Functions
Globally Distributed Modern Apps using Azure Cosmos DB and Azure Functions
 
Blockchin Architecture on Azure-Part-3
Blockchin Architecture on Azure-Part-3Blockchin Architecture on Azure-Part-3
Blockchin Architecture on Azure-Part-3
 
Modeling data and best practices for the Azure Cosmos DB.
Modeling data and best practices for the Azure Cosmos DB.Modeling data and best practices for the Azure Cosmos DB.
Modeling data and best practices for the Azure Cosmos DB.
 
Blockchin architecture azure meetup
Blockchin architecture azure meetupBlockchin architecture azure meetup
Blockchin architecture azure meetup
 
SQL Pass Chapter
SQL Pass ChapterSQL Pass Chapter
SQL Pass Chapter
 

Recently uploaded

Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Product School
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Product School
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaRTTS
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomCzechDreamin
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsPaul Groth
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...Product School
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Product School
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...Product School
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxAbida Shariff
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...Product School
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsExpeed Software
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
 

Recently uploaded (20)

Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 

Building Blockchain Application with Corda

  • 1. 2 Mohammad Asif Waquar Senior Software Engineer atABNAMRO Bank @asifwaquar Mohammad Asif Waquar Senior Software Engineer atABNAMRO Bank @asifwaquar BUILDING BLOCKCHAIN APPLICATION WITH CORDA ENTERPRISE
  • 2. 2 about me Senior Software Engineer at ABN AMRO https://www.linkedin.com/in/mohammad-asif-6a6153111/
  • 3. RoadMap o Part-1 -Blockchain Introduction & Architecture on Azure. o Part-2 -FabricArchitecture & Installation on Azure o Part-3 - Block chain Hyper ledger deployment on Azure. o Part-4 – BuildingBlockchainwithCordaEnterprise on Azure. o Part-5 - Cordaworkflow & Swift paymentintegration. o Part-6 - Blockchain with Ethereum & Quorum and deploying in DAPPSAzure. o Part-7 - Handling Media & Documents in BlockChain o Part-8 - Security in Blockchain. o Part-9 - Block chain with IOT. o Part-10 - Handson Workshop on Blockchain.
  • 4. Today’sAgenda o Recap o Corda Overview o CordaArchitecture o Demo
  • 6.
  • 7. Hyperledger Fabric Architecture Orderer • Consensus verification • CreatesBlocks CA • Registration ofidentities • Manage Certificates Peer • EndorsesTx • SimulatesTx • CommitsTx 3ComponentsofFabric Ledger Blockchain & WorldState • createCar • queryAllCars • queryCarProperties • changeCarColor • changeCarOwner • EndorsementPolicies • Assets:Anythingthat’s valuablefor theOrganization • Transactions(Statechangesof Assets) • GossipProtocol: Theglue that keepsthepeersin healthystate. Allthesecomponentscanbeclusteredfor scalabilityandto avoidSinglePointofFailure Channels SmartContract OtherConcepts • Private subnetfor a set of parties based on Smartcontract • Ledger/Channel • Peerscanhave multipleChannels • PrivateData 1 2
  • 8. Consortium Network Example of consortium network of 3 organisations Org 1 and Org 3 run peers Org 2 provide ordering service only.
  • 11. Corda features 11 • No blockchains, no mining; instead a permissioned network • No broadcast: all communication is point-to-point • We reject the notion that data should be broadcast to all participants – or to cumbersome, predefined groups • Message senders need to know the identity of recipients • Data is shared on a need-to-know basis and peers only see what they need to see • Not sending is preferable to sending and encrypting • Unspent Transaction Output (UTXO) for recording states (likeBitcoin) • Platform is JVM-based, written in Kotlin (can use Java, Clojure, etc) • Supports industry-standard protocols: AMQP, JDBC, PKIX, etc • No cryptocurrency but can represent digital cash
  • 12. The Corda Ledger ALICE BOB ED CARL DEMI 1 7 5 9 4 3 2 6 8 ALICE = { }1 7 BOB = { 1 7 6 5 } CARL = { 9 4 6 5 2 3 } }ED= { 9 4 38 }DEMI= { 2 3 8 12 The ledger from each peer’s point of view is the union of all intersections with other network peers (some of which may be the empty set) Numbered circles represent unique shared facts
  • 13. Anatomy of a bilateral ledger ALICE BOB 1 7 • There is no “central ledger” • Each network peer maintains a separate vault of facts (akin to rows in a DB table) • All peers to a shared fact store identical copies • Not all on-ledger facts have to be shared with other peers • The black square “11” is an example of a on-ledger fact not shared with any peers • Immutable: easy to do analysis on a static snapshot of the data and reason about the contents • No accounts: easy to apply transactions in parallel • Transaction ordering: impossible to mis-order transactions due to reliance on hash functions to identify previous states • Consensus: conflict is the double spend problem • Auditability: full history of all activity is recorded 6 5 Id Fact 1 “Much consensus” 7 “So bilateral” 11 “Wow ledger” Id Fact 1 “Much consensus” 6 “Very fact” 7 “So bilateral” 5 “amaze network” 11 13
  • 14. Flows Flows are light-weight processes used to coordinate interactions required for peers toreach consensus about shared facts. State Object States are immutable objects that represent (shared) facts such as a financial agreement or contract at a specificpoint in time Transaction Transactions consume input states and create output states. The newly created output states replace the input states which are marked as historic. Consensus Parties reach consensus on the evolution of a shared fact. This is done by testing the validity (by way of contract code) and uniqueness (by way of the notary) of the transaction. Corda: Key Concepts IOU CONTRACT REF IOU STATE PROPERTIES From: Alice To: Bob Amount: £10 Due: 01/03/2017 Paid: £5 Penalty: 20% PARTICIPANTS Alic e Bob OUTPUT STATE INPUT STATE ALICE BOB NOTARY 14
  • 15. Legal Agreement as Foundational Concepts (States)
  • 17. 13 5 4 2 2 • • Doorman: Enforces rules regarding the information nodes must provide before being admitted to the network. If satisfied, node’s identity is certified with a root-authority-signed TLS certificate. Nodes: JVM run-time with a unique network identity running Corda with two interfaces: network layer (interacting with other nodes) and RPC (interacting with node’s owner) • Network Map Service: Publishes IP addresses throughwhich all nodes can be reached along with certificates and services provided by node • Notary: Attest uniqueness, and possibility the validity, of ledger updates. • Oracles: Well-known service that signs transactions if they state a fact and that fact is considered to be trust Corda Network: Detailed Overview A Corda Network includes a 1) doorman (“permissioning service”), 2) two or more Corda Nodes, 3) a network map service, 4) one or more notary nodes and 5) zero or more oracles 17 1 3 2 4 5
  • 18. • A Corda network is a fully connected graph • No global broadcast or gossip network • Communication occurs on a point-to point basis only • Peers communicate using AMQP/1.0 over TLS • Network map service publishes list of peers • Graph edges represent the potential to communicate, not persistent connections • Think Email and SMTP A Corda Network A Corda network is an authenticated peer-to-peer network of nodes where each node is a Java Virtual Machine run-time environment hosting Corda services and executing applications known as CorDapps Name: Network Map Services: Network map service Address: 192.168.0.2:10005 Public key: t453wv84bvt3cj5w3h Name: Alice Services: Cash Issuer, bond issuer Address: 192.168.0.3:10005 Public key: 5h54h5wv632vhy55 Name: Bob Services: Cash Issuer, bond issuer Address: 192.168.0.4:10005 Public key: 5hw03nnk43jknkj4n NOTARY NODE PERMISSIONING SERVICE CERTIFICATE SIGNING 18 1
  • 19. What makes a Business Network? We expect that single business networks will typically be set up by a consortium of banks and a system delivery partner, and they will include: • A ledger agreement / set ofrules • An operating entity • The specific ledger application for this ledger(CorDapp) • Common network parameters that allow Nodes to transact A network will comprise a number of CordaNodes: • Bank nodes • A Doorman Node • At least one Notary node • Oracles • Messaging Gateways (e.g. SWIFT) Bank A Bank B Bank C Bank D Bank E Doorman Notary Oracle Gateway Peer-to-Peer communications Connectivity to rest of bank Connectivity to external services 19 But of course we want many of these business networks, andour primary objective is for them to be able to interoperate..
  • 20. Global Corda Network For Interoperability
  • 23. Transaction can split and merge States
  • 27. p15. ALICE BOB transaction proposal proposal and her signature to Bob 3.Bob inspects the proposal, verifies it and then signs it 4.Bob sendsback the transaction and his signature to Alice 1.Alicecreates a new ce 5.Alice verifies the transaction and checks Bob’s signature Uninvolved peers do not receiveany of Alice’sor Bob’s transactions and sign it. 2.Alice sends the Flows
  • 30. Single VM Ledger on Microsoft Azure Step-1 Choose Corda Single Ledger Network.
  • 31. Single VM Ledger on Microsoft Azure Step-2 Fill all user credentials details Single VM Ledger on Microsoft Azure
  • 32. Single VM Ledger on Microsoft Azure Step-3 Choose no of nodes and notary Services.
  • 33. Single VM Ledger on Microsoft Azure Step-4 Choose notary type validating / Nonvalidating notary. Validating Notary will verify all previous transactions.
  • 34. Demo