Bitcoin Double Spending Attack Karame, Androulaki & Capkun Presented by Subhro Kar CSCE 715, Fall 2013.

Slides:



Advertisements
Similar presentations
Secure Multiparty Computations on Bitcoin
Advertisements

Bitcoin: A New Internet Currency Stephen Clayton Senior Economic Education Specialist Federal Reserve Bank of Dallas The opinions expressed are solely.
Nathan Krussel.  What is a Crypto Currency  Purpose of Crypto Currency  What is Bitcoin  How does Bitcoin work  Mining BTC  How people perceive.
Secure Digital Currency: Bitcoin Amir Houmansadr CS660: Advanced Information Assurance Spring 2015 Content may be borrowed from other resources. See the.
COMS 486 Iowa State University Introduction to Bitcoin A P2P Electronic Cash System.
Ian Miers Christina Garman | Matthew Green | Avi Rubin Zerocoin: Anonymous Distributed E-Cash from Bitcoin.
Bitcoin. What is Bitcoin? A P2P network for electronic payments Benefits: – Low fees – No middlemen – No central authority – Can be anonymous – Each payment.
Michal Kriziak MA1N0218 Financial Management The Bitcoin Currency.
Towards a More Democratic Mining in Bitcoins Goutam Paul R. C. Bose Centre for Cryptology & Security, Indian Statistical Institute Pratik Sarkar Indian.
Stefan Dziembowski Why do the cryptographic currencies need a solid theory? Forum Informatyki Teoretycznej, Warsaw
BITCOIN An introduction to a decentralised and anonymous currency. By Andy Brodie.
ITIS 6010/8010: Wireless Network Security Weichao Wang.
ELECTRONIC PAYMENT SYSTEMS FALL 2002COPYRIGHT © 2002 MICHAEL I. SHAMOS eCommerce Technology Lecture 9 Micropayments I.
J. Wang. Computer Network Security Theory and Practice. Springer 2008 Chapter 4 Data Authentication Part II.
The world’s first decentralized digital currency Meni Rosenfeld Bitcoil 29/11/2012Written by Meni Rosenfeld1.
Digital Currency Kody Myers. Definition Currency that does not exist in any physical form, but can be used similarly to physical currency while retaining.
Bitcoin (what, why and how?)
BitCoin An overview. Why ? First crypto-currency.
Clemente-Cuervo et al. A PDA Implementation of an Off-line e-Cash Protocol.
Digital Cash. p2. OUTLINE  Properties  Scheme  Initialization  Creating a Coin  Spending the Coin  Depositing the Coin  Fraud Control  Anonymity.
Bitcoins and the Digital Economy Presented By: Matt Blackman.
1 Bitcoin A Digital Currency. Functions of Money.
Bitcoin today (October 2, 2015)
Bitcoin Jeff Chase Duke University.
Deanonimization methods in Bitcoin Network Marko Marić.
Electronic Cash R. Newman. Topics Defining anonymity Need for anonymity Defining privacy Threats to anonymity and privacy Mechanisms to provide anonymity.
SCP: A Computationally Scalable Byzantine Consensus Protocol for Blockchains Loi Luu, Viswesh Narayanan, Kunal Baweja, Chaodong Zheng, Seth Gilbert, Prateek.
EE324 DISTRIBUTED SYSTEMS L24-BitCoin and Security.
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.
Bitcoin Based on “Bitcoin Tutorial” presentation by Joseph Bonneau, Princeton University Bonneau slides marked “JB”
Towards Reference Architecture for Cryptocurrencies: Bitcoin Architectural Analysis Israa Alqassem, Davor Svetinovic.
How Bitcoin Achieves Decentralization
1 Bitcoin Bitcoin: A Peer-to-Peer Electronic Cash System – Satoshi Nakamoto A Fistful of Bitcoins: Characterizing Payments Among Men with No Names – Sarah.
Fourth Edition by William Stallings Lecture slides by Lawrie Brown
Ian Miers, Christina Garman, Matthew Green, Avi Rubin Zerocoin: Anonymous Distributed E-Cash from Bitcoin.
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.
Bitcoin: A Peer-to-Peer Electronic Cash System Satoshi Nakamoto 1.
Block Chain 101 May 2017.
Motivation ✓ ✘ ? Bitcoin/Ideal Credit Card Works on Internet
CSE 4095 Lecture 22 – BlockChain Slides adapted from Claudio Orlandi.
What Is Bitcoin? Launched in 2009 A p2p Electronic Cash System
Bitcoin and the Blockchain
Cryptocurrencies by.
Bitcoin - a distributed virtual currency system
Bitcoin Mining by David Kopczyk.
Distributed Systems for Information Systems Management
CPS 512 midterm exam #1, 10/5/17 Your name please: NetID:_______ Sign for your honor:____________________________.
So what is Blockchain anyway?
Deanonymization of Clients in Bitcoin P2P Network
protocollo e casi studio

Zcash Mining – A Guide For Beginners. Zcash (also known as ZEC and seventeenth most valued cryptocurrency with market capitalization of $500 million)
Advanced Cryptography Protocols
EECS 498 Introduction to Distributed Systems Fall 2017
Bitcoin: A New Internet Currency
Setting the Stage for a Community Blockchain Incubator
Blockchains slides have been taken from:
Bitcoin: Data flow.
Nonce Making Sense of Nonces.
Blockchain Concepts RISK FORUM 2017 Hash function (e.g. SHA-256)
Debasis Bhattacharya, JD, DBA – UH Maui College, HI
Kai Bu 04 Blockchain Kai Bu
Production and usage of Cryptocurrencies
Faculty Seminar Series Blockchain Technology
GAYATRI INSTITUTE OF COMPUTER AND MANAGEMENT HINJILICUT (GANJAM)
Bitcoin and Blockchain
Explore Txs, block, blockchain in Bitcoin
Author: Satoshi Nakamoto
Presentation transcript:

Bitcoin Double Spending Attack Karame, Androulaki & Capkun Presented by Subhro Kar CSCE 715, Fall 2013

Requirements of Digital Currencies New methods of purchases requiring new methods of payments. Security of payments. Non ambiguous but preferably anonymous mapping between services/products and payments for them. Non repudiation

Types of Digital Currencies Credit/Debit cards Echecks Moneygram/Moneypack and similar services E-gold Bitcoin/Litecoin/Namecoin

What is Bitcoin? Crypto currency Has no central controlling authority Secure Non reversible Anonymous Based on Proof of Work

Bitcoin Operations Peers transfer coins to each other Each peer holds a wallet which is designated by a wallet ID A transaction is formed by digitally signing hash of all previous transactions where the specific bitcoin in question was used previously. Any peer can verify a transaction.

Bitcoin Transactions An electronic coin is a chain of digital signatures Each owner transfers the coin to the next by digitally signing a hash of the previous transactions and the public key of the next owner adding these to the end of the coin. A payee can verify the signature to verify the chain of ownership.

Bitcoin Transactions

Bitcoin Transactions and Double spending problems The problem however remains that a payee can not verify that the owners did not double spend this coin. The problem could be removed by designing a central coin issuing authority, but that again makes Bitcoin reliant on a central authority.

Bitcoin blocks and verification Transactions are included in Bitcoin blocks that are broadcasted to the entire network Bitcoin relies on a hash based Proof-of-Work (PoW) scheme to detect double spending on the same Bitcoin

Proof of Work The proof-of-work involves scanning for a value that when hashed, such as with SHA-256, the hash begins with a number of zero bits. The average work required is exponential in the number of zero bits required and can be verified by executing a single hash.

Proof of Work in Bitcoin Proof-of-work is implemented by incrementing a nonce in the block until a value is found that gives the block's hash the required zero bits. Once the CPU effort has been expended to make it satisfy the proof-of-work, the block cannot be changed without redoing the work. As later blocks are chained after it, the work to change the block would include redoing all the blocks after it.

Managing the size of block chain Once the latest transaction in a coin is buried under enough blocks, the spent transactions before it can be discarded to save disk space. To facilitate this without breaking the block's hash, transactions are hashed in a Merkle Tree [7][2][5], with only the root included in the block's hash. Old blocks can then be compacted by stubbing off branches of the tree.

Bitcoin block generation Peers work to find a nonce value that when hashed with the Merkle hash of all valid and received transactions, the hash of the previous block and a timestamp is below a given target value. When such a nonce is found, peers then include the hash and additional fields which can then be verified by all peers on the network.

Bitcoin block generation Upon successful generation of a block, the generating peer is awarded 50 Bitcoins and the whole system is re-primed. The resulting block is broadcasted on the network which after verification is added to the block chain by all clients.

Block verification A user only needs to keep a copy of the block headers of the longest proof-of-work chain, which he can get by querying network nodes until he's convinced he has the longest chain, and obtain the Merkle branch linking the transaction to the block it's timestamped in. He can't check the transaction for himself, but by linking it to a place in the chain, he can see that a network node has accepted it, and blocks added after it further confirm the network has accepted it.

A bitcoin transaction

The attack scenario A bitcoin transaction is accepted only if majority of the clients in the network mark it as valid. As per the design of bitcoin, a transaction requires about 10 mins in the best case before it is included in a block and broadcasted for confirmation. If a merchant client accepts a transaction initially and later on gets refusal from majority of peers in the network, the attack is successful.

Block generation time It is possible for transactions to be delayed further depending on the difficulty of the hash being currently calculated. The complexity of the hash is adjusted based on the generation time of the previous hash.

Block generation times

Attacker Model A malicious client A forms the core of the attack model Let us assume A is trying to spend a coin B at a merchant V which she had already spend earlier. The attack will succeed if V accepts the bitcoin but can’t redeem it later on.

Attacker Model A requires at least another helper peer to succeed with the attack. We assume that the helper is H. The attack has a greater chance of succeeding if multiple helper peers are present in other parts of the planet.

The Attack A connects to V and creates a transaction T 1 with B. Since A and V are in the same network, V receives T 1 almost immediately. Since bitcoin clients accept all connections, the transaction is received.

The Attack A few seconds later A connects to H and transfers the same bitcoin B to H in transaction T 2. As per our assumption H is on the other side of the globe, so there is a good chance H does not know about T 1 which A had with V using B.

The Attack H immediately starts broadcasting T 2 in its local network and starts waiting for confirmation.

Success of the Attack The attack mentioned in the previous slides will succeed if: the time required for V to receive T 1 is shorter than that for T 2 the number of hosts which had included T 2 in its blockchain should be in majority.

Prevention of Double Spending Attack Unfortunately, there is no way to prevent this attack as the problem of time lag between a transaction and its acceptance lies in the protocol. Can contain a damage of a fraudulent transaction by limiting the number of bitcoins transferred in an unverified transaction.

Alternative currencies and prevention of double spending attacks Alternate currencies like Litecoin, Namecoin and PrimeCoin has been developed which has a shorter block generation time. Because SHA-256 is not used in any of the other currencies, the block generation is CPU bound. Therefore, the complexity of PoW remains under a threshold.

References Nakamoto, Satoshi. Bitcoin: A Peer-to-Peer Electronic Cash System. Karame, Ghassan O, Androulaki, Elli, Capkun, Srdjan, Two bit coins at the Price of One? Double-Spending Attacks on Fast Payments in Bitcoin Bitcoin wiki,