SlideShare ist ein Scribd-Unternehmen logo
1 von 37
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

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

What is corda
What is cordaWhat is corda
What is corda
 
Blockchain Intro to Hyperledger Fabric
Blockchain Intro to Hyperledger Fabric Blockchain Intro to Hyperledger Fabric
Blockchain Intro to Hyperledger Fabric
 
Blockchain Explained
Blockchain ExplainedBlockchain Explained
Blockchain Explained
 
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...
 
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...
 
Introducing r3 corda™ a distributed ledger designed for financial services
Introducing r3 corda™  a distributed ledger designed for financial servicesIntroducing r3 corda™  a distributed ledger designed for financial services
Introducing r3 corda™ a distributed ledger designed for financial services
 
Ethereum Blockchain with Smart contract and ERC20
Ethereum Blockchain with Smart contract and ERC20Ethereum Blockchain with Smart contract and ERC20
Ethereum Blockchain with Smart contract and ERC20
 
Blockchain Technology Fundamentals
Blockchain Technology FundamentalsBlockchain Technology Fundamentals
Blockchain Technology Fundamentals
 
Blockchain
BlockchainBlockchain
Blockchain
 
BLOCKCHAIN TECHNOLOGY
BLOCKCHAIN TECHNOLOGYBLOCKCHAIN TECHNOLOGY
BLOCKCHAIN TECHNOLOGY
 
BLOCKCHAIN
BLOCKCHAINBLOCKCHAIN
BLOCKCHAIN
 
Blockchain Technology
Blockchain TechnologyBlockchain Technology
Blockchain Technology
 
Understanding Blockchain: Distributed Ledger Technology
Understanding Blockchain: Distributed Ledger TechnologyUnderstanding Blockchain: Distributed Ledger Technology
Understanding Blockchain: Distributed Ledger Technology
 
Blockchain HyperLedger Fabric Internals - Clavent
Blockchain HyperLedger Fabric Internals - ClaventBlockchain HyperLedger Fabric Internals - Clavent
Blockchain HyperLedger Fabric Internals - Clavent
 
Hyperledger Fabric Architecture
Hyperledger Fabric ArchitectureHyperledger Fabric Architecture
Hyperledger Fabric Architecture
 
Hyperledger
HyperledgerHyperledger
Hyperledger
 
Hyperledger Fabric
Hyperledger FabricHyperledger Fabric
Hyperledger Fabric
 
Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618
 
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
 
An Introduction to Blockchain Technology
An Introduction to Blockchain Technology An Introduction to Blockchain Technology
An Introduction to Blockchain Technology
 

Ähnlich wie Building Blockchain Application with Corda

Introduzione a Software Define Networking
Introduzione a Software Define NetworkingIntroduzione a Software Define Networking
Introduzione a Software Define Networking
festival ICT 2016
 
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
 

Ähnlich wie Building Blockchain Application with Corda (20)

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
 
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...
 
Anatomy of a hyperledger application
Anatomy of a hyperledger applicationAnatomy of a hyperledger application
Anatomy of a hyperledger application
 
Blockchain - Primer for City CIOs v05 01 22.pdf
Blockchain - Primer for City CIOs v05 01 22.pdfBlockchain - Primer for City CIOs v05 01 22.pdf
Blockchain - Primer for City CIOs v05 01 22.pdf
 

Mehr von Mohammad Asif

Mehr von 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
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

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