SlideShare una empresa de Scribd logo
1 de 52
Descargar para leer sin conexión
Bitcoin - Decentralised Open-Source Peer-to-Peer
Cryptocurrency
Bogdan Suvar, David Gureya
Instituto Superior T´cnico
e
{bogdan.suvar, david.gureya}@ist.utl.pt

December 9, 2013

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

1 / 19
Overview
1

Introduction
Motivation
Background

2

Protocol
Wallet
Transactions
Blocks
Network

3

Advantages and Disadvantages

4

Alternative Cryptocurrencies

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

2 / 19
Outline

1

Introduction
Motivation
Background
Wallet
Transactions
Blocks
Network

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

3 / 19
Motivation

Popular P2P and first cryptocurrency
Pseudonimity and Anonymity (with Tor)
Decentralised
Limitations and vulnerabilities
Alternatives

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

3 / 19
Motivation

Figure: Interest by Google searches over the past 3 years

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

4 / 19
Motivation

Figure: Regional interest from Google queries for bitcoin

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

5 / 19
Background

Proof Of Work systems
Challenge-response CPU-bound computation. Initially used for DOS,
spam
Asymmetric cryptography
Used for transactions. Transactions represent bitcoins. Private keys
are used to sign transactions, public keys are used for destination
Cryptographic hash functions
Generate a hash that starts with a certain number of 0s (difficulty).
Easy to validate, hard to find

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

6 / 19
Background

Proof Of Work systems
Challenge-response CPU-bound computation. Initially used for DOS,
spam
Asymmetric cryptography
Used for transactions. Transactions represent bitcoins. Private keys
are used to sign transactions, public keys are used for destination
Cryptographic hash functions
Generate a hash that starts with a certain number of 0s (difficulty).
Easy to validate, hard to find

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

6 / 19
Background

Proof Of Work systems
Challenge-response CPU-bound computation. Initially used for DOS,
spam
Asymmetric cryptography
Used for transactions. Transactions represent bitcoins. Private keys
are used to sign transactions, public keys are used for destination
Cryptographic hash functions
Generate a hash that starts with a certain number of 0s (difficulty).
Easy to validate, hard to find

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

6 / 19
Outline

Motivation
Background

2

Protocol
Wallet
Transactions
Blocks
Network

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

7 / 19
Wallet
Contents
keypairs for each of the addresses
transactions done to/from
key pool
default keys
user preferences
accounts

Security
Physical: paper, hardware
Back-up
Password
One wallet per installation
Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

7 / 19
Transactions
Definition
A signed part of data that is broadcasted to the network and collected into
blocks. It references a previous transaction and a certain number of
bitcoins to (one or more) public key(s).

How it works
1

Digitally sign:
output of the previous transaction
recipient’s public key hash
value (satoshi’s)

2

Broadcast it on the network

3

Wait to be included in a block ( 10 minutes)

4

Add block of transactions to the ledger

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

8 / 19
Blocks
Definition
The blocks permanently record all the Bitcoin transactions on the network
- similar to a ledger. New blocks are added at the end of the record, to a
block chain

Contents
List of transactions
Nonce (see POW)
Header

Mining
Generate a new hash of the block header + nonce until the right one was
found. Reward = 25 BTC and it halves every 4 years. A new block is
created every 10 minutes.
Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

9 / 19
Network Overview

Communication via TCP
Ports: default 8333, but CLI configurable
IPv6 support
Node bootstraping:
1
2

Send messages to a hardcoded list of nodes (seed nodes)
(default) DNS request to a list of hostnames

Heartbeat: keepalive message every 30 min; connection closes after
90 min

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

10 / 19
Node Discovery

Node steps:
1

Discover their external IP address (via dyndns.org or showmyip.com)

2

Receive callback addresses of nodes that connect to them

3

DNS requests for IP addresses

4

Use the ”seed” (hardcoded) addresses

5

Exchange addresses with other nodes

6

Store (timestamped) addresses in a database for startup

7

Enter new, custom, addresses from the command line

8

Read addresses from user provided text file on startup

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

11 / 19
Node Discovery

Node steps:
1

Discover their external IP address (via dyndns.org or showmyip.com)

2

Receive callback addresses of nodes that connect to them

3

DNS requests for IP addresses

4

Use the ”seed” (hardcoded) addresses

5

Exchange addresses with other nodes

6

Store (timestamped) addresses in a database for startup

7

Enter new, custom, addresses from the command line

8

Read addresses from user provided text file on startup

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

11 / 19
Node Discovery

Node steps:
1

Discover their external IP address (via dyndns.org or showmyip.com)

2

Receive callback addresses of nodes that connect to them

3

DNS requests for IP addresses

4

Use the ”seed” (hardcoded) addresses

5

Exchange addresses with other nodes

6

Store (timestamped) addresses in a database for startup

7

Enter new, custom, addresses from the command line

8

Read addresses from user provided text file on startup

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

11 / 19
Node Discovery

Node steps:
1

Discover their external IP address (via dyndns.org or showmyip.com)

2

Receive callback addresses of nodes that connect to them

3

DNS requests for IP addresses

4

Use the ”seed” (hardcoded) addresses

5

Exchange addresses with other nodes

6

Store (timestamped) addresses in a database for startup

7

Enter new, custom, addresses from the command line

8

Read addresses from user provided text file on startup

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

11 / 19
Node Discovery

Node steps:
1

Discover their external IP address (via dyndns.org or showmyip.com)

2

Receive callback addresses of nodes that connect to them

3

DNS requests for IP addresses

4

Use the ”seed” (hardcoded) addresses

5

Exchange addresses with other nodes

6

Store (timestamped) addresses in a database for startup

7

Enter new, custom, addresses from the command line

8

Read addresses from user provided text file on startup

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

11 / 19
Node Discovery

Node steps:
1

Discover their external IP address (via dyndns.org or showmyip.com)

2

Receive callback addresses of nodes that connect to them

3

DNS requests for IP addresses

4

Use the ”seed” (hardcoded) addresses

5

Exchange addresses with other nodes

6

Store (timestamped) addresses in a database for startup

7

Enter new, custom, addresses from the command line

8

Read addresses from user provided text file on startup

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

11 / 19
Node Discovery

Node steps:
1

Discover their external IP address (via dyndns.org or showmyip.com)

2

Receive callback addresses of nodes that connect to them

3

DNS requests for IP addresses

4

Use the ”seed” (hardcoded) addresses

5

Exchange addresses with other nodes

6

Store (timestamped) addresses in a database for startup

7

Enter new, custom, addresses from the command line

8

Read addresses from user provided text file on startup

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

11 / 19
Node Discovery

Node steps:
1

Discover their external IP address (via dyndns.org or showmyip.com)

2

Receive callback addresses of nodes that connect to them

3

DNS requests for IP addresses

4

Use the ”seed” (hardcoded) addresses

5

Exchange addresses with other nodes

6

Store (timestamped) addresses in a database for startup

7

Enter new, custom, addresses from the command line

8

Read addresses from user provided text file on startup

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

11 / 19
Address request handling

Upong receiving a node’s request for addresses:
1

Count all the addresses in the past 3 hours

2

If there are more than 2500, select the first 2500 randomly

3

Return addresses to the requestor

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

12 / 19
Address request handling

Upong receiving a node’s request for addresses:
1

Count all the addresses in the past 3 hours

2

If there are more than 2500, select the first 2500 randomly

3

Return addresses to the requestor

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

12 / 19
Address request handling

Upong receiving a node’s request for addresses:
1

Count all the addresses in the past 3 hours

2

If there are more than 2500, select the first 2500 randomly

3

Return addresses to the requestor

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

12 / 19
Vulnerabilities

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

13 / 19
Vulnerabilities
Sniffing
No encryption, since all transaction data is visible to all nodes.
Attacker could monitor all incoming and outgoing data and later
target specific users.

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

13 / 19
Vulnerabilities
Sniffing
No encryption, since all transaction data is visible to all nodes.
Attacker could monitor all incoming and outgoing data and later
target specific users.
DoS attack
Moderate protection exists: Client accepts only Transaction messages.
Malicious node may use Transaction messages for DoS - costs a lot of
coins. Result: the node could be disconnected from the network or
hamper other trans. to be sent.

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

13 / 19
Vulnerabilities
Sniffing
No encryption, since all transaction data is visible to all nodes.
Attacker could monitor all incoming and outgoing data and later
target specific users.
DoS attack
Moderate protection exists: Client accepts only Transaction messages.
Malicious node may use Transaction messages for DoS - costs a lot of
coins. Result: the node could be disconnected from the network or
hamper other trans. to be sent.
Segmentation
Nodes handle disputes on data integerity. Transactions could appear
confirmed in one segment then, upon joining the other segment, be
invalidated.

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

13 / 19
Vulnerabilities
Sniffing
No encryption, since all transaction data is visible to all nodes.
Attacker could monitor all incoming and outgoing data and later
target specific users.
DoS attack
Moderate protection exists: Client accepts only Transaction messages.
Malicious node may use Transaction messages for DoS - costs a lot of
coins. Result: the node could be disconnected from the network or
hamper other trans. to be sent.
Segmentation
Nodes handle disputes on data integerity. Transactions could appear
confirmed in one segment then, upon joining the other segment, be
invalidated.
51% Attacks
Computationally unfeasible: attacker must have 51% more computing
power than all the other miners combined. Reason: control block
history.

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

13 / 19
Scalability
Transactions
Visa: avg. 2000 tps, peak: 4k tps; holiday: avg 8k tps; burst>10k
Paypall: avg. 46 tps, peak: 100 tps;
Bitcoin (today): (artificially) limited to 7 tps

CPU
Node verifies (SHA256) a trans. which it doesn’t have. Hashing 1MB
takes 10 miliseconds = 4k tps achievable in mainstream CPUs (i7s) [3]

Network
For 2k tps, trans.= 0.5 kb;((2k * 512)/1024)/1024 = 0.97MBs (7.8Mbps)

Storage
Blocks can be over 0.5 GB for high tps. Pruning is possible.
Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

14 / 19
Outline

Motivation
Background
Wallet
Transactions
Blocks
Network

3

Advantages and Disadvantages

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

15 / 19
Advantages

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

15 / 19
Advantages

Computationally unfeasible to abuse/cheat

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

15 / 19
Advantages

Computationally unfeasible to abuse/cheat
Highly flexible protocol (script modification)

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

15 / 19
Advantages

Computationally unfeasible to abuse/cheat
Highly flexible protocol (script modification)
Descentralised

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

15 / 19
Advantages

Computationally unfeasible to abuse/cheat
Highly flexible protocol (script modification)
Descentralised
Incetivised availability

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

15 / 19
Advantages

Computationally unfeasible to abuse/cheat
Highly flexible protocol (script modification)
Descentralised
Incetivised availability
Open-source

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

15 / 19
Disadvantages

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

16 / 19
Disadvantages

1

Too transparent

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

16 / 19
Disadvantages

1

Too transparent

2

Limited supply of bitcoins

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

16 / 19
Disadvantages

1

Too transparent

2

Limited supply of bitcoins

3

Scalability (storage limitations)

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

16 / 19
Disadvantages

1

Too transparent

2

Limited supply of bitcoins

3

Scalability (storage limitations)

4

Useless mining

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

16 / 19
Disadvantages

1

Too transparent

2

Limited supply of bitcoins

3

Scalability (storage limitations)

4

Useless mining

5

Fluctuating evaluation

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

16 / 19
Disadvantages

1

Too transparent

2

Limited supply of bitcoins

3

Scalability (storage limitations)

4

Useless mining

5

Fluctuating evaluation

6

Benefiting early adopters/investors in specialised hardware

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

16 / 19
Disadvantages

1

Too transparent

2

Limited supply of bitcoins

3

Scalability (storage limitations)

4

Useless mining

5

Fluctuating evaluation

6

Benefiting early adopters/investors in specialised hardware

7

Redemption of lost bitcoins

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

16 / 19
Disadvantages

1

Too transparent

2

Limited supply of bitcoins

3

Scalability (storage limitations)

4

Useless mining

5

Fluctuating evaluation

6

Benefiting early adopters/investors in specialised hardware

7

Redemption of lost bitcoins

8

Susceptible to criminal usage (Silk Road)

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

16 / 19
Disadvantages

1

Too transparent

2

Limited supply of bitcoins

3

Scalability (storage limitations)

4

Useless mining

5

Fluctuating evaluation

6

Benefiting early adopters/investors in specialised hardware

7

Redemption of lost bitcoins

8

Susceptible to criminal usage (Silk Road)

9

Slow transaction times (mining)

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

16 / 19
Outline

Motivation
Background
Wallet
Transactions
Blocks
Network

4

Alternative Cryptocurrencies

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

17 / 19
Alternatives

Currency

POW

Bitcoin
Litecoin
Peercoin
Namecoin

SHA-256d
scrypt
SHA-256+POS
SHA-256d

Primecoin

Currency
Units
21M
84M
2B
21M

Cunningham

Bogdan Suvar, David Gureya (EMDC)

Block
Every...
10 min
2.5 min
1 min
10 min

Difficulty
Adjustment
2016
2016

Initial
Reward
50
50

2016

50

Mkt.
Cap.
10B
238M
45M
19.5M

10 min

1

999
diff 2

7M

Bitcoin

Distinguishing features
First cryptocurrency created 2009
Faster transactions, memory-hard mining
Proof of stake, steady inflation, centralized checkpoint
descentralized DNS (.bit TLDs)
Useful mining, Smooth difficulty adjustment
Fast confirmations, Self-adjusting block reward

December 9, 2013

17 / 19
References
Satoshi Nakamoto (2008)
Bitcoin: A peer-to-peer electronic cash system
Piotr Piasecki (2012)
Design and security analysis of Bitcoin infrastructure using application deployed on
Google App Engine
Technical University of Gdansk
Bitcoin Wiki(2013)
Bitcoin - Scalability
Karl Whelan (2013)
So What’s So Special About Bitcoin?
Forbes
Vitalkin Buterin (2013)
Primecoin: The cryptocurrency whose mining is actually useful
Bitcoin Magazine
Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

18 / 19
Questions ?

Bogdan Suvar, David Gureya (EMDC)

Bitcoin

December 9, 2013

19 / 19

Más contenido relacionado

La actualidad más candente

DEF CON 27 - GERALD DOUSSOT AND ROGER MEYER - state of dns rebinding attack ...
DEF CON 27 - GERALD DOUSSOT  AND ROGER MEYER - state of dns rebinding attack ...DEF CON 27 - GERALD DOUSSOT  AND ROGER MEYER - state of dns rebinding attack ...
DEF CON 27 - GERALD DOUSSOT AND ROGER MEYER - state of dns rebinding attack ...Felipe Prado
 
DNSSEC: What a Registrar Needs to Know (Part 2)
DNSSEC:  What a Registrar Needs to Know (Part 2)DNSSEC:  What a Registrar Needs to Know (Part 2)
DNSSEC: What a Registrar Needs to Know (Part 2)laurenrprice
 
Improving Authenticated Dynamic Dictionaries, with Application to Cryptocurre...
Improving Authenticated Dynamic Dictionaries, with Application to Cryptocurre...Improving Authenticated Dynamic Dictionaries, with Application to Cryptocurre...
Improving Authenticated Dynamic Dictionaries, with Application to Cryptocurre...Dmitry Meshkov
 
Dublin JUG Stateless Microservice Security via JWT, TomEE and MicroProfile
Dublin JUG Stateless Microservice Security via JWT, TomEE and MicroProfileDublin JUG Stateless Microservice Security via JWT, TomEE and MicroProfile
Dublin JUG Stateless Microservice Security via JWT, TomEE and MicroProfileJean-Louis MONTEIRO
 
Beyond Logging: Using MongoDB to Power a Private Social Network (Oh, and log ...
Beyond Logging: Using MongoDB to Power a Private Social Network (Oh, and log ...Beyond Logging: Using MongoDB to Power a Private Social Network (Oh, and log ...
Beyond Logging: Using MongoDB to Power a Private Social Network (Oh, and log ...justinjenkins
 
Berlinsides 2015
Berlinsides 2015Berlinsides 2015
Berlinsides 2015aestetix
 
The Ring programming language version 1.9 book - Part 208 of 210
The Ring programming language version 1.9 book - Part 208 of 210The Ring programming language version 1.9 book - Part 208 of 210
The Ring programming language version 1.9 book - Part 208 of 210Mahmoud Samir Fayed
 

La actualidad más candente (8)

DEF CON 27 - GERALD DOUSSOT AND ROGER MEYER - state of dns rebinding attack ...
DEF CON 27 - GERALD DOUSSOT  AND ROGER MEYER - state of dns rebinding attack ...DEF CON 27 - GERALD DOUSSOT  AND ROGER MEYER - state of dns rebinding attack ...
DEF CON 27 - GERALD DOUSSOT AND ROGER MEYER - state of dns rebinding attack ...
 
DNSSEC: What a Registrar Needs to Know (Part 2)
DNSSEC:  What a Registrar Needs to Know (Part 2)DNSSEC:  What a Registrar Needs to Know (Part 2)
DNSSEC: What a Registrar Needs to Know (Part 2)
 
Improving Authenticated Dynamic Dictionaries, with Application to Cryptocurre...
Improving Authenticated Dynamic Dictionaries, with Application to Cryptocurre...Improving Authenticated Dynamic Dictionaries, with Application to Cryptocurre...
Improving Authenticated Dynamic Dictionaries, with Application to Cryptocurre...
 
Dublin JUG Stateless Microservice Security via JWT, TomEE and MicroProfile
Dublin JUG Stateless Microservice Security via JWT, TomEE and MicroProfileDublin JUG Stateless Microservice Security via JWT, TomEE and MicroProfile
Dublin JUG Stateless Microservice Security via JWT, TomEE and MicroProfile
 
Beyond Logging: Using MongoDB to Power a Private Social Network (Oh, and log ...
Beyond Logging: Using MongoDB to Power a Private Social Network (Oh, and log ...Beyond Logging: Using MongoDB to Power a Private Social Network (Oh, and log ...
Beyond Logging: Using MongoDB to Power a Private Social Network (Oh, and log ...
 
Berlinsides 2015
Berlinsides 2015Berlinsides 2015
Berlinsides 2015
 
PPT
PPTPPT
PPT
 
The Ring programming language version 1.9 book - Part 208 of 210
The Ring programming language version 1.9 book - Part 208 of 210The Ring programming language version 1.9 book - Part 208 of 210
The Ring programming language version 1.9 book - Part 208 of 210
 

Similar a Bitcoin

Practical Hadoop using Pig
Practical Hadoop using PigPractical Hadoop using Pig
Practical Hadoop using PigDavid Wellman
 
Bitcoin & Blockchain
Bitcoin & Blockchain Bitcoin & Blockchain
Bitcoin & Blockchain Len Mei
 
Passive DNS Collection – Henry Stern, Cisco
Passive DNS Collection – Henry Stern, CiscoPassive DNS Collection – Henry Stern, Cisco
Passive DNS Collection – Henry Stern, CiscoHenry Stern
 
Fun with Fabric in 15
Fun with Fabric in 15Fun with Fabric in 15
Fun with Fabric in 15Neo4j
 
Mobile Privacy - Meetup #5 - 2022-10-13
Mobile Privacy - Meetup #5 - 2022-10-13Mobile Privacy - Meetup #5 - 2022-10-13
Mobile Privacy - Meetup #5 - 2022-10-13RoundRockBitcoiners
 

Similar a Bitcoin (9)

MongoDB Sharding
MongoDB ShardingMongoDB Sharding
MongoDB Sharding
 
Practical Hadoop using Pig
Practical Hadoop using PigPractical Hadoop using Pig
Practical Hadoop using Pig
 
Bitcoin & Blockchain
Bitcoin & Blockchain Bitcoin & Blockchain
Bitcoin & Blockchain
 
Introduction P2p
Introduction P2pIntroduction P2p
Introduction P2p
 
Sockets
SocketsSockets
Sockets
 
Passive DNS Collection – Henry Stern, Cisco
Passive DNS Collection – Henry Stern, CiscoPassive DNS Collection – Henry Stern, Cisco
Passive DNS Collection – Henry Stern, Cisco
 
Fun with Fabric in 15
Fun with Fabric in 15Fun with Fabric in 15
Fun with Fabric in 15
 
Mobile Privacy - Meetup #5 - 2022-10-13
Mobile Privacy - Meetup #5 - 2022-10-13Mobile Privacy - Meetup #5 - 2022-10-13
Mobile Privacy - Meetup #5 - 2022-10-13
 
Bids talk 9.18
Bids talk 9.18Bids talk 9.18
Bids talk 9.18
 

Último

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Bitcoin

  • 1. Bitcoin - Decentralised Open-Source Peer-to-Peer Cryptocurrency Bogdan Suvar, David Gureya Instituto Superior T´cnico e {bogdan.suvar, david.gureya}@ist.utl.pt December 9, 2013 Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 1 / 19
  • 4. Motivation Popular P2P and first cryptocurrency Pseudonimity and Anonymity (with Tor) Decentralised Limitations and vulnerabilities Alternatives Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 3 / 19
  • 5. Motivation Figure: Interest by Google searches over the past 3 years Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 4 / 19
  • 6. Motivation Figure: Regional interest from Google queries for bitcoin Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 5 / 19
  • 7. Background Proof Of Work systems Challenge-response CPU-bound computation. Initially used for DOS, spam Asymmetric cryptography Used for transactions. Transactions represent bitcoins. Private keys are used to sign transactions, public keys are used for destination Cryptographic hash functions Generate a hash that starts with a certain number of 0s (difficulty). Easy to validate, hard to find Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 6 / 19
  • 8. Background Proof Of Work systems Challenge-response CPU-bound computation. Initially used for DOS, spam Asymmetric cryptography Used for transactions. Transactions represent bitcoins. Private keys are used to sign transactions, public keys are used for destination Cryptographic hash functions Generate a hash that starts with a certain number of 0s (difficulty). Easy to validate, hard to find Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 6 / 19
  • 9. Background Proof Of Work systems Challenge-response CPU-bound computation. Initially used for DOS, spam Asymmetric cryptography Used for transactions. Transactions represent bitcoins. Private keys are used to sign transactions, public keys are used for destination Cryptographic hash functions Generate a hash that starts with a certain number of 0s (difficulty). Easy to validate, hard to find Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 6 / 19
  • 11. Wallet Contents keypairs for each of the addresses transactions done to/from key pool default keys user preferences accounts Security Physical: paper, hardware Back-up Password One wallet per installation Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 7 / 19
  • 12. Transactions Definition A signed part of data that is broadcasted to the network and collected into blocks. It references a previous transaction and a certain number of bitcoins to (one or more) public key(s). How it works 1 Digitally sign: output of the previous transaction recipient’s public key hash value (satoshi’s) 2 Broadcast it on the network 3 Wait to be included in a block ( 10 minutes) 4 Add block of transactions to the ledger Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 8 / 19
  • 13. Blocks Definition The blocks permanently record all the Bitcoin transactions on the network - similar to a ledger. New blocks are added at the end of the record, to a block chain Contents List of transactions Nonce (see POW) Header Mining Generate a new hash of the block header + nonce until the right one was found. Reward = 25 BTC and it halves every 4 years. A new block is created every 10 minutes. Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 9 / 19
  • 14. Network Overview Communication via TCP Ports: default 8333, but CLI configurable IPv6 support Node bootstraping: 1 2 Send messages to a hardcoded list of nodes (seed nodes) (default) DNS request to a list of hostnames Heartbeat: keepalive message every 30 min; connection closes after 90 min Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 10 / 19
  • 15. Node Discovery Node steps: 1 Discover their external IP address (via dyndns.org or showmyip.com) 2 Receive callback addresses of nodes that connect to them 3 DNS requests for IP addresses 4 Use the ”seed” (hardcoded) addresses 5 Exchange addresses with other nodes 6 Store (timestamped) addresses in a database for startup 7 Enter new, custom, addresses from the command line 8 Read addresses from user provided text file on startup Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 11 / 19
  • 16. Node Discovery Node steps: 1 Discover their external IP address (via dyndns.org or showmyip.com) 2 Receive callback addresses of nodes that connect to them 3 DNS requests for IP addresses 4 Use the ”seed” (hardcoded) addresses 5 Exchange addresses with other nodes 6 Store (timestamped) addresses in a database for startup 7 Enter new, custom, addresses from the command line 8 Read addresses from user provided text file on startup Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 11 / 19
  • 17. Node Discovery Node steps: 1 Discover their external IP address (via dyndns.org or showmyip.com) 2 Receive callback addresses of nodes that connect to them 3 DNS requests for IP addresses 4 Use the ”seed” (hardcoded) addresses 5 Exchange addresses with other nodes 6 Store (timestamped) addresses in a database for startup 7 Enter new, custom, addresses from the command line 8 Read addresses from user provided text file on startup Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 11 / 19
  • 18. Node Discovery Node steps: 1 Discover their external IP address (via dyndns.org or showmyip.com) 2 Receive callback addresses of nodes that connect to them 3 DNS requests for IP addresses 4 Use the ”seed” (hardcoded) addresses 5 Exchange addresses with other nodes 6 Store (timestamped) addresses in a database for startup 7 Enter new, custom, addresses from the command line 8 Read addresses from user provided text file on startup Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 11 / 19
  • 19. Node Discovery Node steps: 1 Discover their external IP address (via dyndns.org or showmyip.com) 2 Receive callback addresses of nodes that connect to them 3 DNS requests for IP addresses 4 Use the ”seed” (hardcoded) addresses 5 Exchange addresses with other nodes 6 Store (timestamped) addresses in a database for startup 7 Enter new, custom, addresses from the command line 8 Read addresses from user provided text file on startup Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 11 / 19
  • 20. Node Discovery Node steps: 1 Discover their external IP address (via dyndns.org or showmyip.com) 2 Receive callback addresses of nodes that connect to them 3 DNS requests for IP addresses 4 Use the ”seed” (hardcoded) addresses 5 Exchange addresses with other nodes 6 Store (timestamped) addresses in a database for startup 7 Enter new, custom, addresses from the command line 8 Read addresses from user provided text file on startup Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 11 / 19
  • 21. Node Discovery Node steps: 1 Discover their external IP address (via dyndns.org or showmyip.com) 2 Receive callback addresses of nodes that connect to them 3 DNS requests for IP addresses 4 Use the ”seed” (hardcoded) addresses 5 Exchange addresses with other nodes 6 Store (timestamped) addresses in a database for startup 7 Enter new, custom, addresses from the command line 8 Read addresses from user provided text file on startup Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 11 / 19
  • 22. Node Discovery Node steps: 1 Discover their external IP address (via dyndns.org or showmyip.com) 2 Receive callback addresses of nodes that connect to them 3 DNS requests for IP addresses 4 Use the ”seed” (hardcoded) addresses 5 Exchange addresses with other nodes 6 Store (timestamped) addresses in a database for startup 7 Enter new, custom, addresses from the command line 8 Read addresses from user provided text file on startup Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 11 / 19
  • 23. Address request handling Upong receiving a node’s request for addresses: 1 Count all the addresses in the past 3 hours 2 If there are more than 2500, select the first 2500 randomly 3 Return addresses to the requestor Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 12 / 19
  • 24. Address request handling Upong receiving a node’s request for addresses: 1 Count all the addresses in the past 3 hours 2 If there are more than 2500, select the first 2500 randomly 3 Return addresses to the requestor Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 12 / 19
  • 25. Address request handling Upong receiving a node’s request for addresses: 1 Count all the addresses in the past 3 hours 2 If there are more than 2500, select the first 2500 randomly 3 Return addresses to the requestor Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 12 / 19
  • 26. Vulnerabilities Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 13 / 19
  • 27. Vulnerabilities Sniffing No encryption, since all transaction data is visible to all nodes. Attacker could monitor all incoming and outgoing data and later target specific users. Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 13 / 19
  • 28. Vulnerabilities Sniffing No encryption, since all transaction data is visible to all nodes. Attacker could monitor all incoming and outgoing data and later target specific users. DoS attack Moderate protection exists: Client accepts only Transaction messages. Malicious node may use Transaction messages for DoS - costs a lot of coins. Result: the node could be disconnected from the network or hamper other trans. to be sent. Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 13 / 19
  • 29. Vulnerabilities Sniffing No encryption, since all transaction data is visible to all nodes. Attacker could monitor all incoming and outgoing data and later target specific users. DoS attack Moderate protection exists: Client accepts only Transaction messages. Malicious node may use Transaction messages for DoS - costs a lot of coins. Result: the node could be disconnected from the network or hamper other trans. to be sent. Segmentation Nodes handle disputes on data integerity. Transactions could appear confirmed in one segment then, upon joining the other segment, be invalidated. Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 13 / 19
  • 30. Vulnerabilities Sniffing No encryption, since all transaction data is visible to all nodes. Attacker could monitor all incoming and outgoing data and later target specific users. DoS attack Moderate protection exists: Client accepts only Transaction messages. Malicious node may use Transaction messages for DoS - costs a lot of coins. Result: the node could be disconnected from the network or hamper other trans. to be sent. Segmentation Nodes handle disputes on data integerity. Transactions could appear confirmed in one segment then, upon joining the other segment, be invalidated. 51% Attacks Computationally unfeasible: attacker must have 51% more computing power than all the other miners combined. Reason: control block history. Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 13 / 19
  • 31. Scalability Transactions Visa: avg. 2000 tps, peak: 4k tps; holiday: avg 8k tps; burst>10k Paypall: avg. 46 tps, peak: 100 tps; Bitcoin (today): (artificially) limited to 7 tps CPU Node verifies (SHA256) a trans. which it doesn’t have. Hashing 1MB takes 10 miliseconds = 4k tps achievable in mainstream CPUs (i7s) [3] Network For 2k tps, trans.= 0.5 kb;((2k * 512)/1024)/1024 = 0.97MBs (7.8Mbps) Storage Blocks can be over 0.5 GB for high tps. Pruning is possible. Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 14 / 19
  • 33. Advantages Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 15 / 19
  • 34. Advantages Computationally unfeasible to abuse/cheat Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 15 / 19
  • 35. Advantages Computationally unfeasible to abuse/cheat Highly flexible protocol (script modification) Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 15 / 19
  • 36. Advantages Computationally unfeasible to abuse/cheat Highly flexible protocol (script modification) Descentralised Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 15 / 19
  • 37. Advantages Computationally unfeasible to abuse/cheat Highly flexible protocol (script modification) Descentralised Incetivised availability Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 15 / 19
  • 38. Advantages Computationally unfeasible to abuse/cheat Highly flexible protocol (script modification) Descentralised Incetivised availability Open-source Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 15 / 19
  • 39. Disadvantages Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 16 / 19
  • 40. Disadvantages 1 Too transparent Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 16 / 19
  • 41. Disadvantages 1 Too transparent 2 Limited supply of bitcoins Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 16 / 19
  • 42. Disadvantages 1 Too transparent 2 Limited supply of bitcoins 3 Scalability (storage limitations) Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 16 / 19
  • 43. Disadvantages 1 Too transparent 2 Limited supply of bitcoins 3 Scalability (storage limitations) 4 Useless mining Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 16 / 19
  • 44. Disadvantages 1 Too transparent 2 Limited supply of bitcoins 3 Scalability (storage limitations) 4 Useless mining 5 Fluctuating evaluation Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 16 / 19
  • 45. Disadvantages 1 Too transparent 2 Limited supply of bitcoins 3 Scalability (storage limitations) 4 Useless mining 5 Fluctuating evaluation 6 Benefiting early adopters/investors in specialised hardware Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 16 / 19
  • 46. Disadvantages 1 Too transparent 2 Limited supply of bitcoins 3 Scalability (storage limitations) 4 Useless mining 5 Fluctuating evaluation 6 Benefiting early adopters/investors in specialised hardware 7 Redemption of lost bitcoins Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 16 / 19
  • 47. Disadvantages 1 Too transparent 2 Limited supply of bitcoins 3 Scalability (storage limitations) 4 Useless mining 5 Fluctuating evaluation 6 Benefiting early adopters/investors in specialised hardware 7 Redemption of lost bitcoins 8 Susceptible to criminal usage (Silk Road) Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 16 / 19
  • 48. Disadvantages 1 Too transparent 2 Limited supply of bitcoins 3 Scalability (storage limitations) 4 Useless mining 5 Fluctuating evaluation 6 Benefiting early adopters/investors in specialised hardware 7 Redemption of lost bitcoins 8 Susceptible to criminal usage (Silk Road) 9 Slow transaction times (mining) Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 16 / 19
  • 50. Alternatives Currency POW Bitcoin Litecoin Peercoin Namecoin SHA-256d scrypt SHA-256+POS SHA-256d Primecoin Currency Units 21M 84M 2B 21M Cunningham Bogdan Suvar, David Gureya (EMDC) Block Every... 10 min 2.5 min 1 min 10 min Difficulty Adjustment 2016 2016 Initial Reward 50 50 2016 50 Mkt. Cap. 10B 238M 45M 19.5M 10 min 1 999 diff 2 7M Bitcoin Distinguishing features First cryptocurrency created 2009 Faster transactions, memory-hard mining Proof of stake, steady inflation, centralized checkpoint descentralized DNS (.bit TLDs) Useful mining, Smooth difficulty adjustment Fast confirmations, Self-adjusting block reward December 9, 2013 17 / 19
  • 51. References Satoshi Nakamoto (2008) Bitcoin: A peer-to-peer electronic cash system Piotr Piasecki (2012) Design and security analysis of Bitcoin infrastructure using application deployed on Google App Engine Technical University of Gdansk Bitcoin Wiki(2013) Bitcoin - Scalability Karl Whelan (2013) So What’s So Special About Bitcoin? Forbes Vitalkin Buterin (2013) Primecoin: The cryptocurrency whose mining is actually useful Bitcoin Magazine Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 18 / 19
  • 52. Questions ? Bogdan Suvar, David Gureya (EMDC) Bitcoin December 9, 2013 19 / 19