How Bitcoin Achieves Decentralization

Slides:



Advertisements
Similar presentations
The easy answers to the hard questions! WHAT IS BITCOIN?
Advertisements

Secure Multiparty Computations on Bitcoin
Secure Digital Currency: Bitcoin Amir Houmansadr CS660: Advanced Information Assurance Spring 2015 Content may be borrowed from other resources. See the.
CS425/CSE424/ECE428 — Distributed Systems — Fall Nikita Borisov - UIUC1.
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.
Stefan Dziembowski Why do the cryptographic currencies need a solid theory? Forum Informatyki Teoretycznej, Warsaw
Advanced Computer Communications PROFESSOR:STUDENT: PROF. DR. ING. BRAD REMUS STEFAN FEILMEIER FACULTATEA DE INGINERIE HERRMANN OBERTH MASTER-PROGRAM.
1 The Sybil Attack John R. Douceur Microsoft Research Presented for Cs294-4 by Benjamin Poon.
BITCOIN An introduction to a decentralised and anonymous currency. By Andy Brodie.
Bitcoin is the FUTURE of MONEY!!
 Structured peer to peer overlay networks are resilient – but not secure.  Even a small fraction of malicious nodes may result in failure of correct.
The world’s first decentralized digital currency Meni Rosenfeld Bitcoil 29/11/2012Written by Meni Rosenfeld1.
On Power Splitting Games in Distributed Computation: The case of Bitcoin Pooled Mining Loi Luu, Ratul Saha, Inian Parameshwaran, Prateek Saxena & Aquinas.
Bitcoin (what, why and how?)
Bitcoins and the Digital Economy Presented By: Matt Blackman.
1 Bitcoin A Digital Currency. Functions of Money.
Bitcoin 101 and Beyond Jonathan Levin VP Business Development, Chainalysis GmbH.
Bitcoin today (October 2, 2015)
Identity based signature schemes by using pairings Parshuram Budhathoki Department of Mathematical Science FAU 02/21/2013 Cyber Security Seminar, FAU.
Bitcoin Jeff Chase Duke University.
Demystifying incentives in the consensus computer Loi Luu, Jason Teutsch, Raghav Kulkarni, Prateek Saxena National University of Singapore.
SCP: A Computationally Scalable Byzantine Consensus Protocol for Blockchains Loi Luu, Viswesh Narayanan, Kunal Baweja, Chaodong Zheng, Seth Gilbert, Prateek.
Private key
Lecture 9 Overview. Digital Signature Properties CS 450/650 Lecture 9: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
Bitcoin Tech Talk Zehady Abdullah Khan (Andy) Graduate Assistant, Computer Science Department, Purdue University.
Bitcoin is a cryptographic currency that has been in continuous operation over the last 3 years. It currently enjoys an exchange rate of $4.80 (as of April.
Section #9: Bitcoins. Digital currency Unique string of bits Use cryptography for security and privacy Not tied to names: hard to trace Finite set of.
Fall 2006CS 395: Computer Security1 Key Management.
Cryptocurrencies: challenges and caveats Khaled Baqer Cambridge University.
Bitcoin Based on “Bitcoin Tutorial” presentation by Joseph Bonneau, Princeton University Bonneau slides marked “JB”
Intro to Cryptocurrencies & Review of Relevant Crypto Tyler Moore, CS 7403, University of Tulsa Slides adapted from Arvind Narayanan, Joseph Bonneau, Edward.
How to Store and Use Bitcoins Tyler Moore, CS 7403, University of Tulsa Slides adapted from Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller,
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
CSE 4095 Lecture 22 – BlockChain Slides adapted from Claudio Orlandi.
Kermit Lowry, John Whatley, Wesley Cooper, and Matthew Eith
Bitcoin and the Blockchain
Bitcoin Based on “Bitcoin Tutorial” presentation by
Mechanics of Bitcoin Part II
Virtual currency? Crypto-currency? Internet Money? Property?
Bitcoin - a distributed virtual currency system
Mechanics of Bitcoin Part I
Distributed Systems for Information Systems Management
Bitcoin and the Blockchain
Ling Ren Joint work with Ittai Abraham, Dahlia Malkhi,
So what is Blockchain anyway?

CS898AT – Bitcoins and Cryptocurrencies
Technical Overview of Bitcoin
Advanced Cryptography Protocols
Nakamoto Consensus Marco Canini
EECS 498 Introduction to Distributed Systems Fall 2017
CS 240: Computing Systems and Concurrency Lecture 20 Marco Canini
Bitcoin and the Blockchain
Blockchains (2) slides have been taken from:
Campbell R. Harvey Duke University and NBER
Consensus Algorithms.
Kai Bu 04 Blockchain Kai Bu
Blockchains and Auditing
Blockchains and Smart Contracts for the Internet of Things
TELE3119: Trusted Networks Week 5
Wokshop SAIS 2018 Dr. Meg Murray Kennesaw state university
Faculty Seminar Series Blockchain Technology
Campbell R. Harvey Duke University and NBER
Blockchain Tech Big Picture
Blockchain Tech Big Picture
Bitcoin and Blockchain
Explore Txs, block, blockchain in Bitcoin
Presentation transcript:

How Bitcoin Achieves Decentralization Tyler Moore, CS 7403, University of Tulsa Slides adapted from Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, Princeton University

Overview Centralization vs. decentralization Distributed consensus Consensus without identity: the block chain Incentives and proof-of-work Putting it all together

Overview Centralization vs. decentralization Distributed consensus Consensus without identity: the block chain Incentives and proof-of-work Putting it all together

Centralization vs. decentralization Competing paradigms that underlie many digital technologies

Decentralization is not all-or-nothing E-mail: decentralized protocol, but dominated by centralized webmail services

Aspects of decentralization in Bitcoin Who maintains the ledger? Who has authority over which transactions are valid? Who creates new bitcoins? Who determines how the rules of the system change? How do bitcoins acquire exchange value? Beyond the protocol: exchanges, wallet software, service providers...

Aspects of decentralization in Bitcoin Peer-to-peer network: open to anyone, low barrier to entry Mining: open to anyone, but inevitable concentration of power often seen as undesirable Updates to software: core developers trusted by community, have great power

Overview Centralization vs. decentralization Distributed consensus Consensus without identity: the block chain Incentives and proof-of-work Putting it all together

Bitcoin’s key challenge Key technical challenge of decentralized e-cash: distributed consensus or: how to decentralize ScroogeCoin

Defining distributed consensus The protocol terminates and all correct nodes decide on the same value This value must have been proposed by some correct node

Bitcoin is a peer-to-peer system When Alice wants to pay Bob: she broadcasts the transaction to all Bitcoin nodes Pay to pkBob : H( ) signed by Alice Note: Bob’s computer is not in the picture

How consensus could work in Bitcoin At any given time: All nodes have a sequence of blocks of transactions they’ve reached consensus on Each node has a set of outstanding transactions it’s heard about

How consensus could work in Bitcoin Tx … Tx … Tx … Tx … Consensus protocol Tx … Tx … OK to select any valid block, even if proposed by only one node

No notion of global time Why consensus is hard Nodes may crash Nodes may be malicious Network is imperfect Not all pairs of nodes connected Faults in network Latency No notion of global time Analogy of talking on the phone and having a lag

Many impossibility results Byzantine generals problem Fischer-Lynch-Paterson (deterministic nodes): consensus impossible with a single faulty node

Understanding impossibility results These results say more about the model than about the problem The models were developed to study systems like distributed databases

Bitcoin consensus: theory & practice Bitcoin consensus works better in practice than in theory Theory is still catching up BUT theory is important, can help predict unforeseen attacks

Some things Bitcoin does differently Introduces incentives Possible because it’s a currency! Embraces randomness Does away with the notion of a specific end-point Consensus happens over long time scales — about 1 hour

Overview Centralization vs. decentralization Distributed consensus Consensus without identity: the block chain Incentives and proof-of-work Putting it all together

Why identity? Pragmatic: some protocols need node IDs Security: assume less than 50% malicious

Why don’t Bitcoin nodes have identities? Identity is hard in a P2P system — Sybil attack Pseudonymity is a goal of Bitcoin

Weaker assumption: select random node Analogy: lottery or raffle When tracking & verifying identities is hard, we give people tokens, tickets, etc. Now we can pick a random ID & select that node

Key idea: implicit consensus In each round, random node is picked This node proposes the next block in the chain Other nodes implicitly accept/reject this block by either extending it or ignoring it and extending chain from earlier block Every block contains hash of the block it extends

Consensus algorithm (simplified) New transactions are broadcast to all nodes Each node collects new transactions into a block In each round a random node gets to broadcast its block Other nodes accept the block only if all transactions in it are valid (unspent, valid signatures) Nodes express their acceptance of the block by including its hash in the next block they create

What can a malicious node do? Double-spending attack CA → B Pay to pkB : H( ) signed by A CA → A’ Pay to pkA’ : H( ) signed by A Can’t create new transactions from someone else’s address, or modify them. Suppressing tx’s is only a minor annoyance. Honest nodes will extend the longest valid branch

From Bob the merchant’s point of view 1 confirmation 3 confirmations CA → B CA → A’ Double-spend probability decreases exponentially with # of confirmations Most common heuristic: 6 confirmations double-spend attempt Hear about CA → B transaction 0 confirmations

Recap Protection against invalid transactions is cryptographic, but enforced by consensus Protection against double-spending is purely by consensus You’re never 100% sure a transaction is in consensus branch. Guarantee is probabilistic

Overview Centralization vs. decentralization Distributed consensus Consensus without identity: the block chain Incentives and proof-of-work Putting it all together

Assumption of honesty is problematic Can we give nodes incentives for behaving honestly? Everything so far is just a distributed consensus protocol But now we utilize the fact that the currency has value Can we reward nodes that created these blocks? Can we penalize the node that created this block?

Incentive 1: block reward Creator of block gets to include special coin-creation transaction in the block choose recipient address of this transaction Value is fixed: currently 25 BTC, halves every 4 years Block creator gets to “collect” the reward only if the block ends up on long-term consensus branch!

There’s a finite supply of bitcoins Block reward is how new bitcoins are created Runs out in 2040. No new bitcoins unless rules change Total supply: 21 million Year Total bitcoins in circulation First inflection point: reward halved from 50BTC to 25BTC

Incentive 2: transaction fees Creator of transaction can choose to make output value less than input value Remainder is a transaction fee and goes to block creator Purely voluntary, like a tip

Remaining problems How to pick a random node? How to avoid a free-for-all due to rewards? How to prevent Sybil attacks?

Proof of work To approximate selecting a random node: select nodes in proportion to a resource that no one can monopolize (we hope) In proportion to computing power: proof-of-work In proportion to ownership: proof-of-stake

Equivalent views of proof of work Select nodes in proportion to computing power Let nodes compete for right to create block Make it moderately hard to create new identities

Hash puzzles To create block, find nonce s.t. prev_h Tx To create block, find nonce s.t. H(nonce ‖ prev_hash ‖ tx ‖ … ‖ tx) is very small Output space of hash Target space If hash function is secure: only way to succeed is to try enough nonces until you get lucky If Alice has 100x more computing power than Bob it doesn’t mean she always wins the race. It means she has about a 99% chance of wining. In the long run Bob will create 1% of the blocks

PoW property 1: difficult to compute As of Aug 2014: about 1020 hashes/block Only some nodes bother to compete — miners

PoW property 2: parameterizable cost Nodes automatically re-calculate the target every two weeks Goal: average time between blocks = 10 minutes Prob (Alice wins next block) = fraction of global hash power she controls what happens if time b/w blocks is too low or too high

Key security assumption Attacks infeasible if majority of miners weighted by hash power follow the protocol

Solving hash puzzles is probabilistic Time to next block (entire network) Probability density 10 minutes  

PoW property 3: trivial to verify Nonce must be published as part of block Other miners simply verify that H(nonce ‖ prev_hash ‖ tx ‖ … ‖ tx) < target

Mining economics Complications: fixed vs. variable costs reward depends on global hash rate If mining reward (block reward + Tx fees) > hardware + electricity cost → Profit

Overview Centralization vs. decentralization Distributed consensus Consensus without identity: the block chain Incentives and proof-of-work Putting it all together

Recap Identities Transactions P2P network Block chain & consensus Hash puzzles & mining

Bitcoin has three types of consensus Value State Rules

Bitcoin is bootstrapped security of block chain value of currency health of mining ecosystem

What can a “51% attacker” do? Steal coins from existing address? Suppress some transactions? From the block chain From the P2P network Change the block reward? Destroy confidence in Bitcoin? ✗ ✓ ✓✓

Remaining questions How do we get from consensus to currency? What else can we do with consensus?