Loading presentation...

Present Remotely

Send the link below via email or IM


Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.



No description

Denis Voloshin

on 9 July 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Bitcoin

Bitcoin Overview (peer-to-peer currency)
Lecture content
Bitcoin’s basis is cryptography.
Bitcoin Overview
Eliminate the bank entirely from the protocol
Making everyone collectively the bank
P2P networks
Centralized p2p network (Master server)
Building up in stages
Asymmetric cryptography, (public/private key)
Ideas Infocoin is based on
A signed letter of intent
P2P network introduction
Asymmetric encryption, public/private key and digital signature
Building pseudo electronic money (
Using Bitcoin wallet
How to earn (
) Bitcoin
Bitcoin is securing transactions mechanism
Introduced in 2009 by dev/group Satoshi Nakamoto
Bitcoin is based on decentralized P2P network
Interesting facts
Pseudo decentralized p2p network
Decentralized p2p network
sample: BitTorrent,Bitcoin
sample: Gnutella
Digital signatures
Cryptographic hash function
Prevent from using the same bit string over and over
Infocoin (digital currency) - is bit string
Prevent someone else forging such a string of bits, and using that.
Transaction - data (bit string) that is broadcast to the network
Partially protected against forgery transaction
Alice and Bob
is "I, Alice, am giving Bob one infocoin"
Alice's_private_key (message) = i#$7653&^47c3478 .....
Alice wants pay Bob one infocoin
Anyone including Bob knows to valid the payment
Alice's_public_key(i#$7653&^47c3478 .....) =
Using serial numbers to make coins uniquely identifiable
Alice would sign the message
transaction is "I, Alice, am giving Bob one infocoin, with serial number 8740348"
transaction is "I, Alice, am giving Bob one infocoin, with serial number 8740323"
Current protocol flaws
The double spending solution
Scenario of double spending infocoin
Resolve double spending infocoin
Proof-of-work (continue)

Need a trusted source of serial numbers
A bank
Everyone (collectively) is the bank
Everyone keeps a complete record of which infocoins belong to which person
Public ledger (block chain) showing all Infocoin transactions
Block chain
Complete record of all transaction will be called in Bitcoin
A block is a record of some or all of the most recent Bitcoin transactions
“I, Alice, am giving Bob one infocoin, with serial number 1234567″
“I, Alice, am giving Charlie one infocoin, with serial number 1234567″
Bob, Charlie
Verify Alice’s infocoin, acception the transaction and broadcast their acceptance to the net
The solution
Bob and Charlie shouldn’t try to verify the transaction alone.
Collectively decide that the transaction is okay and then accept it.
“I, Alice, am giving Bob one infocoin, with serial number 1234567″
Validate the message using his copy of the block chain,whether the coin belongs to Alice
Broadcasts Alice’s message to the entire network for validation
Once enough people have broadcast that message
Everyone updates their block chain to show that infocoin 1234567 now belongs to Bob
The net
The protocol has many imprecise elements at present
What exactly does “enough” mean?
It can’t mean everyone in the network
It can’t mean some fixed fraction of users in the network
Alice uses an automated system to set up a large number of separate identities to double spend
The idea involves a combination of two ideas
(artificially) make it computationally costly for network users to validate transactions
to reward network users for trying to help validate transactions
Idea explanation
Validate transactions no longer is influenced by the number of network identities someone controls, but only by the total computational power
Validation protocol requires to solve a hard computational puzzle only then the rest of the network will accept it
The Puzzle
a fixed hash function, SHA-256 hash function used by Bitcoin
queue of pending transactions sample:
= " I'm Alice send 1 coin to Bob"
random number called nonce, sample:
= 0
l +

) = 1312af178c253f84028d480a6adcec8197619.....
Find a nonce
such that when we append
and hash the combination,
the output hash begins with a long run of zeroes.
Example: find has value with 10 leading 0 takes on average 16^10 ~ 10^12 different values for x
Bitcoin mining
Validation process is called
Validation process difficulty is automatically calculated by

Number of leading 0's called the puzzle's
For each block of transactions validation, a miner receives a bitcoin reward
Block validation takes in average 10 minutes
It was 50 bitcoins, each 4 years the reward halves, current it happened once
Bitcoin mining (continue)
The mining requires special hardware
The mining ecosystem are:
CPU Mining - simple laptop (MAC Pro 1340 Tt/s)
GPU Mining - graphical PU
FPGA Mining - Field-Programmable Gate Array
ASIC Mining - Application-specific integrated circuit
300 Tt/s
Price 25 $
Price 10.000 $
15.000.000 Tt/s
Bitcoin wallet
ASIC Minerscube 15
Desktop wallet (ex: Bitcoin-core, Multibit)
Mobile wallet (ex: Hive-android)
Web wallet
Interesting Facts
Thank you
The first transaction in 2010, 10000 BTC for two pizzas
Current BTC exchange rate is ~ 600 USD
Estimated number of Bitcoin users is ~1.8 Million
So far were generated ~13 Millions BTC, total number 21 Millions until 2140 y
Daily average USD Transaction Volume ~ 50 Millions
There are more than 150 different crypto-currencies
31000 lines of code behind Bitcoin
sample: E-Mule
Practically impossible to invert
Collision resistance
Provides authentication and non-repudiation
Full transcript