Download presentation
Presentation is loading. Please wait.
1
IS 651: Distributed Systems Blockchain
Sisi Duan Assistant Professor Information Systems
2
Recall BFT Consensus problem Mask Byzantine failures 3f+1 vs. f
indistinguishable
3
Key to correctness BFT/Byzantine Quorum 2f+1 out of 3f+1
Another way: If there are n nodes in the system… Tolerates one-third failures f=(n-1)/3 Quorum (n+f+1)/2
4
PBFT
5
BChain
6
BChain
7
Announcement Project presentation next week HW5 Exam
Remember to register for presentation time HW5 Next week Answers will be posted next weekend Exam In two weeks Slides of final review are posted on class website
8
What we’ve learned so far
Consistency Mostly closed system Crash fault tolerance Byzantine fault tolerance Consensus …
9
Today What is blockchain Permissionless blockchain – Bitcoin
Permissioned blockchain – Hyperledger and BFT
10
What is Blockchain? Consensus A growing list of digital records
cryptography Decentralized network Distributed database
11
Permissionless Blockchain - Bitcoin
Cryptocurrency Bitcoin Network Nodes maintain ledgers Distributed anonymized nodes Clients Pros No third-party interruptions Very low transaction fees Immediate settlement Traceable historic transactions …
12
Permissionless Blockchain
Blockchain network Anonymized nodes Create trust in a naturally distrustful situation Major projects Bitcoin Etherum – Smart Contract The trust trade-off High energy consumption
13
Permissioned Blockchain
Blockchain network Partially trusted nodes Governing authority Pros: Proved secure schemes Greatly enhanced performance Reduced computational power Reduced logistical issues
14
Permissioned Blockchain
Applications Cryptocurrencies Supply chain Food safety IoT Etc. Major product IBM Hyperledger Tendermint JPMorgan Chase QuorumChain Multichain ……
15
Another way of categorizing blockchains
Private blockchains Consortium blockchains Public blockchains
16
Bitcoin A peer-to-peer (open) system First practical cryptocurrency
Any one could join First practical cryptocurrency
17
Almost 2000 cryptocurrencies…
18
Usual way of sending money
We have a bank account Balance Send through the bank Deduct certain amount from the sender’s account Increase the receiver’s account Who does that? What if we send to another bank? What if the bank is in another country?
19
Bitcoin: e-cash without a central trusted party
Portable No need for trusted 3rd party Anonymous Cannot repudiate after payment
20
History of cryptocurrency
Hayek. Denationalization of money, free banking and inflation targeting Satoshi Nakamoto. Bitcoin: A Peer-to-Peer Electronic Cash System
21
Bitcoin Bitcoin The protocol / technology bitcoins
The currency / coin / unit of account Transaction Transfer of a coin from one owner to the next, signed cryptographically Public/Private key The receiver’s public key is his Bitcoin address The sender’s private key is used to digitally sign the transaction Block Validated collection of transactions over 10 minutes, created through mining Mining Generates a block and validates transactions through proof-of-work, creating new bitcoins in the process Blockchain Timestamped sequence of linked blocks The public ledger
22
Bitcoin Overview Every participant maintains a ledger of all the transactions Work together to verify transactions Key components: proof-of-work, blocks, hash chain
23
How Bitcoin Works Ledger
Every one maintains the the history of all the transactions in the network User bitcoins Alice 3 Bob 4.2 Carol 10.3
24
Sending money Alice->Bob: 1BTC
25
Sending money Alice->Bob: 1BTC
26
Sending money Alice->Bob: 1BTC
Every one applies to its local copy of the ledger
27
Questions How to make sure the sender actually sends the transaction?
How to make sure the sender does have enough money? How to ensure the order of the transactions? Discussion: what consistency model do we nee? How to ensure which transaction should be processed first?
28
Questions How to make sure the sender actually sends the transaction?
Digital signatures Two types: asymmetric key based (used in bitcoin) and symmetric key based As long as the sender does not lose its private key, then the message with the digital signature is generated by the sender
29
Bitcoin Transactions Public key 0xc7b2f68...
Public key 0xa8fc93875a972ea Signature 0xa87g14632d452cd Public key 0xc7b2f68...
30
Questions How to make sure the sender does have enough money?
31
Bitcoin: How to ensure the order of the transactions? Hash chain
32
Questions How to ensure the which transaction should be processed next? Every time, one node (leader) proposes the next transaction (or a batch of transactions) Proof of work Current leader throws a puzzle and everyone tries to solve it The one who solves it first will be the next leader
33
Use of Cryptographic Hashes
Proof-of-work Block contains transactions to be validated and previous hash value. Pick a nouce such that H(prev hash, nounce, Tx) < E. E is a variable that the system specifies. Basically, this amounts to finding a hash value who’s leading bits are zero. The work required is exponential in the number of zero bits required. Verification is easy. But proof-of-work is hard.
34
Tie breaking Two nodes may find a correct block simultaneously. Keep both and work on the first one If one grows longer than the other, take the longer one Two different block chains (or blocks) may satisfy the required proof-of-work.
35
Reverting is Hard Reverting gets exponentially hard as the chain grows. 2. Recompute nonce 3. Recompute the next nonce 1. Modify the transaction (revert or change the payer)
36
Practical Limitation At least 10 mins to verify a transaction.
Agree to pay Wait for one block (10 mins) for the transaction to go through. But, for a large transaction ($$$) wait longer. Because if you wait longer it becomes more secure. For large $$$, you wait for six blocks (1 hour).
37
Other Challenges Scalability
Not really decentralized, about 20 mining pools in total 25% computing power is not that hard to obtain by a single party Legal issues
38
What’s the relationships between permissionless blockchains and BFT?
They solve the same problem, why? Same Linearizability Different Fixed leader vs different leaders
39
https://www. mail-archive. com/cryptography@metzdowd. com/msg09997
40
Permissioned Blockchains
Everyone knows the identity of each other Called private blockchains Run BFT protocols to reach a consensus
41
Permissionless v.s. Permissioned Blockchains
M. Vukolic 2015
42
Hyperledger Lead by IBM, supported by > 300 organizations
Five major projects Fabric – PBFT Burrow Sawtooth Indy Iroha - BChain
43
Look into the consensus protocols
Hyperledger Fabric -- Zab/Paxos -> PBFT Hyperledger Iroha – Sumeragi (BChain) Tendermint – variant of PBFT Symbiont -- BFT-SMaRt (implements PBFT) Corda – Raft and BFT-SMaRt Quorum by JPMorgan Chase – QuorumChain and Raft-based Chain Proprietary protocols - Kadena
44
Hyperledger Fabric
45
Hyperledger Fabric
46
Hyperledger Fabric
47
Discussion Scalability Performance
What are the challenges of BFT consensus in the blockchains?
48
Permissioned Blockchain – Open Problems
Engineering cryptographic systems Major components/problems Formal protocol proof and reviews, technical comparisons, etc. Application-driven implementation Evaluation and Resilience under actual attacks and network incidents … blockchain developers should look towards the established experience in cryptography, security, and the theory of distributed systems for building trustworthy systems. Otherwise, it might be dangerous to entrust financial value to new protocols. Open discussion, expert reviews, broad validation, and standards recommendations should be employed. Christian Cachin and Marko Vukolic – IBM Research Zurich Blockchain consensus protocols in the wild.
49
Other topics in blockchains
Smart contract Off chain contract Hybrid blockchains
50
Blockchain summary Permissionless blockchains Permissioned blockchains
PoW, proof-of-X, proof-of-stake A lot of blockchains are hybrid!
51
Reading list (Recommended) https://www.youtube.com/watch?v=Lx9zgZCMqXE
Satoshi Nakamoto. Bitcoin: A Peer-to-Peer Electronic Cash System Elli Androulaki et. al. Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains. Eurosys 2018.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.