IS 651: Distributed Systems Blockchain

Slides:



Advertisements
Similar presentations
Secure Multiparty Computations on Bitcoin
Advertisements

Secure Digital Currency: Bitcoin Amir Houmansadr CS660: Advanced Information Assurance Spring 2015 Content may be borrowed from other resources. See the.
Bitcoin. What is Bitcoin? A P2P network for electronic payments Benefits: – Low fees – No middlemen – No central authority – Can be anonymous – Each payment.
Bitcoin Double Spending Attack Karame, Androulaki & Capkun Presented by Subhro Kar CSCE 715, Fall 2013.
Advanced Computer Communications PROFESSOR:STUDENT: PROF. DR. ING. BRAD REMUS STEFAN FEILMEIER FACULTATEA DE INGINERIE HERRMANN OBERTH MASTER-PROGRAM.
BITCOIN An introduction to a decentralised and anonymous currency. By Andy Brodie.
The world’s first decentralized digital currency Meni Rosenfeld Bitcoil 29/11/2012Written by Meni Rosenfeld1.
Bitcoin (what, why and how?)
1 Bitcoin A Digital Currency. Functions of Money.
© 2016 consensys.net Intro to The Blockchain. © 2016 consensys.net.
Bitcoin Bitcoin is a cryptocurrency. The platform that hosts Bitcoin is a p2p system. Bitcoin can be abstracted as a digital file that records the account.
Block Chain 101 May 2017.
Motivation ✓ ✘ ? Bitcoin/Ideal Credit Card Works on Internet
Blockchain Infrastructure for e-Science
A Blockchain Implementation
Cryptocurrencies by.
Evaluation Forms for Blockchain- Based System ver. 1.0
Computer Communication & Networks
Blockchains in 12 Easy Steps and Observations to Ponder…
Virtual currency? Crypto-currency? Internet Money? Property?
Bitcoin - a distributed virtual currency system
Distributed Systems for Information Systems Management
Cryptocurrencies By Rui Sakurai and Shane Spears
Blockchains and Cryptocurrencies: What Financial Planners Need to Know
The Cryptoeconomic Way
Blockchain beyond cryptocurrencies
Ling Ren Joint work with Ittai Abraham, Dahlia Malkhi,
So what is Blockchain anyway?
Blockchain Adrian Zaragoza.
Deanonymization of Clients in Bitcoin P2P Network

{ BLOCKCHAIN Technology. BSEtecBSEtec is a digital solution provider company which offers the best service with the implement of the latest technologies.
Rechtsanwältin – Germany Attorney at Law – New York
Breaking through with Blockchain
Life skill presentation
Focus Group 3: Blockchain and digitalisation
Principles of Computer Security
Bitcoin: A New Internet Currency
Setting the Stage for a Community Blockchain Incubator
Blockchain technology
Distributed Ledger Technology (DLT) and Blockchain
Blockchain Alexander Prenta 9/27/2018.
HW5 What’s a quorum? How can we use the concept of quorum?
Modernization of. Currency. Evolution Of Currency: Bartering System: Grains and cattle are popular in Barters. Firstly recorded in Egypt. Coinage: Metals.
Swagatika (Jazz) Sarangi
Bitcoin & Blockchain Bina Ramamurthy 2/22/2019.
Bitcoin & Blockchain Bina Ramamurthy 2/22/2019.
IS 651: Distributed Systems Final Exam
Kai Bu 04 Blockchain Kai Bu
Blockchains and Auditing
Blockchains and Smart Contracts for the Internet of Things
Modified from Bob Vachon
Production and usage of Cryptocurrencies
Introduction to blockchain
Wokshop SAIS 2018 Dr. Meg Murray Kennesaw state university
Faculty Seminar Series Blockchain Technology
Blockchain Technology
Κατανεμημένα Συστήματα
Zerocash: Decentralized Anonymized Payments from Bitcoins
Cryptography Lecture 24.
Blockchain Technology: A New Approach to Provenance
Distributed Computers and Web Technologies (3-0-6)
Campbell R. Harvey Duke University and NBER
GAYATRI INSTITUTE OF COMPUTER AND MANAGEMENT HINJILICUT (GANJAM)
Blockchain Tech Big Picture
Explore Txs, block, blockchain in Bitcoin
Blockchains Lecture 6.
Author: Satoshi Nakamoto
Sisi Duan Assistant Professor Information Systems
Cryptocurrency and Blockchain Technology
Presentation transcript:

IS 651: Distributed Systems Blockchain Sisi Duan Assistant Professor Information Systems sduan@umbc.edu

Recall BFT Consensus problem Mask Byzantine failures 3f+1 vs. f indistinguishable

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

PBFT

BChain

BChain

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

What we’ve learned so far Consistency Mostly closed system Crash fault tolerance Byzantine fault tolerance Consensus …

Today What is blockchain Permissionless blockchain – Bitcoin Permissioned blockchain – Hyperledger and BFT

What is Blockchain? Consensus A growing list of digital records cryptography Decentralized network Distributed database

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 …

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

Permissioned Blockchain Blockchain network Partially trusted nodes Governing authority Pros: Proved secure schemes Greatly enhanced performance Reduced computational power Reduced logistical issues

Permissioned Blockchain Applications Cryptocurrencies Supply chain Food safety IoT Etc. Major product IBM Hyperledger Tendermint JPMorgan Chase QuorumChain Multichain ……

Another way of categorizing blockchains Private blockchains Consortium blockchains Public blockchains

Bitcoin A peer-to-peer (open) system First practical cryptocurrency Any one could join First practical cryptocurrency

Almost 2000 cryptocurrencies…

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?

Bitcoin: e-cash without a central trusted party Portable No need for trusted 3rd party Anonymous Cannot repudiate after payment

History of cryptocurrency Hayek. Denationalization of money, free banking and inflation targeting. 1977. Satoshi Nakamoto. Bitcoin: A Peer-to-Peer Electronic Cash System. 2008.

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

Bitcoin Overview Every participant maintains a ledger of all the transactions Work together to verify transactions Key components: proof-of-work, blocks, hash chain

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

Sending money Alice->Bob: 1BTC

Sending money Alice->Bob: 1BTC

Sending money Alice->Bob: 1BTC Every one applies to its local copy of the ledger

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?

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

Bitcoin Transactions Public key 0xc7b2f68... Public key 0xa8fc93875a972ea Signature 0xa87g14632d452cd Public key 0xc7b2f68...

Questions How to make sure the sender does have enough money?

Bitcoin: How to ensure the order of the transactions? Hash chain

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

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.

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.

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)

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).

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

What’s the relationships between permissionless blockchains and BFT? They solve the same problem, why? Same Linearizability Different Fixed leader vs different leaders

https://www. mail-archive. com/cryptography@metzdowd. com/msg09997 https://www.mail-archive.com/cryptography@metzdowd.com/msg09997.html

Permissioned Blockchains Everyone knows the identity of each other Called private blockchains Run BFT protocols to reach a consensus

Permissionless v.s. Permissioned Blockchains M. Vukolic 2015

Hyperledger Lead by IBM, supported by > 300 organizations Five major projects Fabric – PBFT Burrow Sawtooth Indy Iroha - BChain

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

Hyperledger Fabric

Hyperledger Fabric

Hyperledger Fabric

Discussion Scalability Performance What are the challenges of BFT consensus in the blockchains?

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.

Other topics in blockchains Smart contract Off chain contract Hybrid blockchains

Blockchain summary Permissionless blockchains Permissioned blockchains PoW, proof-of-X, proof-of-stake A lot of blockchains are hybrid!

Reading list (Recommended) https://www.youtube.com/watch?v=Lx9zgZCMqXE Satoshi Nakamoto. Bitcoin: A Peer-to-Peer Electronic Cash System. 2008. Elli Androulaki et. al. Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains. Eurosys 2018.