SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
2018 BSOS Project © All rights reserved
REDEFINE the Future of Supply Chain
Intro to R3 Corda:
Leading the way to blockchain-based banking
2019 BSOS Project © All rights reserved2019 BSOS Project © All rights reservedREDEFINE the Future of Supply Chain
Agenda
• Overview
• Corda Features
• Corda Technical Details and Network Deployment
• Q&A
2019 BSOS Project © All rights reservedREDEFINE
Distributed ledgers at a glance
Distributed ledgers are systems that enable parties who don’t fully trust
each other to form and maintain consensus about the existence,
status and evolution of a set of shared facts.
2019 BSOS Project © All rights reservedREDEFINE
Defining characteristic of a distributed ledger
Cryptography to ensure identity authentication for
each transaction
Non-repudiation/immutability to preserve
integrity of data and create an audit trail
Smart contracts for the automatic execution of
business logic when certain criteria are met
Shared ledger so each participant sees the same
view of the same data, updated in real time,
subject to permissioning
Distributed consensus to ensure the state of the
ledger represents the agreed-upon truth of all
stakeholders
Ledgers
Distributed
Ledgers
Blockchains Non-blockchains
2019 BSOS Project © All rights reservedREDEFINE
Corda: A unique shared ledger approach
Blockchain-inspired: takes best
attributes from Bitcoin, Ethereum, and
others.
Enterprise grade: built specifically for
financial markets.
Data privacy: transactions info
propagated only to relevant nodes.
Consensus: achieved at individual deal level,
rather than system level. Supports a variety
of consensus mechanisms.
Regulator-focused: design directly enables
regulatory/supervisor observer nodes.
Smart contract: strong link between legal
prose and smart contract code.
Easy integration: reuse existing developer skills and make integration with bank
systems easy and safe. Query and join the ledger to existing DBs with SQL, and code
contracts in modern, standard languages like Java.
Corda Features
2019 BSOS Project © All rights reservedREDEFINE
Corda salient features
• 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
2019 BSOS Project © All rights reservedREDEFINE
The Corda Ledger
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)
2019 BSOS Project © All rights reservedREDEFINE
Anatomy of a bilateral ledger
11
• 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
2019 BSOS Project © All rights reservedREDEFINE
Corda: Key Concepts - Flows
Flows are light-weight processes used to coordinate interactions
required for peers to reach consensus about shared facts.
ALICE
BOB
NOTARY
• With Corda, peers communicate on a point to point basis
• Most distributed ledger platforms use message broadcasting and
gossip networks to share data
• To communicate, peers must specify message recipients
• Recall that to commit a transaction, multiple peers are often required
to sign and verify it
• To commit a transaction proposal, a workflow or “flow” of
messaging, signing, verifying, among other things, is required
• Peers on a Corda network may have thousands of counter-parties and
hundreds of thousands of concurrent flows
2019 BSOS Project © All rights reservedREDEFINE
Corda: Key Concepts of a transaction
Transaction
Transactions consume
input states and create
output states.
The newly created output
states replace the input
states which are marked
as historic.
INPUT
STATE
OUTPUT
STATE
State Object
States are immutable
objects that represent
(shared) facts such as a
financial agreement or
contract at a specific point
in time
IOU
CONTRACT
REF
IOU STATE
PROPERTIES
From: Alice
To:Bob
Amount: £10
Due: 01/03/2017
Paid: £5
Penalty: 20%
PARTICIPANTS
Alic e
Bob
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.
2019 BSOS Project © All rights reservedREDEFINE
Transactions
• Any peer may create a transaction proposal
• Transaction proposals are uncommitted by default
• Before a transaction proposal is committed it must first be digitally signed and
then verified and by all required peers on a need-to-know basis
• Once a transaction is committed it marks the input state references as historic
and creates new output states reflecting an updated ledger
INPUT
STATE
OUTPUT
STATE
2019 BSOS Project © All rights reservedREDEFINE
Two types of consensus
Peers reach consensus over transactions in two ways
In Corda, verification consensus involves
peers reaching certainty that a transaction:
• is signed by all required peers listed
in the commands of a flow;
• and satisfies the constraints defined
by the contracts pointed to by the input
and output states.
The “double spend” problem for on-ledger
issued assets can be mitigated with
uniqueness consensus
• Uniqueness consensus is provided by
notary services
• When a state is issued on-ledger it is
assigned a notary service
• The assigned notary ensures the state is
not used as an input to a transaction
more than once for the duration of the
state’s lifecycle on-ledger
• The point of transaction finality is reached
when the specified notary service signs
the transaction
2019 BSOS Project © All rights reservedREDEFINE
Verification Consensus
• In most cases, verification consensus on newly-proposed transactions is
performed only by the peers involved
• However, depending on the state types included in a transaction, this may not
always be the case
• Lazy Propagation
• Some peers that were not initially involved in a transaction, may still need to see and verify the
transaction
Transaction
INPUT
STATE
OUTPUT
STATE
Consensus
2019 BSOS Project © All rights reservedREDEFINE
Verification Consensus: Lazy Propagation Example
- Alice has a state representing £10 of cash issued to her by Charlie
2019 BSOS Project © All rights reservedREDEFINE
- Bob receives a transaction proposal from Alice to settle their £10 IOU. (Alice
wants to use the £10 cash that Charlie issued to her to pay Bob.)
Verification Consensus: Lazy Propagation Example
2019 BSOS Project © All rights reservedREDEFINE
Verification Consensus: Lazy Propagation Example
- Bob verifies the proposed transaction from Alice before he signs it.
But is this enough to satisfy Bob?
2019 BSOS Project © All rights reservedREDEFINE
Verification Consensus: Lazy Propagation Example
- Bob not only needs to validate the proposed transaction from Alice (the £10
IOU), he also needs to validate the state representing the £10 of cash issued
to Alice by Charlie
2019 BSOS Project © All rights reservedREDEFINE
Verification Consensus: Lazy Propagation Example
Conclusion:
• Bob should verify the previous transactions in order to validate that the £10
he is owed by Alice is both
• An input state to the transaction Alice has proposed
• An actual claim against Charlie, the issuer
2019 BSOS Project © All rights reservedREDEFINE
Uniqueness Consensus: Notary
• We can think of the notary as a bucket.
• If the input state that is referenced is already in the bucket, then the notary
has already seen it before.
• If this is the case, the notary will throw an exception and refuse to sign.
• If it’s not in the bucket, then the notary has not seen it before.
• The transaction will be notarized and considered final
• All of the input states will be added to the bucket
• Finally, the notary will sign and commit the transaction
2019 BSOS Project © All rights reservedREDEFINE
Uniqueness Consensus: Notary
• Verifying
• They undergo the same workflow, but add an additional step to perform transaction
verification
• This requires the verifying notary to see the transaction's input and output states, as well
as all historical transactions.
• Non-verifying
• Only check to see if the input state references are already historic or not
• Do not perform verification over transactions
2019 BSOS Project © All rights reservedREDEFINE
Uniqueness Consensus: Notary
• Many notaries can exist on a Corda Network and operate in parallel.
• The notaries can be used in a variety of different ways, using different
consensus algorithms, running in parallel to suit different needs.
• With multiple single-machine notaries
• Multiple notaries that consist of clusters of nodes, using a consensus algorithm (like Raft).
• Untrusting nodes running a consensus algorithm that is BFT (byzantine fault tolerant).
• Notaries can be operated by any network peer
2019 BSOS Project © All rights reservedREDEFINE
Example: Cash Transfer Flow
verification
consensus
Uniqueness
consensus
2019 BSOS Project © All rights reservedREDEFINE
Corda Wrap ups
Peers to Peers Notary
Two types of
Consensus
Need-to-Know
Verification
Uniqueness
Verifying
Non-verifying
Corda Technical Details and
Network Deployment
2019 BSOS Project © All rights reservedREDEFINE
Network overview
A Corda network is comprised of:
• A doorman
• Two or more Corda nodes
• A network map service
• One or more notary services
• Zero or more oracles
2019 BSOS Project © All rights reservedREDEFINE
Corda node architecture
Services
Vault
SGX
Messagin
Identity
RP
CorDapp
Message
CorDapCorDapCorDap
Relationa LDAP
Sys.
Mgt. Tools
Reportin
Corda
R3
Partner
Integration
Sandboxed
JVM
Flows
KeyMgt
Notary
2019 BSOS Project © All rights reservedREDEFINE
Corda Network: Detailed Overview
13
5
4
2
2
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
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 through which 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
1
3
2
4
5
2019 BSOS Project © All rights reservedREDEFINE
A Corda Network
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
• 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
2019 BSOS Project © All rights reservedREDEFINE
A Corda 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
But of course we want many of these business networks, andour
primary objective is for them to be able to interoperate..
Q&A
w w w. b s o s . t e c h
Thank You.

Weitere ähnliche Inhalte

Was ist angesagt?

Supporting trade finance with letters of credit on corda
Supporting trade finance with letters of credit on cordaSupporting trade finance with letters of credit on corda
Supporting trade finance with letters of credit on cordaR3
 
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 servicesRazi Rais
 
Blockchain 101 by imran bashir
Blockchain 101  by imran bashirBlockchain 101  by imran bashir
Blockchain 101 by imran bashirImran Bashir
 
Consensus Algorithms: An Introduction & Analysis
Consensus Algorithms: An Introduction & AnalysisConsensus Algorithms: An Introduction & Analysis
Consensus Algorithms: An Introduction & AnalysisZak Cole
 
Programming using MPI and OpenMP
Programming using MPI and OpenMPProgramming using MPI and OpenMP
Programming using MPI and OpenMPDivya Tiwari
 
Blockchain, cryptography, and consensus
Blockchain, cryptography, and consensusBlockchain, cryptography, and consensus
Blockchain, cryptography, and consensusITU
 
Transport Layer Security
Transport Layer SecurityTransport Layer Security
Transport Layer SecurityHuda Seyam
 
01 - Introduction to Hyperledger : A Blockchain Technology for Business
01 - Introduction to Hyperledger : A Blockchain Technology for Business01 - Introduction to Hyperledger : A Blockchain Technology for Business
01 - Introduction to Hyperledger : A Blockchain Technology for BusinessMerlec Mpyana
 
CCNA Basic Switching and Switch Configuration Questions
CCNA Basic Switching and Switch Configuration QuestionsCCNA Basic Switching and Switch Configuration Questions
CCNA Basic Switching and Switch Configuration QuestionsDsunte Wilson
 
Control Flow Graphs
Control Flow GraphsControl Flow Graphs
Control Flow Graphsdaimk2020
 
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
 
Consensus Algorithms.pptx
Consensus Algorithms.pptxConsensus Algorithms.pptx
Consensus Algorithms.pptxRajapriya82
 
Compiler Construction | Lecture 1 | What is a compiler?
Compiler Construction | Lecture 1 | What is a compiler?Compiler Construction | Lecture 1 | What is a compiler?
Compiler Construction | Lecture 1 | What is a compiler?Eelco Visser
 
Algorand Educate: Intro to Algorand
Algorand Educate: Intro to AlgorandAlgorand Educate: Intro to Algorand
Algorand Educate: Intro to AlgorandTinaBregovi
 
Begineers guide to cardano
Begineers guide to cardanoBegineers guide to cardano
Begineers guide to cardanozaarahary
 
Presentation(intermediate code generation)
Presentation(intermediate code generation)Presentation(intermediate code generation)
Presentation(intermediate code generation)Sourov Kumar Ron
 

Was ist angesagt? (20)

Supporting trade finance with letters of credit on corda
Supporting trade finance with letters of credit on cordaSupporting trade finance with letters of credit on corda
Supporting trade finance with letters of credit on corda
 
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
 
Blockchain 101 by imran bashir
Blockchain 101  by imran bashirBlockchain 101  by imran bashir
Blockchain 101 by imran bashir
 
Consensus Algorithms: An Introduction & Analysis
Consensus Algorithms: An Introduction & AnalysisConsensus Algorithms: An Introduction & Analysis
Consensus Algorithms: An Introduction & Analysis
 
Programming using MPI and OpenMP
Programming using MPI and OpenMPProgramming using MPI and OpenMP
Programming using MPI and OpenMP
 
Blockchain, cryptography, and consensus
Blockchain, cryptography, and consensusBlockchain, cryptography, and consensus
Blockchain, cryptography, and consensus
 
Transport Layer Security
Transport Layer SecurityTransport Layer Security
Transport Layer Security
 
01 - Introduction to Hyperledger : A Blockchain Technology for Business
01 - Introduction to Hyperledger : A Blockchain Technology for Business01 - Introduction to Hyperledger : A Blockchain Technology for Business
01 - Introduction to Hyperledger : A Blockchain Technology for Business
 
CCNA Basic Switching and Switch Configuration Questions
CCNA Basic Switching and Switch Configuration QuestionsCCNA Basic Switching and Switch Configuration Questions
CCNA Basic Switching and Switch Configuration Questions
 
Control Flow Graphs
Control Flow GraphsControl Flow Graphs
Control Flow Graphs
 
Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618
 
Ethereum-Cryptocurrency (All about Ethereum)
Ethereum-Cryptocurrency (All about Ethereum) Ethereum-Cryptocurrency (All about Ethereum)
Ethereum-Cryptocurrency (All about Ethereum)
 
Consensus Algorithms.pptx
Consensus Algorithms.pptxConsensus Algorithms.pptx
Consensus Algorithms.pptx
 
Compiler Construction | Lecture 1 | What is a compiler?
Compiler Construction | Lecture 1 | What is a compiler?Compiler Construction | Lecture 1 | What is a compiler?
Compiler Construction | Lecture 1 | What is a compiler?
 
Algorand Educate: Intro to Algorand
Algorand Educate: Intro to AlgorandAlgorand Educate: Intro to Algorand
Algorand Educate: Intro to Algorand
 
Begineers guide to cardano
Begineers guide to cardanoBegineers guide to cardano
Begineers guide to cardano
 
Presentation(intermediate code generation)
Presentation(intermediate code generation)Presentation(intermediate code generation)
Presentation(intermediate code generation)
 
PBFT
PBFTPBFT
PBFT
 
5 IEEE standards
5  IEEE standards5  IEEE standards
5 IEEE standards
 
BLOCK CHAIN
BLOCK CHAINBLOCK CHAIN
BLOCK CHAIN
 

Ähnlich wie BSOS x R3 Corda Meetup: Leading the way to blockchain-based banking

How to Build a Decentralized Blockchain App with the Oracle Blockchain Platform
How to Build a Decentralized BlockchainApp with the Oracle Blockchain PlatformHow to Build a Decentralized BlockchainApp with the Oracle Blockchain Platform
How to Build a Decentralized Blockchain App with the Oracle Blockchain PlatformJuarez Junior
 
Making Blockchain Real for Business Explained - ibm
Making Blockchain Real for Business Explained - ibmMaking Blockchain Real for Business Explained - ibm
Making Blockchain Real for Business Explained - ibmDiego Alberto Tamayo
 
Blockchain explained-v2.09
Blockchain explained-v2.09Blockchain explained-v2.09
Blockchain explained-v2.09Milan Hazra
 
Blockchain technology amplify your enterprise / IBM
Blockchain technology amplify your enterprise / IBMBlockchain technology amplify your enterprise / IBM
Blockchain technology amplify your enterprise / IBMDiego Alberto Tamayo
 
Blockchain, Hyperledger and the Oracle Blockchain Platform
Blockchain, Hyperledger and the Oracle Blockchain PlatformBlockchain, Hyperledger and the Oracle Blockchain Platform
Blockchain, Hyperledger and the Oracle Blockchain PlatformJuarez Junior
 
Blockchain-Explained-v2.09.pdf
Blockchain-Explained-v2.09.pdfBlockchain-Explained-v2.09.pdf
Blockchain-Explained-v2.09.pdfArvindKumar265041
 
Ibm system storage solutions handbook
Ibm system storage solutions handbook Ibm system storage solutions handbook
Ibm system storage solutions handbook Diego Alberto Tamayo
 
How to raise $100M for your healthcare startup via ICO: Breaking the myths of...
How to raise $100M for your healthcare startup via ICO: Breaking the myths of...How to raise $100M for your healthcare startup via ICO: Breaking the myths of...
How to raise $100M for your healthcare startup via ICO: Breaking the myths of...VSee
 
Learn The Fundamentals of Corda Development at 101Blockchains
Learn The Fundamentals of Corda Development at 101BlockchainsLearn The Fundamentals of Corda Development at 101Blockchains
Learn The Fundamentals of Corda Development at 101BlockchainsJackSmith435850
 
Iata blockchain presentation icaew suisse branch
Iata blockchain presentation   icaew suisse branchIata blockchain presentation   icaew suisse branch
Iata blockchain presentation icaew suisse branchTim Moss
 
BlockchainConf.tech - Hyperledger overview
BlockchainConf.tech - Hyperledger overviewBlockchainConf.tech - Hyperledger overview
BlockchainConf.tech - Hyperledger overviewPad Kankipati
 
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 DeFi Innovation Insights from Patents
Blockchain DeFi Innovation Insights from PatentsBlockchain DeFi Innovation Insights from Patents
Blockchain DeFi Innovation Insights from PatentsAlex G. Lee, Ph.D. Esq. CLP
 
B3i Community Conference Masterclass - Technical 'Intro to Corda' (2018-11)
B3i Community Conference Masterclass - Technical 'Intro to Corda' (2018-11)B3i Community Conference Masterclass - Technical 'Intro to Corda' (2018-11)
B3i Community Conference Masterclass - Technical 'Intro to Corda' (2018-11)Red Morley Hewitt
 
Fibo proof of concept for blockchain applications
Fibo proof of concept for blockchain applicationsFibo proof of concept for blockchain applications
Fibo proof of concept for blockchain applicationsMike Bennett
 
Smart contractjp smartcontract_about
Smart contractjp smartcontract_aboutSmart contractjp smartcontract_about
Smart contractjp smartcontract_aboutTomoaki Sato
 
Ibp technical introduction
Ibp technical introductionIbp technical introduction
Ibp technical introductionLennartF
 

Ähnlich wie BSOS x R3 Corda Meetup: Leading the way to blockchain-based banking (20)

How to Build a Decentralized Blockchain App with the Oracle Blockchain Platform
How to Build a Decentralized BlockchainApp with the Oracle Blockchain PlatformHow to Build a Decentralized BlockchainApp with the Oracle Blockchain Platform
How to Build a Decentralized Blockchain App with the Oracle Blockchain Platform
 
Making Blockchain Real for Business Explained - ibm
Making Blockchain Real for Business Explained - ibmMaking Blockchain Real for Business Explained - ibm
Making Blockchain Real for Business Explained - ibm
 
Blockchain explained-v2.09
Blockchain explained-v2.09Blockchain explained-v2.09
Blockchain explained-v2.09
 
Blockchain Explained for Devlopers
Blockchain Explained for DevlopersBlockchain Explained for Devlopers
Blockchain Explained for Devlopers
 
Blockchain and Competition – CORBETT – June 2018 OECD discussion
Blockchain and Competition – CORBETT – June 2018 OECD discussionBlockchain and Competition – CORBETT – June 2018 OECD discussion
Blockchain and Competition – CORBETT – June 2018 OECD discussion
 
Blockchain technology amplify your enterprise / IBM
Blockchain technology amplify your enterprise / IBMBlockchain technology amplify your enterprise / IBM
Blockchain technology amplify your enterprise / IBM
 
Blockchain, Hyperledger and the Oracle Blockchain Platform
Blockchain, Hyperledger and the Oracle Blockchain PlatformBlockchain, Hyperledger and the Oracle Blockchain Platform
Blockchain, Hyperledger and the Oracle Blockchain Platform
 
Blockchain-Explained-v2.09.pdf
Blockchain-Explained-v2.09.pdfBlockchain-Explained-v2.09.pdf
Blockchain-Explained-v2.09.pdf
 
Ibm system storage solutions handbook
Ibm system storage solutions handbook Ibm system storage solutions handbook
Ibm system storage solutions handbook
 
How to raise $100M for your healthcare startup via ICO: Breaking the myths of...
How to raise $100M for your healthcare startup via ICO: Breaking the myths of...How to raise $100M for your healthcare startup via ICO: Breaking the myths of...
How to raise $100M for your healthcare startup via ICO: Breaking the myths of...
 
Learn The Fundamentals of Corda Development at 101Blockchains
Learn The Fundamentals of Corda Development at 101BlockchainsLearn The Fundamentals of Corda Development at 101Blockchains
Learn The Fundamentals of Corda Development at 101Blockchains
 
Introduction to Blockchain
Introduction to BlockchainIntroduction to Blockchain
Introduction to Blockchain
 
Iata blockchain presentation icaew suisse branch
Iata blockchain presentation   icaew suisse branchIata blockchain presentation   icaew suisse branch
Iata blockchain presentation icaew suisse branch
 
BlockchainConf.tech - Hyperledger overview
BlockchainConf.tech - Hyperledger overviewBlockchainConf.tech - Hyperledger overview
BlockchainConf.tech - Hyperledger overview
 
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 DeFi Innovation Insights from Patents
Blockchain DeFi Innovation Insights from PatentsBlockchain DeFi Innovation Insights from Patents
Blockchain DeFi Innovation Insights from Patents
 
B3i Community Conference Masterclass - Technical 'Intro to Corda' (2018-11)
B3i Community Conference Masterclass - Technical 'Intro to Corda' (2018-11)B3i Community Conference Masterclass - Technical 'Intro to Corda' (2018-11)
B3i Community Conference Masterclass - Technical 'Intro to Corda' (2018-11)
 
Fibo proof of concept for blockchain applications
Fibo proof of concept for blockchain applicationsFibo proof of concept for blockchain applications
Fibo proof of concept for blockchain applications
 
Smart contractjp smartcontract_about
Smart contractjp smartcontract_aboutSmart contractjp smartcontract_about
Smart contractjp smartcontract_about
 
Ibp technical introduction
Ibp technical introductionIbp technical introduction
Ibp technical introduction
 

Kürzlich hochgeladen

UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 

Kürzlich hochgeladen (20)

UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 

BSOS x R3 Corda Meetup: Leading the way to blockchain-based banking

  • 1. 2018 BSOS Project © All rights reserved REDEFINE the Future of Supply Chain Intro to R3 Corda: Leading the way to blockchain-based banking
  • 2. 2019 BSOS Project © All rights reserved2019 BSOS Project © All rights reservedREDEFINE the Future of Supply Chain Agenda • Overview • Corda Features • Corda Technical Details and Network Deployment • Q&A
  • 3. 2019 BSOS Project © All rights reservedREDEFINE Distributed ledgers at a glance Distributed ledgers are systems that enable parties who don’t fully trust each other to form and maintain consensus about the existence, status and evolution of a set of shared facts.
  • 4. 2019 BSOS Project © All rights reservedREDEFINE Defining characteristic of a distributed ledger Cryptography to ensure identity authentication for each transaction Non-repudiation/immutability to preserve integrity of data and create an audit trail Smart contracts for the automatic execution of business logic when certain criteria are met Shared ledger so each participant sees the same view of the same data, updated in real time, subject to permissioning Distributed consensus to ensure the state of the ledger represents the agreed-upon truth of all stakeholders Ledgers Distributed Ledgers Blockchains Non-blockchains
  • 5. 2019 BSOS Project © All rights reservedREDEFINE Corda: A unique shared ledger approach Blockchain-inspired: takes best attributes from Bitcoin, Ethereum, and others. Enterprise grade: built specifically for financial markets. Data privacy: transactions info propagated only to relevant nodes. Consensus: achieved at individual deal level, rather than system level. Supports a variety of consensus mechanisms. Regulator-focused: design directly enables regulatory/supervisor observer nodes. Smart contract: strong link between legal prose and smart contract code. Easy integration: reuse existing developer skills and make integration with bank systems easy and safe. Query and join the ledger to existing DBs with SQL, and code contracts in modern, standard languages like Java.
  • 7. 2019 BSOS Project © All rights reservedREDEFINE Corda salient features • 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
  • 8. 2019 BSOS Project © All rights reservedREDEFINE The Corda Ledger 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)
  • 9. 2019 BSOS Project © All rights reservedREDEFINE Anatomy of a bilateral ledger 11 • 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
  • 10. 2019 BSOS Project © All rights reservedREDEFINE Corda: Key Concepts - Flows Flows are light-weight processes used to coordinate interactions required for peers to reach consensus about shared facts. ALICE BOB NOTARY • With Corda, peers communicate on a point to point basis • Most distributed ledger platforms use message broadcasting and gossip networks to share data • To communicate, peers must specify message recipients • Recall that to commit a transaction, multiple peers are often required to sign and verify it • To commit a transaction proposal, a workflow or “flow” of messaging, signing, verifying, among other things, is required • Peers on a Corda network may have thousands of counter-parties and hundreds of thousands of concurrent flows
  • 11. 2019 BSOS Project © All rights reservedREDEFINE Corda: Key Concepts of a transaction Transaction Transactions consume input states and create output states. The newly created output states replace the input states which are marked as historic. INPUT STATE OUTPUT STATE State Object States are immutable objects that represent (shared) facts such as a financial agreement or contract at a specific point in time IOU CONTRACT REF IOU STATE PROPERTIES From: Alice To:Bob Amount: £10 Due: 01/03/2017 Paid: £5 Penalty: 20% PARTICIPANTS Alic e Bob 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.
  • 12. 2019 BSOS Project © All rights reservedREDEFINE Transactions • Any peer may create a transaction proposal • Transaction proposals are uncommitted by default • Before a transaction proposal is committed it must first be digitally signed and then verified and by all required peers on a need-to-know basis • Once a transaction is committed it marks the input state references as historic and creates new output states reflecting an updated ledger INPUT STATE OUTPUT STATE
  • 13. 2019 BSOS Project © All rights reservedREDEFINE Two types of consensus Peers reach consensus over transactions in two ways In Corda, verification consensus involves peers reaching certainty that a transaction: • is signed by all required peers listed in the commands of a flow; • and satisfies the constraints defined by the contracts pointed to by the input and output states. The “double spend” problem for on-ledger issued assets can be mitigated with uniqueness consensus • Uniqueness consensus is provided by notary services • When a state is issued on-ledger it is assigned a notary service • The assigned notary ensures the state is not used as an input to a transaction more than once for the duration of the state’s lifecycle on-ledger • The point of transaction finality is reached when the specified notary service signs the transaction
  • 14. 2019 BSOS Project © All rights reservedREDEFINE Verification Consensus • In most cases, verification consensus on newly-proposed transactions is performed only by the peers involved • However, depending on the state types included in a transaction, this may not always be the case • Lazy Propagation • Some peers that were not initially involved in a transaction, may still need to see and verify the transaction Transaction INPUT STATE OUTPUT STATE Consensus
  • 15. 2019 BSOS Project © All rights reservedREDEFINE Verification Consensus: Lazy Propagation Example - Alice has a state representing £10 of cash issued to her by Charlie
  • 16. 2019 BSOS Project © All rights reservedREDEFINE - Bob receives a transaction proposal from Alice to settle their £10 IOU. (Alice wants to use the £10 cash that Charlie issued to her to pay Bob.) Verification Consensus: Lazy Propagation Example
  • 17. 2019 BSOS Project © All rights reservedREDEFINE Verification Consensus: Lazy Propagation Example - Bob verifies the proposed transaction from Alice before he signs it. But is this enough to satisfy Bob?
  • 18. 2019 BSOS Project © All rights reservedREDEFINE Verification Consensus: Lazy Propagation Example - Bob not only needs to validate the proposed transaction from Alice (the £10 IOU), he also needs to validate the state representing the £10 of cash issued to Alice by Charlie
  • 19. 2019 BSOS Project © All rights reservedREDEFINE Verification Consensus: Lazy Propagation Example Conclusion: • Bob should verify the previous transactions in order to validate that the £10 he is owed by Alice is both • An input state to the transaction Alice has proposed • An actual claim against Charlie, the issuer
  • 20. 2019 BSOS Project © All rights reservedREDEFINE Uniqueness Consensus: Notary • We can think of the notary as a bucket. • If the input state that is referenced is already in the bucket, then the notary has already seen it before. • If this is the case, the notary will throw an exception and refuse to sign. • If it’s not in the bucket, then the notary has not seen it before. • The transaction will be notarized and considered final • All of the input states will be added to the bucket • Finally, the notary will sign and commit the transaction
  • 21. 2019 BSOS Project © All rights reservedREDEFINE Uniqueness Consensus: Notary • Verifying • They undergo the same workflow, but add an additional step to perform transaction verification • This requires the verifying notary to see the transaction's input and output states, as well as all historical transactions. • Non-verifying • Only check to see if the input state references are already historic or not • Do not perform verification over transactions
  • 22. 2019 BSOS Project © All rights reservedREDEFINE Uniqueness Consensus: Notary • Many notaries can exist on a Corda Network and operate in parallel. • The notaries can be used in a variety of different ways, using different consensus algorithms, running in parallel to suit different needs. • With multiple single-machine notaries • Multiple notaries that consist of clusters of nodes, using a consensus algorithm (like Raft). • Untrusting nodes running a consensus algorithm that is BFT (byzantine fault tolerant). • Notaries can be operated by any network peer
  • 23. 2019 BSOS Project © All rights reservedREDEFINE Example: Cash Transfer Flow verification consensus Uniqueness consensus
  • 24. 2019 BSOS Project © All rights reservedREDEFINE Corda Wrap ups Peers to Peers Notary Two types of Consensus Need-to-Know Verification Uniqueness Verifying Non-verifying
  • 25. Corda Technical Details and Network Deployment
  • 26. 2019 BSOS Project © All rights reservedREDEFINE Network overview A Corda network is comprised of: • A doorman • Two or more Corda nodes • A network map service • One or more notary services • Zero or more oracles
  • 27. 2019 BSOS Project © All rights reservedREDEFINE Corda node architecture Services Vault SGX Messagin Identity RP CorDapp Message CorDapCorDapCorDap Relationa LDAP Sys. Mgt. Tools Reportin Corda R3 Partner Integration Sandboxed JVM Flows KeyMgt Notary
  • 28. 2019 BSOS Project © All rights reservedREDEFINE Corda Network: Detailed Overview 13 5 4 2 2 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 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 through which 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 1 3 2 4 5
  • 29. 2019 BSOS Project © All rights reservedREDEFINE A Corda Network 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 • 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
  • 30. 2019 BSOS Project © All rights reservedREDEFINE A Corda 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 But of course we want many of these business networks, andour primary objective is for them to be able to interoperate..
  • 31. Q&A
  • 32. w w w. b s o s . t e c h Thank You.