Blockchain for BusinessJohn Maheswaran, PhD (Yale ‘15)
Presented at: Yale School of Management
October 4th 2017
Overview
• Introduction to blockchain
• Blockchains for business
• Emerging technologies in blockchain
• Q&A
What is a “blockchain”
Decentralized systemElectronic payments
Cryptocurrencies / crypto-assets Investments
Initial coin offerings / ICOs
What is a “blockchain”
Traditional centralized databasesData may be different across data stores
Blockchain = distributed secure data baseEach node sees the same set of committed data(e.g. the transactions in Bitcoin)
The Bitcoin “database”
• Each node is a computer on the network
• Each node stores:• The entire history of transactions
(how every Bitcoin was ever spent)
• The current Bitcoin balances (who can spend each Bitcoin next)
High level transaction flow
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
Alice wants to sent 1 BTC to Bob
High level transaction flow
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
Alice submits transaction to network
Send Bob 1 BTC
High level transaction flow
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
Send Bob 1 BTC
Node verifies Alice has sufficient funds
High level transaction flow
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
Send Bob 1 BTC
Send Bob 1 BTC
Send Bob 1 BTC
Send Bob 1 BTC
Transaction propagated using peer to peer “gossip” protocol
High level transaction flow
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
Send Bob 1 BTC
Send Bob 1 BTC
Send Bob 1 BTC
Send Bob 1 BTC
Transaction propagated using peer to peer “gossip” protocol
Send Bob 1 BTC
High level transaction flow
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
Send Bob 1 BTC
Send Bob 1 BTC
Send Bob 1 BTC
Send Bob 1 BTC
Miners work on solving a mathematically hard problem to commit proposed transaction (create a new block)
Send Bob 1 BTC
High level transaction flow
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
A: 0 BTCB: 1 BTC
A: 1 BTCB: 0 BTC
When a miner solves the problem, new Bitcoin is mined. Alice’s transaction is committed in a block.
High level transaction flow
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
A: 1 BTCB: 0 BTC
A: 0 BTCB: 1 BTC
A: 1 BTCB: 0 BTC
Current state of the ledger (the new “block”) is propagated across network
High level transaction flow
A: 1 BTCB: 0 BTC
A: 0 BTCB: 1 BTC
Current state of the ledger (the new “block”) is propagated across network
A: 0 BTCB: 1 BTC
A: 0 BTCB: 1 BTC
A: 0 BTCB: 1 BTC
High level transaction flowA: 0 BTCB: 1 BTC
Current state of the ledger (the new “block”) is propagated across network
A: 0 BTCB: 1 BTC
A: 0 BTCB: 1 BTC
A: 0 BTCB: 1 BTC
A: 0 BTCB: 1 BTC
High level transaction flowA: 0 BTCB: 1 BTC
The transaction is now complete.
Alice has sent 1 BTC to Bob
A: 0 BTCB: 1 BTC
A: 0 BTCB: 1 BTC
A: 0 BTCB: 1 BTC
A: 0 BTCB: 1 BTC
Alice observes she has successfully sent her 1 BTC to Bob
Bob observes he has received 1 BTC from Alice
Digital Signatures
Alice’s private key
SIGN
Alice’s public key
VERIFY
Alice signs a message Bob verifies Alice’s signature
Blockchain definition
• Electronic record of transactions or other data that is:• Uniformly ordered
• Redundantly maintained by multiple computers to guarantee the consistency or nonrepudiation of the data
• Validated using cryptography
Hash function
• Takes input data of any form
• Outputs a fingerprint (hash) of the data• Fixed length
• Deterministic
• Uniformly distributed (all hash outputs are equally likely)
Hash function
What is “mining” (proof of work)?
Proposed transactions,Unsolved mathematical problem
Bitcoin miners attempt to solve math problem Block 6
Block 5
Block 4
Transactions committed to the blockchain
Miner solves problem. Rewarded with Bitcoin
What is “mining”?
More miners join network
Block creation rate increases
Mining difficulty increases
Average mining time goes back
up
Block creation rate goes down
Average mining time decreases
Blockchain explained using Bitcoin
Spender submits signed transaction with recipient’s address
Pending transactions are propagated using peer to peer gossip protocol
Transactions are grouped into blocks of transactions
Miners race to solve cryptographic hash problem
Once hash problem is solved, a new block is created. Miner is rewarded
Chained hashes guarantee non repudiation
Business benefits
AuditabilityUniversal source
truthTransparency Security
Cost savings Disintermediation Tamper resistanceReduced error
rates
Business applications of blockchain
Fintech Supply Chain Healthcare (EMRs) Identity management Real estate
Enterprise blockchains
Public blockchains (permissionless) Private blockchains (permissioned)
Market players
Market challenges
Business Challenges
• Complex technology• Talent acquisition
• Design/architecture resources
• Lack of regulation• SEC
• Adoption• Governments
Technical Challenges
• Throughput• High performance is a challenge
• Privacy• Access control
• Privacy
Smart Contracts
• – logic written in code– stored and replicated on the blockchain– executed by blockchain nodes– can update ledger
Blockchains without smart contracts
Blockchains with smart contracts
Functionality Distributed storage Distributed storage and computation
Example Bitcoin Ethereum
Cash to crypto
Digital exchanges
Cryptocurrency blockchain networks
Digital wallets
Traditional banks
Bitcoin
Ethereum
ICOs (initial coin offerings): crypto to tokens
Digital walletsSend Ether (ETH)
Crowdsale ETH address
(Smart contract)
ICO token
Ethereum network
Crypto-Book – my PhD research
• Distributed public key infrastructure
• Applications• Send crypto payments to anyone online
• Privacy preserving chat rooms
• Accountable Wikis
• Encrypted social media messaging
Crypto-Book – my PhD researchKey servers
Crypto-Book – my PhD researchKey servers
2. Look up Bob’s profile
1. Alice request’s Bob’s public key
4. Bob’s public key
3. Generate Bob’s public key
5. Submit transaction to Bob
Crypto-Book – my PhD researchKey servers
7. Verify Bob’s ID
6. Bob authenticates with FB, requests key fragments
8. Generate Bob’s key fragments
9. Key fragments
10. Bob reconstructs his private key
11. Bob receives Bitcoins that were sent to him
Crypto-Book – my PhD researchKey servers
Questions?
• www.linkedin.com/in/johnm6
• Slides: tinyurl.com/blockchainforbusiness