SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
ITU Workshop on “Security Aspects of Blockchain”
(Geneva, Switzerland, 21 March 2017)
Blockchain, cryptography, and consensus
Dr. Christian Cachin
IBM Research - Zurich
www.zurich.ibm.com/~cca/
Geneva, Switzerland, 21 March 2017
Geneva, 21. March 2017
Connected markets
‣ Networks connect participants
– Customers, suppliers, banks, consumers
‣ Markets organize trades
– Public and private markets
‣ Value comes from assets
– Physical assets (house, car ...)
– Virtual assets (bond, patent ...)
– Services are also assets
‣ Transactions exchange assets
Geneva, 21. March 2017
Ledger
‣ Ledger records all business activity as
transactions
– Databases
‣ Every market and network defines a
ledger
‣ Ledger records asset transfers between
participants
‣ Problem — (Too) many ledgers
– Every market has its ledger
– Every organization has its own ledger
Geneva, 21. March 2017
Multiple ledgers
‣ Every party keeps its own
ledger and state
‣ Problems, incidents, faults
‣ Diverging ledgers
Ledger
C
Ledger
B
Ledger
E
Ledger
F
Ledger
A Alice
Bob
Charlie
Frank
Eve
Ledger
D
Dave
Geneva, 21. March 2017
Blockchain provides one virtual ledger
‣ One common trusted ledger
‣ Today often implemented by a
centralized intermediary
‣ Blockchain creates one single
ledger for all parties
‣ Replicated and produced
collaboratively
‣ Trust in ledger from
– Cryptographic protection
– Distributed validation
Alice Charlie
Frank Dave
One
Ledger
Bob
Eve
Geneva, 21. March 2017
Consensus
Four elements characterize Blockchain
Replicated ledger Cryptography
Business logic
● Logic embedded in the ledger
● Executed together with transactions
● From simple "coins" to self-enforcing
"smart contracts"
● History of all transactions
● Append-only with immutable past
● Distributed and replicated
● Decentralized protocol
● Shared control tolerating disruption
● Transactions validated
● Integrity of ledger
● Authenticity of transactions
● Privacy of transactions
● Identity of participants
Geneva, 21. March 2017
Blockchain simplifies complex transactions
Logistics Property records Capital markets
Faster settlement times
Increased credit availability
Transparency & verifiability
No reconciliation cost
Real-time visibility
Improved efficiency
Transparency & verifiability
Reduced cost
Digital but unforgeable
Fewer disputes
Transparency & verifiability
Lower transfer fees
Geneva, 21. March 2017
Why blockchain now?
‣ Cryptography has been a key technology in the financial world for decades
– Payment networks, ATM security, smart cards, online banking ...
‣ Trust model of (financial) business has not changed
– Trusted intermediary needed for exchange among non-trusting partners
– Today cryptography mostly secures point-to-point interactions
‣ Bitcoin started in 2009
– Embodies only cryptography of 1990s and earlier
– First prominent use of cryptography for a new trust model (= trust no entity)
‣ The promise of Blockchain – Reduce trust and replace it by technology
– Exploit advanced cryptographic techniques
Geneva, 21. March 2017
What is a blockchain?
Geneva, 21. March 2017
A state machine
‣ Functionality F
– Operation o transforms a state s to new state s' and may generate a response r
(s', r) ← F(s, o)
‣ Validation condition
– Operation needs to be valid, in current state, according to a predicate P()
o
s s' / r
o
s s' / r
P(s,o) = TRUE
Geneva, 21. March 2017
Blockchain state machine
‣ Append-only log
– Every operation o appends a "block" of valid transactions (tx) to the log
‣ Log content is verifiable from the most recent element
‣ Log entries form a hash chain
ht ← Hash( [tx1, tx2, ... ] || ht-1 || t) .
o
s s'
Geneva, 21. March 2017
Example – The Bitcoin state machine
‣ Bitcoins are unforgeable bitstrings
– "Mined" by the protocol itself (see later)
‣ Digital signature keys (ECDSA) own and transfer bitcoins
– Owners are pseudonymous, e.g., 3JDs4hAZeKE7vER2YvmH4yTMDEfoA1trnC
‣ Every transaction transfers a bitcoin (fraction) from current to next owner
– "This bitcoin now belongs to 3JDs..." signed by the key of current owner
– (Flow linkable by protocol, and not anonymous when converted to real-world assets)
‣ Validation is based on the global history of past transactions
– Signer has received the bitcoin before
– Signer has not yet spent the bitcoin
Geneva, 21. March 2017
Distributed p2p protocol to create a ledger
o1 o2 o3
s0 s1 s2 s3
Nodes run a
protocol to
construct the
ledger
Nodes
produce
transactions
Geneva, 21. March 2017
Blockchain protocol features
‣ Only "valid" operations (transactions) are "executed"
‣ Transactions can be simple
– Bitcoin tx are statement of ownership for coins, digitally signed
"This bitcoin now belongs to K2" signed by K1
‣ Transactions can be arbitrary code (smart contracts)
– Embody logic that responds to events (on blockchain) and may transfer assets in
response
– Auctions, elections, investment decisions, blackmail ...
Geneva, 21. March 2017
Consensus
Geneva, 21. March 2017
Decentralized – Nakamoto consensus/Bitcoin
‣ Nodes prepare blocks
– List of transactions (tx)
– All tx valid
‣ Lottery race
– Solves a hard puzzle
– Selects a random
winner/leader
– Winner's operation/
block is executed and
"mines" a coin
‣ All nodes verify and
validate new block
– "Longest" chain wins
Geneva, 21. March 2017
Decentralized = permissionless
‣ Survives censorship and suppression
– No central entity
‣ Nakamoto consensus requires proof-of-work (PoW)
– Original intent: one CPU, one vote
– Majority of hashing power controls network
– Gives economic incentive to participate (solution to PoW is a newly "mined" Bitcoin)
‣ Today, total hashing work consumes a lot of electricity
– Estimates vary, 250-1000MW, from a major city to a small country ...
‣ Protocol features
– Stability is a tradeoff between dissemination of new block (10s-20s) and mining rate
(new block on average every 10min)
– Decisions are not final ("wait until chain is 6 blocks longer before a tx is confirmed")
Geneva, 21. March 2017
Decentralized – deployment
‣ Bitcoin
– Many (100s? 1000s?) of alt-coins and blockchains
‣ Ethereum
– First digital currency with general-purpose smart contract execution
‣ Sawtooth ledger (Intel contribution to Hyperledger)
– PoET consensus (proof of elapsed time)
● Nodes run PoET program in "trusted execution environment" (Intel SGX)
● PoET waits a random amount of time (say, E[wait] = 10min)
● Creates an attested proof of elapsed time
● Rest like in Bitcoin protocol
Geneva, 21. March 2017
Consortium consensus (BFT, Hyperledger)
‣ Designated set of
homogeneous
validator nodes
‣ BFT/Byzantine agreement
– Tolerates f-out-of-n faulty/
adversarial nodes
– Generalized quorums
‣ Tx sent to consensus
nodes
‣ Consensus validates tx,
decides, and disseminates
result
Geneva, 21. March 2017
Consortium consensus = permissioned
‣ Central entity controls group membership
– Dynamic membership changes in protocol
– Membership may be decided inline, by protocol itself
‣ Well-understood problem in distributed computing
– BFT and consensus studied since ca. 1985
● Clear assumptions and top-down design
● 700 protocols and counting [AGK+15]
● Textbooks [CGR11]
● Open-source implementations (BFT-SMaRT)
– Many systems already provide crash tolerant consensus (Chubby, Zookeeper, etcd ...)
– Requires Ω(n2) communication (OK for 10-100 nodes, not > 1000s)
‣ Revival of research in BFT protocols
– Focus on scalability and communication efficiency
Geneva, 21. March 2017
Consortium consensus – under development
‣ Hyperledger fabric (IBM's contribution to Hyperledger)
– Includes PBFT protocol [CL02]
‣ Tendermint, Juno/Kadena, JPMC Quorum, Axoni, Iroha, Chain and others
‣ HoneyBadgerBFT [MXC+16]
– Revisits practical randomized BFT [CKPS01], including amoritzation
‣ Many existing BFT libraries predate blockchain
– BFT-SMaRT, Univ. Lisbon (github.com/bft-smart/library)
– Prime, Johns Hopkins Univ. (www.dsn.jhu.edu/byzrep/prime.html)
Geneva, 21. March 2017
Scalability–performance tradeoff
M. Vukolic: The Quest for Scalable Blockchain Fabric: Proof-of-Work vs. BFT Replication.
Proc. iNetSec 2015, LNCS 9591.
Geneva, 21. March 2017
Validation
Geneva, 21. March 2017
Validation of transactions – PoW protocols
‣ Recall validation predicate P on state s and operation o: P(s, o)
‣ When constructing a block, the node
– Validates all contained tx
– Decides on an ordering within block
‣ When a new block is propagated, all nodes must validate the block and its tx
– Simple for Bitcoin – verify digital signatures and that coins are unspent
– More complex and costly for Ethereum – re-run all the smart-contract code
‣ Validation can be expensive
– Bitcoin blockchain contains the log of all tx – 97GB as of 1/2017
(https://blockchain.info/charts/blocks-size)
Geneva, 21. March 2017
Validation of transactions – BFT protocols
‣ Properties of ordinary Byzantine consensus
– Weak Validity: Suppose all nodes are correct: if all propose v, then a node may only
decide v; if a node decides v, then v was proposed by some node.
– Agreement: No two correct nodes decide differently.
– Termination: Every correct node eventually decides.
‣ Standard validity notions do not connect to the application!
‣ Need validity anchored at external predicate [CKPS01]
– External validity: Given predicate P, known to every node, if a correct node decides v,
then P(v); additionally, v was proposed by some node.
– Can be implemented with digital signatures on input tx
Geneva, 21. March 2017
Public validation vs. private state
‣ So far everything on blockchain is public – where is privacy?
‣ Use cryptography – keep state "off-chain" and produce verifiable tx
– In Bitcoin, verification is a digital signature by key that owns coin
– In ZeroCash [BCG+14], blockchain holds committed coins and transfers use zero-
knowledge proofs (zk-SNARKS) validated by P
– Hawk [KMS+16] uses verifiable computation (VC)
● Computation using VC performed off-chain by involved parties
● P checks correctness of proof for VC
‣ Private computation requires additional assumption (MPC, trusted HW ...)
Geneva, 21. March 2017
Security and privacy
‣ Transactional privacy
– Anonymity or pseudonymity through cryptographic tools
– Some is feasible today (e.g., anonymous credentials in IBM Identity Mixer)
‣ Contract privacy
– Distributed secure cryptographic computation on encrypted data
‣ Accountability & non-repudiation
– Identity and cryptographic signatures
‣ Auditability & transparency
– Cryptographic hash chain
‣ Many of these need advanced cryptographic protocols
Geneva, 21. March 2017
Hyperledger Fabric
Geneva, 21. March 2017
Hyperledger project
‣ Open-source collaboration under Linux Foundation
– www.hyperledger.org
– Hyperledger unites industry leaders to advance blockchain technology (Dec. '15)
– 100 members in Jan. '17
‣ Develops enterprise-grade, open-source distributed ledger technology
‣ Code contributions from several members
‣ Fabric is the IBM-started contribution – github.com/hyperledger/fabric/
– Security architecture and consensus protocols from IBM Research - Zurich
Geneva, 21. March 2017
Geneva, 21. March 2017
Hyperledger Fabric
‣ Enterprise-grade consortium blockchain and distributed ledger framework
– A blockchain implementation in the Hyperledger Project
‣ Developed open-source, by IBM and others (DAH, LSEG ...)
– github.com/hyperledger/fabric
– Initially called 'openblockchain' and donated by IBM to Hyperledger project
– Actively developed, IBM and IBM Zurich play key roles
‣ Technical details
– Implemented in GO
– Runs smart contracts ("chaincode") within Docker containers
– Implements consortium blockchain using traditional consensus (BFT, Paxos)
Geneva, 21. March 2017
Hyperledger Fabric details (V0.6)
‣ Peers (validating peers and non-validating peers)
– GO and other languages, gRPC over HTTP/2
– Validating peers (all running consensus) and non-validating peers
‣ Membership service issues identity-certificates and transaction-certificates
‣ Transactions
– Deploy new chaincode / Invoke an operation / Read state
– Chaincode is arbitrary GO program running in a Docker container
‣ State is a key-value store (RocksDB)
– Put, get ... no other state must be held in chaincode
– Non-validating peers store state and execute transactions
‣ Hash chain computed over state (and possibly transactions)
Geneva, 21. March 2017
Towards Hyperledger Fabric V1
‣ Separate the functions of nodes into endorsers and consensus nodes
– Every chaincode may have different endorsers
– Endorsers have state, run tx, and validate tx for their chaincode
– Chaincode specifies endorsement policy
– Consensus nodes order endorsed and already-validated tx
– All peers apply all state changes in order, only for properly endorsed tx
‣ Functions as replicated database maintained by peers [PWSKA00, KJP10]
– Replication via (BFT) atomic broadcast in consensus
– Endorsement protects against unauthorized updates
‣ Scales better – only few nodes execute, independent computations in parallel
‣ Permits some confidential data on blockchain via partitioning state
 Data seen only by endorsers assigned to run that chaincode
Geneva, 21. March 2017
Separation of endorsement from consensus
‣ Validation is by chaincode
‣ Dedicated endorsers
per chaincode
‣ Consensus service
– Only communication
– Pub/sub messaging
– Ordering for endorsed tx
‣ State and hash chain
are common
– State may be encrypted
Consensus service
only orders tx
Per-chaincode
endorsers
Geneva, 21. March 2017
Transactions in Fabric V1
‣ Client
– Produces a tx (operation) for some chaincode (smart contract)
‣ Submitter peer
– Execute/simulates tx with chaincode
– Records state values accessed, but does not change state  readset/writeset
‣ Endorsing peer
– Re-executes tx with chaincode and verifies readset/writeset
– Endorses tx with a signature on readset/writeset
‣ Consensus service
– Orders the endorsed tx, produces ordered stream of tx
– Filters out the not properly endorsed tx, according to chaincode endorsement policy
‣ All peers
– Disseminate tx from consensus service with p2p communication (gossip)
– Execute state changes from readset/writeset of valid tx, in order
Geneva, 21. March 2017
Modular consensus in Fabric V1
‣ "Solo orderer"
– One host only, acting as specification during development (ideal functionality)
‣ Apache Kafka, a distributed pub/sub streaming platform
– Tolerates crashes among member nodes, has Apache Zookeeper
– Focus on high throughput
‣ SBFT - A simple implementation of Practical Byzantine Fault Tolerance (PBFT)
– Tolerates f < n/3 Byzantine faulty nodes among n
– Focus on resilience
Geneva, 21. March 2017
Conclusion
Geneva, 21. March 2017
Conclusion
‣ Blockchain enables new trust models
‣ Many interesting technologies
– Distributed computing for consensus
– Cryptography for integrity, privacy, anonymity
‣ We are only at the beginning
‣ Blockchain = Distributing trust over the Internet
– www.hyperledger.org
– www.ibm.com/blockchain/
– www.research.ibm.com/blockchain/

Contenu connexe

Tendances

Blockchain Training | Blockchain Tutorial for Beginners | Blockchain Technolo...
Blockchain Training | Blockchain Tutorial for Beginners | Blockchain Technolo...Blockchain Training | Blockchain Tutorial for Beginners | Blockchain Technolo...
Blockchain Training | Blockchain Tutorial for Beginners | Blockchain Technolo...Edureka!
 
Blockchain Tutorial For Beginners - 2 | Blockchain Technology | Blockchain Tu...
Blockchain Tutorial For Beginners - 2 | Blockchain Technology | Blockchain Tu...Blockchain Tutorial For Beginners - 2 | Blockchain Technology | Blockchain Tu...
Blockchain Tutorial For Beginners - 2 | Blockchain Technology | Blockchain Tu...Simplilearn
 
Examples of Smart Contracts
Examples of Smart ContractsExamples of Smart Contracts
Examples of Smart Contracts101 Blockchains
 
Blockchain basics
Blockchain basicsBlockchain basics
Blockchain basicsRomit Bose
 
Block chain technology and its applications
Block chain technology and its applications Block chain technology and its applications
Block chain technology and its applications ABHISHEK JAIN
 
Blockchain Security and Privacy
Blockchain Security and PrivacyBlockchain Security and Privacy
Blockchain Security and PrivacyAnil John
 
Secure Socket Layer
Secure Socket LayerSecure Socket Layer
Secure Socket LayerNaveen Kumar
 
Key management and distribution
Key management and distributionKey management and distribution
Key management and distributionRiya Choudhary
 
Blockchain Technology | Blockchain Explained | Blockchain Tutorial | Blockcha...
Blockchain Technology | Blockchain Explained | Blockchain Tutorial | Blockcha...Blockchain Technology | Blockchain Explained | Blockchain Tutorial | Blockcha...
Blockchain Technology | Blockchain Explained | Blockchain Tutorial | Blockcha...Edureka!
 
Blockchain Technology Fundamentals
Blockchain Technology FundamentalsBlockchain Technology Fundamentals
Blockchain Technology FundamentalsExperfy
 
Consensus Algorithms.pptx
Consensus Algorithms.pptxConsensus Algorithms.pptx
Consensus Algorithms.pptxRajapriya82
 
Introduction to Cryptography
Introduction to CryptographyIntroduction to Cryptography
Introduction to CryptographyMd. Afif Al Mamun
 
Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...
Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...
Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...Simplilearn
 
Understanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
Understanding Proof of Work (PoW) and Proof of Stake (PoS) AlgorithmsUnderstanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
Understanding Proof of Work (PoW) and Proof of Stake (PoS) AlgorithmsGautam Anand
 
Cryptography in Blockchain
Cryptography in BlockchainCryptography in Blockchain
Cryptography in BlockchainEC-Council
 

Tendances (20)

Blockchain Training | Blockchain Tutorial for Beginners | Blockchain Technolo...
Blockchain Training | Blockchain Tutorial for Beginners | Blockchain Technolo...Blockchain Training | Blockchain Tutorial for Beginners | Blockchain Technolo...
Blockchain Training | Blockchain Tutorial for Beginners | Blockchain Technolo...
 
Blockchain Tutorial For Beginners - 2 | Blockchain Technology | Blockchain Tu...
Blockchain Tutorial For Beginners - 2 | Blockchain Technology | Blockchain Tu...Blockchain Tutorial For Beginners - 2 | Blockchain Technology | Blockchain Tu...
Blockchain Tutorial For Beginners - 2 | Blockchain Technology | Blockchain Tu...
 
Examples of Smart Contracts
Examples of Smart ContractsExamples of Smart Contracts
Examples of Smart Contracts
 
Blockchain basics
Blockchain basicsBlockchain basics
Blockchain basics
 
Block chain technology and its applications
Block chain technology and its applications Block chain technology and its applications
Block chain technology and its applications
 
Blockchain Security and Privacy
Blockchain Security and PrivacyBlockchain Security and Privacy
Blockchain Security and Privacy
 
Secure Socket Layer
Secure Socket LayerSecure Socket Layer
Secure Socket Layer
 
Key management and distribution
Key management and distributionKey management and distribution
Key management and distribution
 
Blockchain
BlockchainBlockchain
Blockchain
 
Blockchain Technology | Blockchain Explained | Blockchain Tutorial | Blockcha...
Blockchain Technology | Blockchain Explained | Blockchain Tutorial | Blockcha...Blockchain Technology | Blockchain Explained | Blockchain Tutorial | Blockcha...
Blockchain Technology | Blockchain Explained | Blockchain Tutorial | Blockcha...
 
Blockchain Technology Fundamentals
Blockchain Technology FundamentalsBlockchain Technology Fundamentals
Blockchain Technology Fundamentals
 
Consensus Algorithms.pptx
Consensus Algorithms.pptxConsensus Algorithms.pptx
Consensus Algorithms.pptx
 
Key management
Key managementKey management
Key management
 
Introduction to Cryptography
Introduction to CryptographyIntroduction to Cryptography
Introduction to Cryptography
 
Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...
Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...
Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...
 
Blockchain
BlockchainBlockchain
Blockchain
 
Understanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
Understanding Proof of Work (PoW) and Proof of Stake (PoS) AlgorithmsUnderstanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
Understanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
 
Blockchain concepts
Blockchain conceptsBlockchain concepts
Blockchain concepts
 
Cryptography in Blockchain
Cryptography in BlockchainCryptography in Blockchain
Cryptography in Blockchain
 
Blockchain
BlockchainBlockchain
Blockchain
 

Similaire à Blockchain, cryptography, and consensus

Introduction to Blockchain
Introduction to BlockchainIntroduction to Blockchain
Introduction to BlockchainSanjeev Mishra
 
Blockchain, smart contracts - introduction
Blockchain, smart contracts - introductionBlockchain, smart contracts - introduction
Blockchain, smart contracts - introductionLukasz Jarmulowicz
 
Payment Protocols - Block Chain & Beyond
Payment Protocols - Block Chain & BeyondPayment Protocols - Block Chain & Beyond
Payment Protocols - Block Chain & BeyondAlexander Kiriakou
 
Blockchain technology in (life) sciences
Blockchain technology in (life) sciencesBlockchain technology in (life) sciences
Blockchain technology in (life) sciencesBarbera van Schaik
 
Blockchain (and Bitcoin)
Blockchain (and Bitcoin) Blockchain (and Bitcoin)
Blockchain (and Bitcoin) Nitin Jain
 
Blockchain overview, use cases, implementations and challenges
Blockchain overview, use cases, implementations and challengesBlockchain overview, use cases, implementations and challenges
Blockchain overview, use cases, implementations and challengesSébastien Tandel
 
Smart Contracts - The Blockchain Beyond Bitcoin
Smart Contracts - The Blockchain Beyond BitcoinSmart Contracts - The Blockchain Beyond Bitcoin
Smart Contracts - The Blockchain Beyond BitcoinJim McKeeth
 
Blockchain architected
Blockchain architectedBlockchain architected
Blockchain architectedIBM Sverige
 
BCHGraz - Meetup #8 - Intro & Ethereum
 BCHGraz - Meetup #8 - Intro & Ethereum BCHGraz - Meetup #8 - Intro & Ethereum
BCHGraz - Meetup #8 - Intro & EthereumBlockchainHub Graz
 
Uses of Blockchain Technology in the agrifood system
Uses of Blockchain Technology in the agrifood systemUses of Blockchain Technology in the agrifood system
Uses of Blockchain Technology in the agrifood systemChristopher Brewster
 
Blockchain based Banking System
Blockchain based Banking SystemBlockchain based Banking System
Blockchain based Banking SystemGaurav Singh
 
Simone Bronzini - Weaknesses of blockchain applications - Codemotion Milan 2018
Simone Bronzini - Weaknesses of blockchain applications - Codemotion Milan 2018Simone Bronzini - Weaknesses of blockchain applications - Codemotion Milan 2018
Simone Bronzini - Weaknesses of blockchain applications - Codemotion Milan 2018Codemotion
 
Bitcoin for programmers - part 1 version 2
Bitcoin for programmers - part 1 version 2Bitcoin for programmers - part 1 version 2
Bitcoin for programmers - part 1 version 2Wojciech Langiewicz
 
Paradigm shift: from the bitcoin Blockchain to Networked Computing
Paradigm shift: from the bitcoin Blockchain to Networked ComputingParadigm shift: from the bitcoin Blockchain to Networked Computing
Paradigm shift: from the bitcoin Blockchain to Networked Computingkumar641
 
Blockchain, bitcoin
Blockchain, bitcoinBlockchain, bitcoin
Blockchain, bitcoinSathish VJ
 
Understanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
Understanding Bitcoin (Blockchain) and its Potential for Disruptive ApplicationsUnderstanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
Understanding Bitcoin (Blockchain) and its Potential for Disruptive ApplicationsIndicThreads
 
Introduction to Bitcoin for programmers
Introduction to Bitcoin for programmersIntroduction to Bitcoin for programmers
Introduction to Bitcoin for programmersWojciech Langiewicz
 

Similaire à Blockchain, cryptography, and consensus (20)

Blockchain introduction
Blockchain introductionBlockchain introduction
Blockchain introduction
 
Introduction to Blockchain
Introduction to BlockchainIntroduction to Blockchain
Introduction to Blockchain
 
Blockchain, smart contracts - introduction
Blockchain, smart contracts - introductionBlockchain, smart contracts - introduction
Blockchain, smart contracts - introduction
 
Payment Protocols - Block Chain & Beyond
Payment Protocols - Block Chain & BeyondPayment Protocols - Block Chain & Beyond
Payment Protocols - Block Chain & Beyond
 
Blockchain technology in (life) sciences
Blockchain technology in (life) sciencesBlockchain technology in (life) sciences
Blockchain technology in (life) sciences
 
Blockchain (and Bitcoin)
Blockchain (and Bitcoin) Blockchain (and Bitcoin)
Blockchain (and Bitcoin)
 
Blockchain overview, use cases, implementations and challenges
Blockchain overview, use cases, implementations and challengesBlockchain overview, use cases, implementations and challenges
Blockchain overview, use cases, implementations and challenges
 
Smart Contracts - The Blockchain Beyond Bitcoin
Smart Contracts - The Blockchain Beyond BitcoinSmart Contracts - The Blockchain Beyond Bitcoin
Smart Contracts - The Blockchain Beyond Bitcoin
 
Blockchain architected
Blockchain architectedBlockchain architected
Blockchain architected
 
BCHGraz - Meetup #8 - Intro & Ethereum
 BCHGraz - Meetup #8 - Intro & Ethereum BCHGraz - Meetup #8 - Intro & Ethereum
BCHGraz - Meetup #8 - Intro & Ethereum
 
Uses of Blockchain Technology in the agrifood system
Uses of Blockchain Technology in the agrifood systemUses of Blockchain Technology in the agrifood system
Uses of Blockchain Technology in the agrifood system
 
Bitcoin 2.0
Bitcoin 2.0 Bitcoin 2.0
Bitcoin 2.0
 
Blockchain based Banking System
Blockchain based Banking SystemBlockchain based Banking System
Blockchain based Banking System
 
Simone Bronzini - Weaknesses of blockchain applications - Codemotion Milan 2018
Simone Bronzini - Weaknesses of blockchain applications - Codemotion Milan 2018Simone Bronzini - Weaknesses of blockchain applications - Codemotion Milan 2018
Simone Bronzini - Weaknesses of blockchain applications - Codemotion Milan 2018
 
Blockchain.pptx
Blockchain.pptxBlockchain.pptx
Blockchain.pptx
 
Bitcoin for programmers - part 1 version 2
Bitcoin for programmers - part 1 version 2Bitcoin for programmers - part 1 version 2
Bitcoin for programmers - part 1 version 2
 
Paradigm shift: from the bitcoin Blockchain to Networked Computing
Paradigm shift: from the bitcoin Blockchain to Networked ComputingParadigm shift: from the bitcoin Blockchain to Networked Computing
Paradigm shift: from the bitcoin Blockchain to Networked Computing
 
Blockchain, bitcoin
Blockchain, bitcoinBlockchain, bitcoin
Blockchain, bitcoin
 
Understanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
Understanding Bitcoin (Blockchain) and its Potential for Disruptive ApplicationsUnderstanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
Understanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
 
Introduction to Bitcoin for programmers
Introduction to Bitcoin for programmersIntroduction to Bitcoin for programmers
Introduction to Bitcoin for programmers
 

Plus de ITU

Do we need a wakeup call to keep driver-less cars protected?
Do we need a wakeup call to keep driver-less cars protected? Do we need a wakeup call to keep driver-less cars protected?
Do we need a wakeup call to keep driver-less cars protected? ITU
 
Global Virtual Mobile Network for Car manufacturers
Global Virtual Mobile Network for Car manufacturersGlobal Virtual Mobile Network for Car manufacturers
Global Virtual Mobile Network for Car manufacturersITU
 
Coordination of Threat Analysis in ICT Ecosystems
Coordination of Threat Analysis in ICT EcosystemsCoordination of Threat Analysis in ICT Ecosystems
Coordination of Threat Analysis in ICT EcosystemsITU
 
Learning from the past: Systematization for Attacks and Countermeasures on Mo...
Learning from the past: Systematization for Attacks and Countermeasures on Mo...Learning from the past: Systematization for Attacks and Countermeasures on Mo...
Learning from the past: Systematization for Attacks and Countermeasures on Mo...ITU
 
Trustworthy networking and technical considerations for 5G
Trustworthy networking and technical considerations for 5GTrustworthy networking and technical considerations for 5G
Trustworthy networking and technical considerations for 5GITU
 
The role of Bicycles and E-Bikes in the future development of Intelligent Tra...
The role of Bicycles and E-Bikes in the future development of Intelligent Tra...The role of Bicycles and E-Bikes in the future development of Intelligent Tra...
The role of Bicycles and E-Bikes in the future development of Intelligent Tra...ITU
 
Connected Cars & 5G
Connected Cars & 5GConnected Cars & 5G
Connected Cars & 5GITU
 
5G for Connected and Automated Driving
5G for Connected and Automated Driving5G for Connected and Automated Driving
5G for Connected and Automated DrivingITU
 
Securing the future of Automotive
Securing the future of AutomotiveSecuring the future of Automotive
Securing the future of AutomotiveITU
 
The Connected Vehicle - Challenges and Opportunities.
The Connected Vehicle - Challenges and Opportunities. The Connected Vehicle - Challenges and Opportunities.
The Connected Vehicle - Challenges and Opportunities. ITU
 
Machine learning for decentralized and flying radio devices
Machine learning for decentralized and flying radio devicesMachine learning for decentralized and flying radio devices
Machine learning for decentralized and flying radio devicesITU
 
AI and machine learning
AI and machine learningAI and machine learning
AI and machine learningITU
 
Machine learning for 5G and beyond
Machine learning for 5G and beyondMachine learning for 5G and beyond
Machine learning for 5G and beyondITU
 
Efficient Deep Learning in Communications
Efficient Deep Learning in CommunicationsEfficient Deep Learning in Communications
Efficient Deep Learning in CommunicationsITU
 
AI for Good Global Summit - 2017 Report
AI for Good Global Summit - 2017 ReportAI for Good Global Summit - 2017 Report
AI for Good Global Summit - 2017 ReportITU
 
Standardization of XDSL and MGfast in ITU-T SG15
Standardization of XDSL and MGfast in ITU-T SG15Standardization of XDSL and MGfast in ITU-T SG15
Standardization of XDSL and MGfast in ITU-T SG15ITU
 
One World One Global Sim
One World One Global Sim One World One Global Sim
One World One Global Sim ITU
 
ICTs, LDCs and the SDGs
ICTs, LDCs and the SDGsICTs, LDCs and the SDGs
ICTs, LDCs and the SDGsITU
 
Collection Methodology for Key Performance Indicators for Smart Sustainable C...
Collection Methodology for Key Performance Indicators for Smart Sustainable C...Collection Methodology for Key Performance Indicators for Smart Sustainable C...
Collection Methodology for Key Performance Indicators for Smart Sustainable C...ITU
 
Enhancing innovation and participation in smart sustainable cities
Enhancing innovation and participation in smart sustainable citiesEnhancing innovation and participation in smart sustainable cities
Enhancing innovation and participation in smart sustainable citiesITU
 

Plus de ITU (20)

Do we need a wakeup call to keep driver-less cars protected?
Do we need a wakeup call to keep driver-less cars protected? Do we need a wakeup call to keep driver-less cars protected?
Do we need a wakeup call to keep driver-less cars protected?
 
Global Virtual Mobile Network for Car manufacturers
Global Virtual Mobile Network for Car manufacturersGlobal Virtual Mobile Network for Car manufacturers
Global Virtual Mobile Network for Car manufacturers
 
Coordination of Threat Analysis in ICT Ecosystems
Coordination of Threat Analysis in ICT EcosystemsCoordination of Threat Analysis in ICT Ecosystems
Coordination of Threat Analysis in ICT Ecosystems
 
Learning from the past: Systematization for Attacks and Countermeasures on Mo...
Learning from the past: Systematization for Attacks and Countermeasures on Mo...Learning from the past: Systematization for Attacks and Countermeasures on Mo...
Learning from the past: Systematization for Attacks and Countermeasures on Mo...
 
Trustworthy networking and technical considerations for 5G
Trustworthy networking and technical considerations for 5GTrustworthy networking and technical considerations for 5G
Trustworthy networking and technical considerations for 5G
 
The role of Bicycles and E-Bikes in the future development of Intelligent Tra...
The role of Bicycles and E-Bikes in the future development of Intelligent Tra...The role of Bicycles and E-Bikes in the future development of Intelligent Tra...
The role of Bicycles and E-Bikes in the future development of Intelligent Tra...
 
Connected Cars & 5G
Connected Cars & 5GConnected Cars & 5G
Connected Cars & 5G
 
5G for Connected and Automated Driving
5G for Connected and Automated Driving5G for Connected and Automated Driving
5G for Connected and Automated Driving
 
Securing the future of Automotive
Securing the future of AutomotiveSecuring the future of Automotive
Securing the future of Automotive
 
The Connected Vehicle - Challenges and Opportunities.
The Connected Vehicle - Challenges and Opportunities. The Connected Vehicle - Challenges and Opportunities.
The Connected Vehicle - Challenges and Opportunities.
 
Machine learning for decentralized and flying radio devices
Machine learning for decentralized and flying radio devicesMachine learning for decentralized and flying radio devices
Machine learning for decentralized and flying radio devices
 
AI and machine learning
AI and machine learningAI and machine learning
AI and machine learning
 
Machine learning for 5G and beyond
Machine learning for 5G and beyondMachine learning for 5G and beyond
Machine learning for 5G and beyond
 
Efficient Deep Learning in Communications
Efficient Deep Learning in CommunicationsEfficient Deep Learning in Communications
Efficient Deep Learning in Communications
 
AI for Good Global Summit - 2017 Report
AI for Good Global Summit - 2017 ReportAI for Good Global Summit - 2017 Report
AI for Good Global Summit - 2017 Report
 
Standardization of XDSL and MGfast in ITU-T SG15
Standardization of XDSL and MGfast in ITU-T SG15Standardization of XDSL and MGfast in ITU-T SG15
Standardization of XDSL and MGfast in ITU-T SG15
 
One World One Global Sim
One World One Global Sim One World One Global Sim
One World One Global Sim
 
ICTs, LDCs and the SDGs
ICTs, LDCs and the SDGsICTs, LDCs and the SDGs
ICTs, LDCs and the SDGs
 
Collection Methodology for Key Performance Indicators for Smart Sustainable C...
Collection Methodology for Key Performance Indicators for Smart Sustainable C...Collection Methodology for Key Performance Indicators for Smart Sustainable C...
Collection Methodology for Key Performance Indicators for Smart Sustainable C...
 
Enhancing innovation and participation in smart sustainable cities
Enhancing innovation and participation in smart sustainable citiesEnhancing innovation and participation in smart sustainable cities
Enhancing innovation and participation in smart sustainable cities
 

Dernier

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
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, Adobeapidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 

Dernier (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 

Blockchain, cryptography, and consensus

  • 1. ITU Workshop on “Security Aspects of Blockchain” (Geneva, Switzerland, 21 March 2017) Blockchain, cryptography, and consensus Dr. Christian Cachin IBM Research - Zurich www.zurich.ibm.com/~cca/ Geneva, Switzerland, 21 March 2017
  • 2. Geneva, 21. March 2017 Connected markets ‣ Networks connect participants – Customers, suppliers, banks, consumers ‣ Markets organize trades – Public and private markets ‣ Value comes from assets – Physical assets (house, car ...) – Virtual assets (bond, patent ...) – Services are also assets ‣ Transactions exchange assets
  • 3. Geneva, 21. March 2017 Ledger ‣ Ledger records all business activity as transactions – Databases ‣ Every market and network defines a ledger ‣ Ledger records asset transfers between participants ‣ Problem — (Too) many ledgers – Every market has its ledger – Every organization has its own ledger
  • 4. Geneva, 21. March 2017 Multiple ledgers ‣ Every party keeps its own ledger and state ‣ Problems, incidents, faults ‣ Diverging ledgers Ledger C Ledger B Ledger E Ledger F Ledger A Alice Bob Charlie Frank Eve Ledger D Dave
  • 5. Geneva, 21. March 2017 Blockchain provides one virtual ledger ‣ One common trusted ledger ‣ Today often implemented by a centralized intermediary ‣ Blockchain creates one single ledger for all parties ‣ Replicated and produced collaboratively ‣ Trust in ledger from – Cryptographic protection – Distributed validation Alice Charlie Frank Dave One Ledger Bob Eve
  • 6. Geneva, 21. March 2017 Consensus Four elements characterize Blockchain Replicated ledger Cryptography Business logic ● Logic embedded in the ledger ● Executed together with transactions ● From simple "coins" to self-enforcing "smart contracts" ● History of all transactions ● Append-only with immutable past ● Distributed and replicated ● Decentralized protocol ● Shared control tolerating disruption ● Transactions validated ● Integrity of ledger ● Authenticity of transactions ● Privacy of transactions ● Identity of participants
  • 7. Geneva, 21. March 2017 Blockchain simplifies complex transactions Logistics Property records Capital markets Faster settlement times Increased credit availability Transparency & verifiability No reconciliation cost Real-time visibility Improved efficiency Transparency & verifiability Reduced cost Digital but unforgeable Fewer disputes Transparency & verifiability Lower transfer fees
  • 8. Geneva, 21. March 2017 Why blockchain now? ‣ Cryptography has been a key technology in the financial world for decades – Payment networks, ATM security, smart cards, online banking ... ‣ Trust model of (financial) business has not changed – Trusted intermediary needed for exchange among non-trusting partners – Today cryptography mostly secures point-to-point interactions ‣ Bitcoin started in 2009 – Embodies only cryptography of 1990s and earlier – First prominent use of cryptography for a new trust model (= trust no entity) ‣ The promise of Blockchain – Reduce trust and replace it by technology – Exploit advanced cryptographic techniques
  • 9. Geneva, 21. March 2017 What is a blockchain?
  • 10. Geneva, 21. March 2017 A state machine ‣ Functionality F – Operation o transforms a state s to new state s' and may generate a response r (s', r) ← F(s, o) ‣ Validation condition – Operation needs to be valid, in current state, according to a predicate P() o s s' / r o s s' / r P(s,o) = TRUE
  • 11. Geneva, 21. March 2017 Blockchain state machine ‣ Append-only log – Every operation o appends a "block" of valid transactions (tx) to the log ‣ Log content is verifiable from the most recent element ‣ Log entries form a hash chain ht ← Hash( [tx1, tx2, ... ] || ht-1 || t) . o s s'
  • 12. Geneva, 21. March 2017 Example – The Bitcoin state machine ‣ Bitcoins are unforgeable bitstrings – "Mined" by the protocol itself (see later) ‣ Digital signature keys (ECDSA) own and transfer bitcoins – Owners are pseudonymous, e.g., 3JDs4hAZeKE7vER2YvmH4yTMDEfoA1trnC ‣ Every transaction transfers a bitcoin (fraction) from current to next owner – "This bitcoin now belongs to 3JDs..." signed by the key of current owner – (Flow linkable by protocol, and not anonymous when converted to real-world assets) ‣ Validation is based on the global history of past transactions – Signer has received the bitcoin before – Signer has not yet spent the bitcoin
  • 13. Geneva, 21. March 2017 Distributed p2p protocol to create a ledger o1 o2 o3 s0 s1 s2 s3 Nodes run a protocol to construct the ledger Nodes produce transactions
  • 14. Geneva, 21. March 2017 Blockchain protocol features ‣ Only "valid" operations (transactions) are "executed" ‣ Transactions can be simple – Bitcoin tx are statement of ownership for coins, digitally signed "This bitcoin now belongs to K2" signed by K1 ‣ Transactions can be arbitrary code (smart contracts) – Embody logic that responds to events (on blockchain) and may transfer assets in response – Auctions, elections, investment decisions, blackmail ...
  • 15. Geneva, 21. March 2017 Consensus
  • 16. Geneva, 21. March 2017 Decentralized – Nakamoto consensus/Bitcoin ‣ Nodes prepare blocks – List of transactions (tx) – All tx valid ‣ Lottery race – Solves a hard puzzle – Selects a random winner/leader – Winner's operation/ block is executed and "mines" a coin ‣ All nodes verify and validate new block – "Longest" chain wins
  • 17. Geneva, 21. March 2017 Decentralized = permissionless ‣ Survives censorship and suppression – No central entity ‣ Nakamoto consensus requires proof-of-work (PoW) – Original intent: one CPU, one vote – Majority of hashing power controls network – Gives economic incentive to participate (solution to PoW is a newly "mined" Bitcoin) ‣ Today, total hashing work consumes a lot of electricity – Estimates vary, 250-1000MW, from a major city to a small country ... ‣ Protocol features – Stability is a tradeoff between dissemination of new block (10s-20s) and mining rate (new block on average every 10min) – Decisions are not final ("wait until chain is 6 blocks longer before a tx is confirmed")
  • 18. Geneva, 21. March 2017 Decentralized – deployment ‣ Bitcoin – Many (100s? 1000s?) of alt-coins and blockchains ‣ Ethereum – First digital currency with general-purpose smart contract execution ‣ Sawtooth ledger (Intel contribution to Hyperledger) – PoET consensus (proof of elapsed time) ● Nodes run PoET program in "trusted execution environment" (Intel SGX) ● PoET waits a random amount of time (say, E[wait] = 10min) ● Creates an attested proof of elapsed time ● Rest like in Bitcoin protocol
  • 19. Geneva, 21. March 2017 Consortium consensus (BFT, Hyperledger) ‣ Designated set of homogeneous validator nodes ‣ BFT/Byzantine agreement – Tolerates f-out-of-n faulty/ adversarial nodes – Generalized quorums ‣ Tx sent to consensus nodes ‣ Consensus validates tx, decides, and disseminates result
  • 20. Geneva, 21. March 2017 Consortium consensus = permissioned ‣ Central entity controls group membership – Dynamic membership changes in protocol – Membership may be decided inline, by protocol itself ‣ Well-understood problem in distributed computing – BFT and consensus studied since ca. 1985 ● Clear assumptions and top-down design ● 700 protocols and counting [AGK+15] ● Textbooks [CGR11] ● Open-source implementations (BFT-SMaRT) – Many systems already provide crash tolerant consensus (Chubby, Zookeeper, etcd ...) – Requires Ω(n2) communication (OK for 10-100 nodes, not > 1000s) ‣ Revival of research in BFT protocols – Focus on scalability and communication efficiency
  • 21. Geneva, 21. March 2017 Consortium consensus – under development ‣ Hyperledger fabric (IBM's contribution to Hyperledger) – Includes PBFT protocol [CL02] ‣ Tendermint, Juno/Kadena, JPMC Quorum, Axoni, Iroha, Chain and others ‣ HoneyBadgerBFT [MXC+16] – Revisits practical randomized BFT [CKPS01], including amoritzation ‣ Many existing BFT libraries predate blockchain – BFT-SMaRT, Univ. Lisbon (github.com/bft-smart/library) – Prime, Johns Hopkins Univ. (www.dsn.jhu.edu/byzrep/prime.html)
  • 22. Geneva, 21. March 2017 Scalability–performance tradeoff M. Vukolic: The Quest for Scalable Blockchain Fabric: Proof-of-Work vs. BFT Replication. Proc. iNetSec 2015, LNCS 9591.
  • 23. Geneva, 21. March 2017 Validation
  • 24. Geneva, 21. March 2017 Validation of transactions – PoW protocols ‣ Recall validation predicate P on state s and operation o: P(s, o) ‣ When constructing a block, the node – Validates all contained tx – Decides on an ordering within block ‣ When a new block is propagated, all nodes must validate the block and its tx – Simple for Bitcoin – verify digital signatures and that coins are unspent – More complex and costly for Ethereum – re-run all the smart-contract code ‣ Validation can be expensive – Bitcoin blockchain contains the log of all tx – 97GB as of 1/2017 (https://blockchain.info/charts/blocks-size)
  • 25. Geneva, 21. March 2017 Validation of transactions – BFT protocols ‣ Properties of ordinary Byzantine consensus – Weak Validity: Suppose all nodes are correct: if all propose v, then a node may only decide v; if a node decides v, then v was proposed by some node. – Agreement: No two correct nodes decide differently. – Termination: Every correct node eventually decides. ‣ Standard validity notions do not connect to the application! ‣ Need validity anchored at external predicate [CKPS01] – External validity: Given predicate P, known to every node, if a correct node decides v, then P(v); additionally, v was proposed by some node. – Can be implemented with digital signatures on input tx
  • 26. Geneva, 21. March 2017 Public validation vs. private state ‣ So far everything on blockchain is public – where is privacy? ‣ Use cryptography – keep state "off-chain" and produce verifiable tx – In Bitcoin, verification is a digital signature by key that owns coin – In ZeroCash [BCG+14], blockchain holds committed coins and transfers use zero- knowledge proofs (zk-SNARKS) validated by P – Hawk [KMS+16] uses verifiable computation (VC) ● Computation using VC performed off-chain by involved parties ● P checks correctness of proof for VC ‣ Private computation requires additional assumption (MPC, trusted HW ...)
  • 27. Geneva, 21. March 2017 Security and privacy ‣ Transactional privacy – Anonymity or pseudonymity through cryptographic tools – Some is feasible today (e.g., anonymous credentials in IBM Identity Mixer) ‣ Contract privacy – Distributed secure cryptographic computation on encrypted data ‣ Accountability & non-repudiation – Identity and cryptographic signatures ‣ Auditability & transparency – Cryptographic hash chain ‣ Many of these need advanced cryptographic protocols
  • 28. Geneva, 21. March 2017 Hyperledger Fabric
  • 29. Geneva, 21. March 2017 Hyperledger project ‣ Open-source collaboration under Linux Foundation – www.hyperledger.org – Hyperledger unites industry leaders to advance blockchain technology (Dec. '15) – 100 members in Jan. '17 ‣ Develops enterprise-grade, open-source distributed ledger technology ‣ Code contributions from several members ‣ Fabric is the IBM-started contribution – github.com/hyperledger/fabric/ – Security architecture and consensus protocols from IBM Research - Zurich
  • 31. Geneva, 21. March 2017 Hyperledger Fabric ‣ Enterprise-grade consortium blockchain and distributed ledger framework – A blockchain implementation in the Hyperledger Project ‣ Developed open-source, by IBM and others (DAH, LSEG ...) – github.com/hyperledger/fabric – Initially called 'openblockchain' and donated by IBM to Hyperledger project – Actively developed, IBM and IBM Zurich play key roles ‣ Technical details – Implemented in GO – Runs smart contracts ("chaincode") within Docker containers – Implements consortium blockchain using traditional consensus (BFT, Paxos)
  • 32. Geneva, 21. March 2017 Hyperledger Fabric details (V0.6) ‣ Peers (validating peers and non-validating peers) – GO and other languages, gRPC over HTTP/2 – Validating peers (all running consensus) and non-validating peers ‣ Membership service issues identity-certificates and transaction-certificates ‣ Transactions – Deploy new chaincode / Invoke an operation / Read state – Chaincode is arbitrary GO program running in a Docker container ‣ State is a key-value store (RocksDB) – Put, get ... no other state must be held in chaincode – Non-validating peers store state and execute transactions ‣ Hash chain computed over state (and possibly transactions)
  • 33. Geneva, 21. March 2017 Towards Hyperledger Fabric V1 ‣ Separate the functions of nodes into endorsers and consensus nodes – Every chaincode may have different endorsers – Endorsers have state, run tx, and validate tx for their chaincode – Chaincode specifies endorsement policy – Consensus nodes order endorsed and already-validated tx – All peers apply all state changes in order, only for properly endorsed tx ‣ Functions as replicated database maintained by peers [PWSKA00, KJP10] – Replication via (BFT) atomic broadcast in consensus – Endorsement protects against unauthorized updates ‣ Scales better – only few nodes execute, independent computations in parallel ‣ Permits some confidential data on blockchain via partitioning state  Data seen only by endorsers assigned to run that chaincode
  • 34. Geneva, 21. March 2017 Separation of endorsement from consensus ‣ Validation is by chaincode ‣ Dedicated endorsers per chaincode ‣ Consensus service – Only communication – Pub/sub messaging – Ordering for endorsed tx ‣ State and hash chain are common – State may be encrypted Consensus service only orders tx Per-chaincode endorsers
  • 35. Geneva, 21. March 2017 Transactions in Fabric V1 ‣ Client – Produces a tx (operation) for some chaincode (smart contract) ‣ Submitter peer – Execute/simulates tx with chaincode – Records state values accessed, but does not change state  readset/writeset ‣ Endorsing peer – Re-executes tx with chaincode and verifies readset/writeset – Endorses tx with a signature on readset/writeset ‣ Consensus service – Orders the endorsed tx, produces ordered stream of tx – Filters out the not properly endorsed tx, according to chaincode endorsement policy ‣ All peers – Disseminate tx from consensus service with p2p communication (gossip) – Execute state changes from readset/writeset of valid tx, in order
  • 36. Geneva, 21. March 2017 Modular consensus in Fabric V1 ‣ "Solo orderer" – One host only, acting as specification during development (ideal functionality) ‣ Apache Kafka, a distributed pub/sub streaming platform – Tolerates crashes among member nodes, has Apache Zookeeper – Focus on high throughput ‣ SBFT - A simple implementation of Practical Byzantine Fault Tolerance (PBFT) – Tolerates f < n/3 Byzantine faulty nodes among n – Focus on resilience
  • 37. Geneva, 21. March 2017 Conclusion
  • 38. Geneva, 21. March 2017 Conclusion ‣ Blockchain enables new trust models ‣ Many interesting technologies – Distributed computing for consensus – Cryptography for integrity, privacy, anonymity ‣ We are only at the beginning ‣ Blockchain = Distributing trust over the Internet – www.hyperledger.org – www.ibm.com/blockchain/ – www.research.ibm.com/blockchain/