Presentation is loading. Please wait.

Presentation is loading. Please wait.

IS 651: Distributed Systems Blockchain

Similar presentations


Presentation on theme: "IS 651: Distributed Systems Blockchain"— Presentation transcript:

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.


Download ppt "IS 651: Distributed Systems Blockchain"

Similar presentations


Ads by Google