SlideShare a Scribd company logo
1 of 73
Mining Pools and Attacks
Stefan Dziembowski
University of Warsaw
Workshop on Bitcoin, Introduction to Cryptocurrencies,
Kfar Maccabiah, Ramat Gan, Israel, June 6-7, 2016
Plan
1. Mining pools
2. Security of Bitcoin
Mining pools
Miners create cartels called
the mining pools
This allows them to reduce the variance of their
income.
Note
283,494,086 GHash / s
1,700 GHash / s
The hashrate of the Achilles Labs AM-1700
miner (1095 USD)
The total hashrate of the
Bitcoin system as of 5.11.2014
number of
blocks in 1
year
The user has to wait on average over 3 years to mine a block
(even if the difficulty does not increase!)
โ‰ˆ 166,761 = 3.17 โ‹… (365 โ‹… 24 โ‹… 6)
The general picture
The mining pools are operated centrally or are designed in a
p2p way.
Some of the mining pools charge fees for their services.
In other words:
โ€ข the expected revenue from pooled mining is slightly lower
than the expected revenue from solo mining,
โ€ข but the variance is significantly smaller.
Tricky part: how to prevent cheating by miners? How to reward
the miners?
E.g. if the operator got 25 BTC from mining then he will share
25 BTC โ€“ fee among them
(and keep the fee to himself)
Popular mining pools
As of Oct 13, 2015:
How to design a mining pool?
Simple idea:
mining pool
operator
miner
a list of transactions ๐“ ๐ข and
a hash ๐‡(๐๐ข)
this includes a coinbase
transaction transferring
the reward to ๐ฉ๐ค.
๐ฉ๐ค
tries to find
๐ง๐จ๐ง๐œ๐ž such that
๐‡ ๐ง๐จ๐ง๐œ๐ž, ๐‡ ๐๐ข , ๐“ ๐ข
starts with ๐ง zeros
current hardness
parameter
if he finds such ๐ง๐จ๐ง๐œ๐ž then
he sends it to the operator
once ๐ง๐จ๐ง๐œ๐ž is found by
some of the pool members
each of them is rewarded
proportionally to his
work.
Problem
How to verify how
much work a miner
really did?
A solution: โ€œProportional methodโ€
mining pool
operator
miner
a list of transactions๐“ ๐ขand a hash ๐‡(๐๐ข)
tries to find
๐ง๐จ๐ง๐œ๐ž such that
๐‡ ๐ง๐จ๐ง๐œ๐ž, ๐‡ ๐๐ข , ๐“ ๐ข
starts with ๐ง zeros
if he finds such a ๐ง๐จ๐ง๐œ๐ž then he
sends it to the operator
he also submits the โ€œpartial
solutionsโ€, i.e. values
๐ง๐จ๐ง๐œ๐ž such that
๐‡ ๐ง๐จ๐ง๐œ๐ž, ๐‡ ๐๐ข , ๐“ ๐ข
starts with ๐งโ€ฒ zeros
๐งโ€ฒ
โ‰ช ๐ง
The โ€œamount of workโ€ is measured by the number of โ€œpartial
solutionsโ€ submitted.
Works if the miners donโ€™t change the pools
๐œถ ๐Ÿ
๐œถ ๐Ÿ
๐œถ ๐Ÿ‘
๐œถ ๐Ÿ’
โ‰ˆ proportional to ๐œถ ๐Ÿ
โ‰ˆ proportional to ๐œถ ๐Ÿ
โ‰ˆ proportional to ๐œถ ๐Ÿ‘
โ‰ˆ proportional to ๐œถ ๐Ÿ’
time
proportion of computing power
probability of that this pool wins: ๐œถ ๐Ÿ + ๐œถ ๐Ÿ + ๐œถ ๐Ÿ‘ + ๐œถ ๐Ÿ’
pool
members
submitted shares
reward for ๐๐Ÿ in case it wins: ๐๐“๐‚ ๐Ÿ๐Ÿ“ โ‹…
๐œถ ๐Ÿ
๐œถ ๐Ÿ+๐œถ ๐Ÿ+๐œถ ๐Ÿ‘+๐œถ ๐Ÿ’
๐๐Ÿ
expected reward
for ๐๐Ÿ: ๐๐“๐‚ ๐Ÿ๐Ÿ“ โ‹… ๐œถ ๐Ÿ
What if the miners change pools?
๐œถ ๐Ÿ
๐œถ ๐Ÿ
๐œถ ๐Ÿ‘
๐œถ ๐Ÿ’
time
๐๐Ÿ
start a new pool
Now the expected revenue of ๐๐Ÿ is a sum of
โ€ข ๐œถ ๐Ÿ (from the new pool)
โ€ข plus the revenue from the old pool.
A problem with the proportional
method: โ€œPool hoppingโ€
It is profitable to escape from pools with lots of shares
submitted.
(since such pools have a lot of โ€œmouths to feedโ€ there)
A solution: do not rewarding each share
equally
Example: Slushโ€™s method
Use a scoring function that assigns to each share a score ๐ฌ.
Then assign rewards proportionally to the score.
Slushโ€™s scoring function: ๐’” = ๐ž๐ฑ๐ฉ
๐“
๐‚
.
Intuitively: this gives advantage to miners who joined late.
time since the
beginning of this
โ€œroundโ€
some constant
Another solution: โ€œPay-per-shareโ€
The operator pays per each partial solution no matter if
he managed to extend the chain.
mining pool
operator
miner
partial solution
reward
Major drawback: risky for the operator.
He needs to have some reserves to cover the potential losses.
Other methods
Score-based: Geometric method, Double geometric method,
Pay-per-last-N-shares,
Improved pay-per-share: Maximum pay-per-share, Shared
maximum pay-per-share, Equalized , Shared maximum pay-
per-share,
(see [Meni Rosenfeld, Analysis of Bitcoin Pooled Mining
Reward Systems, 2011], [Okke Schrijvers, Joseph
Bonneau, Dan Boneh, and Tim Roughgarden, Incentive
Compatibility of Bitcoin Mining Pool Reward Functions])
...
How secure are these methods
We can assume that the mining pool operator is
honest, since he has a reputation.
Much harder to avoid: attacks from malicious miners.
We discuss two of them:
โ€ข โ€œsabotageโ€,
โ€ข โ€œlie-in-waitโ€.
Both of them are based on withholding certain blocks.
a bit similar to the selfish-
mining attack on Bitcoin
that we discuss later
A โ€œSabotageโ€attack on mining pools
Submit only the partial solutions.
mining pool
operator
partial solution
rewardcomplete solution dishonest
miner
Results:
โ€ข the pool looses money
โ€ข the dishonest miner doesnโ€™t earn anything (also looses a small amount)
Adversaryโ€™s goal: make the mining pool bankrupt
(e.g. he owns a competing pool).
It is rumored that in June 2014 such an attack was executed against the
mining pool Eligius. Estimated loses: 300 BTC.
Another attack: โ€œlie-in-waitโ€
Once you find a solution for ๐๐Ÿ (say):
1. wait with submitting it
2. mine only for ๐๐Ÿ
3. submit the solution to ๐๐Ÿ after
some time.
It can be formally shown that this is
profitable (see [Rosenfeld, 2011])
Mine for
several
mining pools:
1/3 computing power mining pool ๐๐Ÿ
mining pool ๐๐Ÿ
mining pool ๐๐Ÿ‘
Intuition: ๐๐Ÿ is a very
likely winner
Can we have a mining pool without an
operator?
(remember: the operators typically charge a fee).
Answer: yes, using the
Peer-to-peer mining pools.
Peer-to-peer mining pools
General idea: the miners create a
blockchain with hardness parameter
๐งโ€ฒ โ‰ช ๐ง on top of the last block ๐๐ข.
Every ๐๐ข
๐Ÿ
, ๐๐ข
๐Ÿ
, โ€ฆ is a valid extension of
๐๐ข (except that the hardness may be
smaller than ๐ง).
The parameter ๐งโ€ฒ is chosen is such a
way that a new block appears often
(say: once per 30 sec.)
๐๐ข
๐๐Ÿ ๐๐Ÿ
๐๐Ÿ‘
๐๐ข
๐Ÿ
๐๐ข
๐Ÿ
๐๐ข
๐Ÿ‘
๐ง โ€“ current hardness
parameter
Hence: this has to be
done using some
other fields in the
block
(fortunately: blocks
have space for this).
How is it done technically?
Bitcoin blocks contain fields that can be used to store H(๐๐ข
๐ฃ
)โ€™s.
H
๐๐ข:
โ€ฆ
โ€ฆ
โ€ฆ
๐๐ข
๐Ÿ
:
H
nonce
H(Bi)
trans.
๐๐ข
๐Ÿ
:
nonce
H(Bi)
trans.
H(๐๐ข
๐Ÿ
)
H
๐๐ข
๐Ÿ‘
:
nonce
H(Bi)
trans.
H(๐๐ข
๐Ÿ
)
Finally someone will find a block that
extends ๐๐ข according to Bitcoin rules.
๐๐ข
๐๐Ÿ ๐๐Ÿ ๐๐ค
๐๐ข
๐Ÿ
๐๐ข
๐Ÿ
๐๐ข
๐ค. . . ๐๐ข+๐Ÿ=:
๐๐ข
๐ค
enters the main
Bitcoinโ€™s blockchain
as ๐๐ข+๐Ÿ
ends with ๐ง zeros
call it โ€œfinalโ€
How to divide the revenue from mining?
๐๐ข
๐๐Ÿ ๐๐Ÿ
๐๐Ÿ‘
๐๐ข
๐Ÿ
๐๐ข
๐Ÿ
๐๐ข
๐Ÿ‘
includes in
๐๐ข
๐Ÿ
a
payment to
๐๐Ÿ
includes in
๐๐ข
๐Ÿ‘
a
payment to
๐๐Ÿ and ๐๐Ÿ
if this is missing then other
pool members will not mine
on top of this block
Note: the miner does not know in advance if his block will be final.
He has to choose the payment information beforehand.
Plan
1. Mining pools
2. Security of Bitcoin
Possible attack goals
โ€ข double spending,
โ€ข get more money from mining
than you should,
โ€ข โ€œshort sellingโ€ โ€“ bet that the
price of BTC will drop and then
destroy the system (to make the
price of BTC go to zero),
โ€ข someone (government?)
interested in shutting Bitcoin
downโ€ฆ
โ€œGoldfinger
attackโ€
Note: this can
be done e.g. by
a spectacular
fork that lasts
just for a few
hoursโ€ฆ
What we do (not) know about Bitcoinโ€™s
security?
1. Technical errors
2. Features/problems
3. Conceptual errors
4. Potential threats
5. Problems with key storage
Some notable cases of programming errors
โ€ข a block 74638 (Aug 2010) contained a transaction with two
outputs summing to over 184 billion BTC โ€“ this was
because of an integer overflow in Bitcoin software
(solved by a software update and a โ€œmanual forkโ€)
one double spending observed (worth 10.000 USD).
โ€ข a fork at block 225430 (March 2013) caused by an error in
the software update of Bitcoin Core
(lasted 6 hours, solved by reverting to an older version of
the software)
Moral: nothing can be really โ€œcompletely distributedโ€.
Sometimes human intervention is neededโ€ฆ
Transaction Malleability
T2 = (User P1 sends 1 BTC from T1 to P2 signature of P1 on [T2])
Hash
Hash(T2)
Problem: transactions are identified by their hashes
TxId =
Hence one can change TxId by mauling the signature:
(User P1 sends 1 BTC from T1 to P2 ๐ˆ) (User P1 sends 1 BTC from T1 to P2 ๐ˆโ€™)
How to do it?
Other methods also existsโ€ฆ
๐ˆ = (r,s)
is a valid signature on
M w.r.t. pk
๐ˆโ€ฒ = (r, -s (mod N))
is a valid signature on
M w.r.t. pk
Bitcoin uses ECDSA signatures. Hence:
What can the adversary do?
transaction T mauled T
miners
[Andrychowicz et al 2015]: very easy to perform in practice.
Is it a problem?
Often: NO
(the mauled transaction is semantically equivalent to the
original one)
When things can go wrong?
โ€ข Bitcoin contracts
โ€ข buggy software
Claimed attack on MtGox
deposits 1 BTC
withdraws 1 BTC
transaction
T = โ€œMtGox sends 1 BTC to Aโ€
A
transaction
Tโ€™ = mauled transaction T
blockt blockt+1 blockt+2 blockt+3
Since MtGox cannot see a
transaction with TxId Hash(T) in
the blockchain.
Thus it concludes that the
transaction did not happen.
(so A can double spend)
[Decker and Wattenhofer, ESORICS 2014]: this is probably not true.
What we do (not) know about Bitcoinโ€™s
security?
1. Technical errors
2. Features/problems
3. Conceptual errors
4. Potential threats
5. Problems with key storage
One obvious problem: lack of anonymity
Can sometimes be de-anonymized:
[Meiklejohn et al., A fistful of bitcoins: characterizing
payments among men with no names, 2013]
1 BTC 1 BTC
can be linked
1BTC
1 BTC 1 BTC
Heuristic solution:
1BTC
Another problem/feature:
hardware mining
History of mining:
CPU โ†’ GPU โ†’ FPGA โ†’ ASIC
Drawbacks of the hardware mining
1. Makes the whole process ``non-democraticโ€.
2. Easier to attack by very powerful adversary?
3. Excludes some applications (mining a as
โ€œmicropaymentโ€™โ€™).
?
Advantages of the hardware mining
โ€ข Security against botnets.
โ€ข Makes the miners interested in the long-term
stability of the system.
How โ€œlong termโ€?
Remember that the total hashrate can
go up almost 100x in one yearโ€ฆ
Risk associated to pooled mining
June 2014: the Ghash.io pool got > 50% of the total
hashpower.
Then this percentage went downโ€ฆ
Observation
What we were promised:
โ€œdistributed currency independent from the central
banksโ€
What we got (in June 2014):
โ€œcurrency controlled by a single companyโ€โ€ฆ
A problem
Individual miners lost control over which blocks they mine.
For example in the Stratum protocol (commonly used by
mining pools):
miners cannot choose Bitcoin transactions on their own
From mining.bitcoin.cz/stratum-mining:
โ€œIn my experience 99% of real miners donโ€™t care about
transaction selection anyway, they just want the highest possible
block reward. At this point they share the same interest with pool
operator, so thereโ€™s no real reason to complicate mining protocol just
for those 1% who want to create custom blocks for the pool.โ€
How to break Bitcoin?
1. Start a number of mining pools with a negative fee.
2. Wait until you get >50% of the total hashrate.
Will the miners join?
they just want the
highest possible block
rewardโ€ฆ
What is really our security assumption?
โ€œAs long as a majority of
CPU power is controlled by
nodes that are not
cooperating to
attack the network, they'll
generate the longest chain
and outpace attackersโ€
we proposed a peer-to-
peer network using proof-
of-work to record a public
history of transactions that
quickly becomes
computationally
impractical for an
attacker to change if
honest nodes control a
majority of CPU power
1. No cartel controls the majority of the computing power,
or
2. The majority of participants is 100% honest.
?
In order for the Bitcoin to work we need a
following (strong) assumption:
The majority behaves honestly even if it has incentives not to
do so.
Is it realistic?
enthusiast:
sceptics:
Yes, since the majority is
interested in maintaining the
system
No, since this is not how
capitalism worksโ€ฆ
(e.g.: tragedy of the commons)
Another risk
Why not to rent the hashpower to perform the attack?
Conjecture
Maybe the only reason why nobody broke Bitcoin
yet is that nobody was really interested in doing it?
How to analyze it?
Use a game-theoretic model.
See:
[Joseph Bonneau, Edward W. Felten, Steven
Goldfeder, Joshua A. Kroll and Arvind Narayanan,
Why buy when you can rent? Bribery attacks on
Bitcoin consensus, 2014]
Major research direction
Provide a full game-
theoretic model for
cryptocurrencies,
and show a currency
secure in it.
What we do (not) know about Bitcoinโ€™s
security?
1. Technical errors
2. Features/problems
3. Conceptual errors
4. Potential threats
5. Problems with key storage
Easy to see
An adversary that controls majority of computing
power can always break the system.
blocki
blocki+1
blocki+2 blockโ€™i+2
blocki+3
blocki+4
blockโ€™i+3
blockโ€™i+4
blockโ€™i+5
pays using
transaction T
T
Eventually this
branch becomes
longer so he can
โ€œcancel Tโ€ and
double spend.
It turns out that even a dishonest
minority can attack Bitcoin...
Selfish mining
Ittay Eyal, Emin Gun Sirer Majority is not Enough: Bitcoin Mining is
Vulnerable
Basic idea: when you mine a new block keep it to yourself (also called
block withholding strategy).
Goal: make the honest miners waste their effort at mining blocks that
will never make it to the chain.
Observe
โ€ข the proportion of the blocks that you mine will be higher than it
should be,
โ€ข hence: you will earn more than your share of computing power
(since Bitcoin adjusts the difficulty)
Why is it bad?
If there is a strategy that is more beneficial than the
honest strategy then miners have an incentive to
misbehave (โ€œBitcoin is not incentive compatibleโ€)
(recall that with the honest strategy every miner whose
computing power is an ๐œถ-fraction of the total computing
power gets an ๐œถ-fraction of the revenue)
Moreover: the larger ๐œถ is the more beneficial this strategy is.
Therefore: the miners have incentives to join a large pool that
uses this strategy.
fraction of revenuefraction of computing power
A simplifying assumption (for a
moment)
What happens when there is a fork?
Bitcoin specification:
โ€œfrom two chains of equal length mine on the first one that you receivedโ€.
Assume that the adversary is always first (e.g. he puts a lot
of โ€œfake nodesโ€ that act as sensors).
An observation
Assume that the adversary does
not broadcast the new block that
he found (and mines on it
โ€œprivatelyโ€).
Two things can happen:
1. the adversary manages to
extend his โ€œprivate block
chainโ€ by one more block, or
2. the โ€œhonest usersโ€ manage
to find an alternative
extension.
blocki
blocki+1
blocki+2
blockโ€™i+2
blocki+3
In this case the adversary
quickly publishes his block
so he looses nothing
If the adversary is lucky then he obtains
advantage over the honest miners.
blocki
blocki+1
blockโ€™i+2 blocki+2
blocki+3
blocki+4
blocki+5
blockโ€™i+3
blockโ€™i+4
blockโ€™i+5
he publishes his chain if the
โ€œpublic chainโ€ equalizes with it
the reward for these
blocks goes to him
Note: this works even if the adversary has minority of computing power.
Full attack
The assumption that โ€œthe adversary is always firstโ€ may
look unrealistic.
Eyal and Sirer show a modification of this strategy that
works without this assumption.
๐œธ โˆ’ probability that an honest user chooses adversaryโ€™s
block
๐œถ โ€“ fraction of adversaryโ€™s computing power
We present it on next slides.
Note
๐œธ โˆ’ probability that an honest user chooses adversaryโ€™s block
๐œถ โ€“ fraction of adversaryโ€™s computing power
the probability that the adversary
wins if there is a fork is equal to
๐œถ + ๐Ÿ โˆ’ ๐œถ ๐œธ
the adversary
extends the
chain
an honest
miners extend
the chain
they extend
adversaryโ€™s chain
they extend the
โ€œhonestโ€ chain
prob. ๐œถ
prob. ๐Ÿ โˆ’ ๐œถ
prob. ๐œธ
prob. ๐Ÿ โˆ’ ๐œธ
Why? denote it ๐œน
At the beginning of the attack we have:
initial state: someone mined a new block and everyone
is trying to extend it
state ๐ŸŽ
First step: if the adversary finds a new block โ€“ he keeps
it private.
the honest miners
also find a block
adversary finds
another block on
top of his old one
the adversary
published his
block ASAP
โ€œhonest blockโ€
won
โ€œadversaryโ€™s blockโ€
won
state ๐ŸŽ
prob. ๐Ÿ โˆ’ ๐œถ prob. ๐œถ
prob. ๐Ÿ โˆ’ ๐œน prob. ๐œน
state ๐Ÿ
state ๐ŸŽโ€ฒ
state ๐ŸŽ state ๐ŸŽ
state ๐Ÿ
the adversary
found a new
block
From state ๐Ÿ:
state ๐Ÿ
state ๐Ÿ‘
the adversary
publishes his
chain ASAP
state ๐ŸŽ
prob. ๐œถ
prob. ๐Ÿ โˆ’ ๐œถ
In general for ๐’Š โ‰ฅ ๐Ÿ
state ๐’Š
๐’Š
state ๐’Š:
โ€œthe adversary has
advantage ๐’Š over the
honest minersโ€
This leads to the following state
machine:
state ๐ŸŽ
state ๐ŸŽโ€ฒ
state ๐Ÿ state ๐Ÿ state ๐Ÿ‘ state ๐Ÿ’ . . .
๐œถ ๐œถ ๐œถ ๐œถ
๐Ÿ โˆ’ ๐œถ๐Ÿ โˆ’ ๐œถ๐Ÿ โˆ’ ๐œถ๐Ÿ โˆ’ ๐œถ
๐œถ
๐Ÿ โˆ’ ๐œถ๐Ÿ
This converges to some stationary
distribution ๐ฉ ๐ŸŽ, ๐ฉ ๐ŸŽโ€ฒ, ๐ฉ ๐Ÿ, ๐ฉ ๐Ÿ, ๐ฉ ๐Ÿ, โ€ฆ
We can find it using the theory of Markov chains
๐ฉ ๐ŸŽ
๐ฉ ๐ŸŽโ€ฒ
๐ฉ ๐Ÿ ๐ฉ ๐Ÿ ๐ฉ ๐Ÿ‘ ๐ฉ ๐Ÿ’ . . .
๐œถ ๐œถ ๐œถ ๐œถ
๐Ÿ โˆ’ ๐œถ๐Ÿ โˆ’ ๐œถ๐Ÿ โˆ’ ๐œถ๐Ÿ โˆ’ ๐œถ
๐œถ
๐Ÿ โˆ’ ๐œถ๐Ÿ
How to calculate adversaryโ€™s revenue?
state ๐ŸŽ
state ๐ŸŽโ€ฒ
state ๐Ÿ state ๐Ÿ state ๐Ÿ‘ state ๐Ÿ’ . . .
+๐Ÿ +๐Ÿ +๐Ÿ +๐Ÿ
(โˆ—)
โˆ— = +๐Ÿ iff the adversary โ€œwon a forkโ€.
This happens with probability ๐œน.
Look when the adversary โ€œearns a blockโ€:
Hence the expected revenue of the adversary is equal to:
๐œน โ‹… ๐’‘ ๐ŸŽโ€ฒ + ๐œถ โ‹… ๐’‘ ๐Ÿ + ๐œถ โ‹… ๐’‘ ๐Ÿ + โ‹ฏ
The final result
Eyal and Sirer calculate this, and show that their
strategy works as long as ฮฑ >
๐Ÿโˆ’๐œธ
๐Ÿ‘ โˆ’๐Ÿ๐œธ
They also show that the larger ๐œถ is the more beneficial
this strategy is.
ฮฑ
๐œธ
How to fix it?
One simple idea to make ๐œธ =
๐Ÿ
๐Ÿ
:
Instruct the miners to mine on a random chain
(in case they receive to equal ones)
Another clever attack
Lear Bahack Theoretical Bitcoin Attacks with less
than Half of the Computational Power
The โ€œDifficulty Raising Attackโ€ โ€“ exploits the way the
difficulty is adjusted in Bitcoin.
What we do (not) know about Bitcoinโ€™s
security?
1. Technical errors
2. Features/problems
3. Conceptual errors
4. Potential threats
5. Problems with key storage
Blocks without transactions
Example:
Reason: shorter blocks propagate faster.
In the future the opposite problem can
happen
When the mining reward becomes negligible, we can
experience:
Tragedy of the commons:
adding a transaction costs nothing, so the miners will not
be able to keep the transaction fees high.
Another question
Verification of blocks takes time.
Maybe itโ€™s cheaper not to verify?
(โ€œverifier's dilemmaโ€)
(more relevant to Ethereum)
See [Luu, Teutsch, Kulkarni, Saxena, Demystifying
incentives in the consensus computer, ACM CCS
2015].
Recall that verification
includes checking all
transactions
Yet another question
What happens if someone posts a transaction T with
a very high fee (say 100 BTC)?
blocki+1block1
blocki+2
for them itโ€™s more
profitable to mine on
the old block
What we do (not) know about Bitcoinโ€™s
security?
1. Technical errors
2. Features/problems
3. Conceptual errors
4. Potential threats
5. Problems with key storage
A practical problem: How to store the
bitcoins?
โ€ข storing in plaintext on the PC โ€“ bad idea (malware attacks)
โ€ข encrypting with a password โ€“ susceptible to the dictionary
attacks
โ€ข better: split the key between several devices. Two options:
โ€ข use the โ€œmultisignature feature of Bitcoin
โ€ข use secret sharing and the MPCs
โ€ข store on the USB memory โ€“ also susceptible to malware (once
connected to the PC).
โ€ข use a smarter device โ€“ more secure,
especially if it has a display:
ยฉ2016 by Stefan Dziembowski. Permission to make digital or hard copies of part or
all of this material is currently granted without fee provided that copies are made
only for personal or classroom use, are not distributed for profit or commercial
advantage, and that new copies bear this notice and the full citation.

More Related Content

What's hot

Public private key
Public private keyPublic private key
Public private keyStudsPlanet.com
ย 
The Blockchain - The Technology behind Bitcoin
The Blockchain - The Technology behind Bitcoin The Blockchain - The Technology behind Bitcoin
The Blockchain - The Technology behind Bitcoin Jรฉrรดme Kehrli
ย 
GDC Coin- Specialized Analysis For Professional Cryptocurrency Trading
GDC Coin- Specialized Analysis For Professional Cryptocurrency TradingGDC Coin- Specialized Analysis For Professional Cryptocurrency Trading
GDC Coin- Specialized Analysis For Professional Cryptocurrency TradingAjit Patil
ย 
Introduction to Cryptocurrency (Bitcoin)
Introduction to Cryptocurrency (Bitcoin)Introduction to Cryptocurrency (Bitcoin)
Introduction to Cryptocurrency (Bitcoin)Kashif Khans
ย 
Introduction to bitcoin
Introduction to bitcoinIntroduction to bitcoin
Introduction to bitcoinWolf McNally
ย 
what is bitcoin, its history and detail
what is bitcoin, its history and detailwhat is bitcoin, its history and detail
what is bitcoin, its history and detailSelf-employed
ย 
BITCOIN EXPLAINED
BITCOIN EXPLAINEDBITCOIN EXPLAINED
BITCOIN EXPLAINEDMurlidhar Sarda
ย 
Bitcoin technology
Bitcoin technologyBitcoin technology
Bitcoin technologyWajid Hamdani
ย 
What's cryptocurrency ?
What's cryptocurrency ?What's cryptocurrency ?
What's cryptocurrency ?Everythingcrypto
ย 
Blockchain 101
Blockchain 101Blockchain 101
Blockchain 101Jithin Babu
ย 
Bitcoin
BitcoinBitcoin
BitcoinJoel John
ย 
An Investor's Guide to Web3 / Crypto / Blockchain
An Investor's Guide to Web3 / Crypto / BlockchainAn Investor's Guide to Web3 / Crypto / Blockchain
An Investor's Guide to Web3 / Crypto / BlockchainBernard Leong
ย 
Cryptocurrency
Cryptocurrency  Cryptocurrency
Cryptocurrency sanskriti2510
ย 
Blockchain, cryptography, and consensus
Blockchain, cryptography, and consensusBlockchain, cryptography, and consensus
Blockchain, cryptography, and consensusITU
ย 
Blockchain
BlockchainBlockchain
BlockchainSai Nath
ย 
2. public key cryptography and RSA
2. public key cryptography and RSA2. public key cryptography and RSA
2. public key cryptography and RSADr.Florence Dayana
ย 

What's hot (20)

Public private key
Public private keyPublic private key
Public private key
ย 
The Blockchain - The Technology behind Bitcoin
The Blockchain - The Technology behind Bitcoin The Blockchain - The Technology behind Bitcoin
The Blockchain - The Technology behind Bitcoin
ย 
GDC Coin- Specialized Analysis For Professional Cryptocurrency Trading
GDC Coin- Specialized Analysis For Professional Cryptocurrency TradingGDC Coin- Specialized Analysis For Professional Cryptocurrency Trading
GDC Coin- Specialized Analysis For Professional Cryptocurrency Trading
ย 
Introduction to Cryptocurrency (Bitcoin)
Introduction to Cryptocurrency (Bitcoin)Introduction to Cryptocurrency (Bitcoin)
Introduction to Cryptocurrency (Bitcoin)
ย 
Introduction to bitcoin
Introduction to bitcoinIntroduction to bitcoin
Introduction to bitcoin
ย 
Cryptocurrency
CryptocurrencyCryptocurrency
Cryptocurrency
ย 
what is bitcoin, its history and detail
what is bitcoin, its history and detailwhat is bitcoin, its history and detail
what is bitcoin, its history and detail
ย 
Bitcoin
BitcoinBitcoin
Bitcoin
ย 
BITCOIN EXPLAINED
BITCOIN EXPLAINEDBITCOIN EXPLAINED
BITCOIN EXPLAINED
ย 
Bitcoin technology
Bitcoin technologyBitcoin technology
Bitcoin technology
ย 
What's cryptocurrency ?
What's cryptocurrency ?What's cryptocurrency ?
What's cryptocurrency ?
ย 
Blockchain 101
Blockchain 101Blockchain 101
Blockchain 101
ย 
Bitcoin
BitcoinBitcoin
Bitcoin
ย 
An Investor's Guide to Web3 / Crypto / Blockchain
An Investor's Guide to Web3 / Crypto / BlockchainAn Investor's Guide to Web3 / Crypto / Blockchain
An Investor's Guide to Web3 / Crypto / Blockchain
ย 
Cryptocurrency
Cryptocurrency  Cryptocurrency
Cryptocurrency
ย 
Bitcoin
BitcoinBitcoin
Bitcoin
ย 
Blockchain, cryptography, and consensus
Blockchain, cryptography, and consensusBlockchain, cryptography, and consensus
Blockchain, cryptography, and consensus
ย 
Blockchain
BlockchainBlockchain
Blockchain
ย 
Bitcoin
BitcoinBitcoin
Bitcoin
ย 
2. public key cryptography and RSA
2. public key cryptography and RSA2. public key cryptography and RSA
2. public key cryptography and RSA
ย 

Viewers also liked

A research-oriented introduction to the cryptographic currencies (starting wi...
A research-oriented introduction to the cryptographic currencies (starting wi...A research-oriented introduction to the cryptographic currencies (starting wi...
A research-oriented introduction to the cryptographic currencies (starting wi...vpnmentor
ย 
On the Security of TLS-DHE in the Standard Model
On the Security of TLS-DHE in the Standard ModelOn the Security of TLS-DHE in the Standard Model
On the Security of TLS-DHE in the Standard Modelvpnmentor
ย 
Michael schapira - Hebrew University Jeruslaem - Secure Internet Routing
Michael schapira - Hebrew University Jeruslaem - Secure Internet RoutingMichael schapira - Hebrew University Jeruslaem - Secure Internet Routing
Michael schapira - Hebrew University Jeruslaem - Secure Internet Routingvpnmentor
ย 
Alternative cryptocurrencies
Alternative cryptocurrencies Alternative cryptocurrencies
Alternative cryptocurrencies vpnmentor
ย 
Alternative cryptocurrencies
Alternative cryptocurrenciesAlternative cryptocurrencies
Alternative cryptocurrenciesvpnmentor
ย 
Smart contracts and applications part II
Smart contracts and applications   part IISmart contracts and applications   part II
Smart contracts and applications part IIvpnmentor
ย 
Smart contracts and applications part I
Smart contracts and applications   part ISmart contracts and applications   part I
Smart contracts and applications part Ivpnmentor
ย 

Viewers also liked (7)

A research-oriented introduction to the cryptographic currencies (starting wi...
A research-oriented introduction to the cryptographic currencies (starting wi...A research-oriented introduction to the cryptographic currencies (starting wi...
A research-oriented introduction to the cryptographic currencies (starting wi...
ย 
On the Security of TLS-DHE in the Standard Model
On the Security of TLS-DHE in the Standard ModelOn the Security of TLS-DHE in the Standard Model
On the Security of TLS-DHE in the Standard Model
ย 
Michael schapira - Hebrew University Jeruslaem - Secure Internet Routing
Michael schapira - Hebrew University Jeruslaem - Secure Internet RoutingMichael schapira - Hebrew University Jeruslaem - Secure Internet Routing
Michael schapira - Hebrew University Jeruslaem - Secure Internet Routing
ย 
Alternative cryptocurrencies
Alternative cryptocurrencies Alternative cryptocurrencies
Alternative cryptocurrencies
ย 
Alternative cryptocurrencies
Alternative cryptocurrenciesAlternative cryptocurrencies
Alternative cryptocurrencies
ย 
Smart contracts and applications part II
Smart contracts and applications   part IISmart contracts and applications   part II
Smart contracts and applications part II
ย 
Smart contracts and applications part I
Smart contracts and applications   part ISmart contracts and applications   part I
Smart contracts and applications part I
ย 

Similar to Mining pools and attacks

Understanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
Understanding Proof of Work (PoW) and Proof of Stake (PoS) AlgorithmsUnderstanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
Understanding Proof of Work (PoW) and Proof of Stake (PoS) AlgorithmsGautam Anand
ย 
On Mining Bitcoins - Fundamentals & Outlooks
On Mining Bitcoins - Fundamentals & OutlooksOn Mining Bitcoins - Fundamentals & Outlooks
On Mining Bitcoins - Fundamentals & OutlooksFilip Maertens
ย 
With a transaction fee market and without a block size limit in Bitcoin netwo...
With a transaction fee market and without a block size limit in Bitcoin netwo...With a transaction fee market and without a block size limit in Bitcoin netwo...
With a transaction fee market and without a block size limit in Bitcoin netwo...ijgttjournal
ย 
01 what is blockchain
01 what is blockchain01 what is blockchain
01 what is blockchainBastianBlankenburg
ย 
Ergo platform overview
Ergo platform overviewErgo platform overview
Ergo platform overviewDmitry Meshkov
ย 
Blockchain in Practice, ETH Computational Social Science, Fall 2019
Blockchain in Practice, ETH Computational Social Science, Fall 2019Blockchain in Practice, ETH Computational Social Science, Fall 2019
Blockchain in Practice, ETH Computational Social Science, Fall 2019Rafael Kallis
ย 
Ergo Presentation - Tokyo
Ergo Presentation - TokyoErgo Presentation - Tokyo
Ergo Presentation - TokyoAlex Chepurnoy
ย 
Decentralized mining Pools: Security and Attacks
Decentralized mining  Pools: Security and AttacksDecentralized mining  Pools: Security and Attacks
Decentralized mining Pools: Security and AttacksAlexei Zamyatin
ย 
Every thing bitcoin in baby language
Every thing bitcoin in baby languageEvery thing bitcoin in baby language
Every thing bitcoin in baby languageOssai Nduka
ย 
IEEE ICDM 2018 Tutorial on Blockchain Data Analytics
IEEE ICDM 2018 Tutorial on Blockchain Data AnalyticsIEEE ICDM 2018 Tutorial on Blockchain Data Analytics
IEEE ICDM 2018 Tutorial on Blockchain Data AnalyticsCuneyt Gurcan Akcora
ย 
Bitcoin MOOC Lecture 2.pptx
Bitcoin MOOC Lecture 2.pptxBitcoin MOOC Lecture 2.pptx
Bitcoin MOOC Lecture 2.pptxOluseyi Akindeinde
ย 
Proof-of-Stake & Its Improvements (San Francisco Bitcoin Devs Hackathon)
Proof-of-Stake & Its Improvements (San Francisco Bitcoin Devs Hackathon)Proof-of-Stake & Its Improvements (San Francisco Bitcoin Devs Hackathon)
Proof-of-Stake & Its Improvements (San Francisco Bitcoin Devs Hackathon)Alex Chepurnoy
ย 
Bitcoin : A fierce decentralized crypto currency - Report
Bitcoin : A fierce decentralized crypto currency - ReportBitcoin : A fierce decentralized crypto currency - Report
Bitcoin : A fierce decentralized crypto currency - ReportShivek Khurana
ย 
GET RICHER MINING BITCOIN VAULT - JOIN US- https://bit.ly/btcvminingmarket
GET RICHER MINING BITCOIN VAULT - JOIN US-  https://bit.ly/btcvminingmarketGET RICHER MINING BITCOIN VAULT - JOIN US-  https://bit.ly/btcvminingmarket
GET RICHER MINING BITCOIN VAULT - JOIN US- https://bit.ly/btcvminingmarketKennedy Odigie
ย 
Bitcoin Decision Point - April 2017
Bitcoin Decision Point - April 2017Bitcoin Decision Point - April 2017
Bitcoin Decision Point - April 2017Jeff Garzik
ย 
Ethereum Mining How To
Ethereum Mining How ToEthereum Mining How To
Ethereum Mining How ToNugroho Gito
ย 
Bitcoin block withholding attack
Bitcoin block withholding attackBitcoin block withholding attack
Bitcoin block withholding attackAnandhu kk
ย 
Introduction into blockchains and cryptocurrencies
Introduction into blockchains and cryptocurrenciesIntroduction into blockchains and cryptocurrencies
Introduction into blockchains and cryptocurrenciesSergey Ivliev
ย 

Similar to Mining pools and attacks (20)

Understanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
Understanding Proof of Work (PoW) and Proof of Stake (PoS) AlgorithmsUnderstanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
Understanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
ย 
On Mining Bitcoins - Fundamentals & Outlooks
On Mining Bitcoins - Fundamentals & OutlooksOn Mining Bitcoins - Fundamentals & Outlooks
On Mining Bitcoins - Fundamentals & Outlooks
ย 
With a transaction fee market and without a block size limit in Bitcoin netwo...
With a transaction fee market and without a block size limit in Bitcoin netwo...With a transaction fee market and without a block size limit in Bitcoin netwo...
With a transaction fee market and without a block size limit in Bitcoin netwo...
ย 
01 what is blockchain
01 what is blockchain01 what is blockchain
01 what is blockchain
ย 
Ergo platform overview
Ergo platform overviewErgo platform overview
Ergo platform overview
ย 
Blockchain in Practice, ETH Computational Social Science, Fall 2019
Blockchain in Practice, ETH Computational Social Science, Fall 2019Blockchain in Practice, ETH Computational Social Science, Fall 2019
Blockchain in Practice, ETH Computational Social Science, Fall 2019
ย 
Ergo Presentation - Tokyo
Ergo Presentation - TokyoErgo Presentation - Tokyo
Ergo Presentation - Tokyo
ย 
Decentralized mining Pools: Security and Attacks
Decentralized mining  Pools: Security and AttacksDecentralized mining  Pools: Security and Attacks
Decentralized mining Pools: Security and Attacks
ย 
Every thing bitcoin in baby language
Every thing bitcoin in baby languageEvery thing bitcoin in baby language
Every thing bitcoin in baby language
ย 
IEEE ICDM 2018 Tutorial on Blockchain Data Analytics
IEEE ICDM 2018 Tutorial on Blockchain Data AnalyticsIEEE ICDM 2018 Tutorial on Blockchain Data Analytics
IEEE ICDM 2018 Tutorial on Blockchain Data Analytics
ย 
Bit coin(2)
Bit coin(2)Bit coin(2)
Bit coin(2)
ย 
Bitcoin MOOC Lecture 2.pptx
Bitcoin MOOC Lecture 2.pptxBitcoin MOOC Lecture 2.pptx
Bitcoin MOOC Lecture 2.pptx
ย 
Proof-of-Stake & Its Improvements (San Francisco Bitcoin Devs Hackathon)
Proof-of-Stake & Its Improvements (San Francisco Bitcoin Devs Hackathon)Proof-of-Stake & Its Improvements (San Francisco Bitcoin Devs Hackathon)
Proof-of-Stake & Its Improvements (San Francisco Bitcoin Devs Hackathon)
ย 
Bitcoin : A fierce decentralized crypto currency - Report
Bitcoin : A fierce decentralized crypto currency - ReportBitcoin : A fierce decentralized crypto currency - Report
Bitcoin : A fierce decentralized crypto currency - Report
ย 
HM Tech LLC Nov 2023.pdf
HM Tech LLC Nov 2023.pdfHM Tech LLC Nov 2023.pdf
HM Tech LLC Nov 2023.pdf
ย 
GET RICHER MINING BITCOIN VAULT - JOIN US- https://bit.ly/btcvminingmarket
GET RICHER MINING BITCOIN VAULT - JOIN US-  https://bit.ly/btcvminingmarketGET RICHER MINING BITCOIN VAULT - JOIN US-  https://bit.ly/btcvminingmarket
GET RICHER MINING BITCOIN VAULT - JOIN US- https://bit.ly/btcvminingmarket
ย 
Bitcoin Decision Point - April 2017
Bitcoin Decision Point - April 2017Bitcoin Decision Point - April 2017
Bitcoin Decision Point - April 2017
ย 
Ethereum Mining How To
Ethereum Mining How ToEthereum Mining How To
Ethereum Mining How To
ย 
Bitcoin block withholding attack
Bitcoin block withholding attackBitcoin block withholding attack
Bitcoin block withholding attack
ย 
Introduction into blockchains and cryptocurrencies
Introduction into blockchains and cryptocurrenciesIntroduction into blockchains and cryptocurrencies
Introduction into blockchains and cryptocurrencies
ย 

More from vpnmentor

On the Bit Security of Cryptographic Primitives. by Michael Walter
On the Bit Security of Cryptographic Primitives. by Michael Walter On the Bit Security of Cryptographic Primitives. by Michael Walter
On the Bit Security of Cryptographic Primitives. by Michael Walter vpnmentor
ย 
Homomorphic Lower Digit Removal and Improved FHE Bootstrapping by Kyoohyung Han
Homomorphic Lower Digit Removal and Improved FHE Bootstrapping by Kyoohyung HanHomomorphic Lower Digit Removal and Improved FHE Bootstrapping by Kyoohyung Han
Homomorphic Lower Digit Removal and Improved FHE Bootstrapping by Kyoohyung Hanvpnmentor
ย 
Review of Previous ETAP Forums - Deepak Maheshwari
Review of Previous ETAP Forums - Deepak MaheshwariReview of Previous ETAP Forums - Deepak Maheshwari
Review of Previous ETAP Forums - Deepak Maheshwarivpnmentor
ย 
Indiaโ€™s National Biometrics ID - Presented by Mr. Deepak Maheshwari
Indiaโ€™s National Biometrics ID - Presented by Mr. Deepak MaheshwariIndiaโ€™s National Biometrics ID - Presented by Mr. Deepak Maheshwari
Indiaโ€™s National Biometrics ID - Presented by Mr. Deepak Maheshwarivpnmentor
ย 
Automated Analysis of TLS 1.3
Automated Analysis of TLS 1.3Automated Analysis of TLS 1.3
Automated Analysis of TLS 1.3vpnmentor
ย 
TLS: Past, Present, Future
TLS: Past, Present, FutureTLS: Past, Present, Future
TLS: Past, Present, Futurevpnmentor
ย 
On the Security of TLS 1.3 and QUIC Against Weaknesses in PKCS#1 v1.5 Encryption
On the Security of TLS 1.3 and QUIC Against Weaknesses in PKCS#1 v1.5 EncryptionOn the Security of TLS 1.3 and QUIC Against Weaknesses in PKCS#1 v1.5 Encryption
On the Security of TLS 1.3 and QUIC Against Weaknesses in PKCS#1 v1.5 Encryptionvpnmentor
ย 

More from vpnmentor (7)

On the Bit Security of Cryptographic Primitives. by Michael Walter
On the Bit Security of Cryptographic Primitives. by Michael Walter On the Bit Security of Cryptographic Primitives. by Michael Walter
On the Bit Security of Cryptographic Primitives. by Michael Walter
ย 
Homomorphic Lower Digit Removal and Improved FHE Bootstrapping by Kyoohyung Han
Homomorphic Lower Digit Removal and Improved FHE Bootstrapping by Kyoohyung HanHomomorphic Lower Digit Removal and Improved FHE Bootstrapping by Kyoohyung Han
Homomorphic Lower Digit Removal and Improved FHE Bootstrapping by Kyoohyung Han
ย 
Review of Previous ETAP Forums - Deepak Maheshwari
Review of Previous ETAP Forums - Deepak MaheshwariReview of Previous ETAP Forums - Deepak Maheshwari
Review of Previous ETAP Forums - Deepak Maheshwari
ย 
Indiaโ€™s National Biometrics ID - Presented by Mr. Deepak Maheshwari
Indiaโ€™s National Biometrics ID - Presented by Mr. Deepak MaheshwariIndiaโ€™s National Biometrics ID - Presented by Mr. Deepak Maheshwari
Indiaโ€™s National Biometrics ID - Presented by Mr. Deepak Maheshwari
ย 
Automated Analysis of TLS 1.3
Automated Analysis of TLS 1.3Automated Analysis of TLS 1.3
Automated Analysis of TLS 1.3
ย 
TLS: Past, Present, Future
TLS: Past, Present, FutureTLS: Past, Present, Future
TLS: Past, Present, Future
ย 
On the Security of TLS 1.3 and QUIC Against Weaknesses in PKCS#1 v1.5 Encryption
On the Security of TLS 1.3 and QUIC Against Weaknesses in PKCS#1 v1.5 EncryptionOn the Security of TLS 1.3 and QUIC Against Weaknesses in PKCS#1 v1.5 Encryption
On the Security of TLS 1.3 and QUIC Against Weaknesses in PKCS#1 v1.5 Encryption
ย 

Recently uploaded

Call Girls Service Chandigarh Lucky โค๏ธ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky โค๏ธ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky โค๏ธ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky โค๏ธ 7710465962 Independent Call Girls In C...Sheetaleventcompany
ย 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girlsstephieert
ย 
Russian Call Girls in Kolkata Ishita ๐ŸคŒ 8250192130 ๐Ÿš€ Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita ๐ŸคŒ  8250192130 ๐Ÿš€ Vip Call Girls KolkataRussian Call Girls in Kolkata Ishita ๐ŸคŒ  8250192130 ๐Ÿš€ Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita ๐ŸคŒ 8250192130 ๐Ÿš€ Vip Call Girls Kolkataanamikaraghav4
ย 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)Damian Radcliffe
ย 
Low Rate Call Girls Kolkata Avani ๐ŸคŒ 8250192130 ๐Ÿš€ Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani ๐ŸคŒ  8250192130 ๐Ÿš€ Vip Call Girls KolkataLow Rate Call Girls Kolkata Avani ๐ŸคŒ  8250192130 ๐Ÿš€ Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani ๐ŸคŒ 8250192130 ๐Ÿš€ Vip Call Girls Kolkataanamikaraghav4
ย 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Servicesexy call girls service in goa
ย 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$kojalkojal131
ย 
Call Girls In Saket Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Saket Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”Call Girls In Saket Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Saket Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”soniya singh
ย 
Chennai Call Girls Alwarpet Phone ๐Ÿ† 8250192130 ๐Ÿ‘… celebrity escorts service
Chennai Call Girls Alwarpet Phone ๐Ÿ† 8250192130 ๐Ÿ‘… celebrity escorts serviceChennai Call Girls Alwarpet Phone ๐Ÿ† 8250192130 ๐Ÿ‘… celebrity escorts service
Chennai Call Girls Alwarpet Phone ๐Ÿ† 8250192130 ๐Ÿ‘… celebrity escorts servicevipmodelshub1
ย 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...aditipandeya
ย 
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.soniya singh
ย 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Servicegwenoracqe6
ย 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Delhi Call girls
ย 
Radiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsRadiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsstephieert
ย 
Gram Darshan PPT cyber rural in villages of india
Gram Darshan PPT cyber rural  in villages of indiaGram Darshan PPT cyber rural  in villages of india
Gram Darshan PPT cyber rural in villages of indiaimessage0108
ย 
Call Girls In Sukhdev Vihar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Sukhdev Vihar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”Call Girls In Sukhdev Vihar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Sukhdev Vihar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”soniya singh
ย 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGAPNIC
ย 

Recently uploaded (20)

Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
ย 
Call Girls Service Chandigarh Lucky โค๏ธ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky โค๏ธ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky โค๏ธ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky โค๏ธ 7710465962 Independent Call Girls In C...
ย 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girls
ย 
Russian Call Girls in Kolkata Ishita ๐ŸคŒ 8250192130 ๐Ÿš€ Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita ๐ŸคŒ  8250192130 ๐Ÿš€ Vip Call Girls KolkataRussian Call Girls in Kolkata Ishita ๐ŸคŒ  8250192130 ๐Ÿš€ Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita ๐ŸคŒ 8250192130 ๐Ÿš€ Vip Call Girls Kolkata
ย 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)
ย 
Low Rate Call Girls Kolkata Avani ๐ŸคŒ 8250192130 ๐Ÿš€ Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani ๐ŸคŒ  8250192130 ๐Ÿš€ Vip Call Girls KolkataLow Rate Call Girls Kolkata Avani ๐ŸคŒ  8250192130 ๐Ÿš€ Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani ๐ŸคŒ 8250192130 ๐Ÿš€ Vip Call Girls Kolkata
ย 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
ย 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
ย 
Call Girls In Saket Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Saket Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”Call Girls In Saket Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Saket Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
ย 
Chennai Call Girls Alwarpet Phone ๐Ÿ† 8250192130 ๐Ÿ‘… celebrity escorts service
Chennai Call Girls Alwarpet Phone ๐Ÿ† 8250192130 ๐Ÿ‘… celebrity escorts serviceChennai Call Girls Alwarpet Phone ๐Ÿ† 8250192130 ๐Ÿ‘… celebrity escorts service
Chennai Call Girls Alwarpet Phone ๐Ÿ† 8250192130 ๐Ÿ‘… celebrity escorts service
ย 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
ย 
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
ย 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
ย 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
ย 
Radiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsRadiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girls
ย 
Gram Darshan PPT cyber rural in villages of india
Gram Darshan PPT cyber rural  in villages of indiaGram Darshan PPT cyber rural  in villages of india
Gram Darshan PPT cyber rural in villages of india
ย 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 ๐Ÿซฆ Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 ๐Ÿซฆ Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 ๐Ÿซฆ Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 ๐Ÿซฆ Vanshika Verma More Our Se...
ย 
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
ย 
Call Girls In Sukhdev Vihar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Sukhdev Vihar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”Call Girls In Sukhdev Vihar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
Call Girls In Sukhdev Vihar Delhi ๐Ÿ’ฏCall Us ๐Ÿ”8264348440๐Ÿ”
ย 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
ย 

Mining pools and attacks

  • 1. Mining Pools and Attacks Stefan Dziembowski University of Warsaw Workshop on Bitcoin, Introduction to Cryptocurrencies, Kfar Maccabiah, Ramat Gan, Israel, June 6-7, 2016
  • 2. Plan 1. Mining pools 2. Security of Bitcoin
  • 3. Mining pools Miners create cartels called the mining pools This allows them to reduce the variance of their income.
  • 4. Note 283,494,086 GHash / s 1,700 GHash / s The hashrate of the Achilles Labs AM-1700 miner (1095 USD) The total hashrate of the Bitcoin system as of 5.11.2014 number of blocks in 1 year The user has to wait on average over 3 years to mine a block (even if the difficulty does not increase!) โ‰ˆ 166,761 = 3.17 โ‹… (365 โ‹… 24 โ‹… 6)
  • 5. The general picture The mining pools are operated centrally or are designed in a p2p way. Some of the mining pools charge fees for their services. In other words: โ€ข the expected revenue from pooled mining is slightly lower than the expected revenue from solo mining, โ€ข but the variance is significantly smaller. Tricky part: how to prevent cheating by miners? How to reward the miners? E.g. if the operator got 25 BTC from mining then he will share 25 BTC โ€“ fee among them (and keep the fee to himself)
  • 6. Popular mining pools As of Oct 13, 2015:
  • 7. How to design a mining pool? Simple idea: mining pool operator miner a list of transactions ๐“ ๐ข and a hash ๐‡(๐๐ข) this includes a coinbase transaction transferring the reward to ๐ฉ๐ค. ๐ฉ๐ค tries to find ๐ง๐จ๐ง๐œ๐ž such that ๐‡ ๐ง๐จ๐ง๐œ๐ž, ๐‡ ๐๐ข , ๐“ ๐ข starts with ๐ง zeros current hardness parameter if he finds such ๐ง๐จ๐ง๐œ๐ž then he sends it to the operator once ๐ง๐จ๐ง๐œ๐ž is found by some of the pool members each of them is rewarded proportionally to his work. Problem How to verify how much work a miner really did?
  • 8. A solution: โ€œProportional methodโ€ mining pool operator miner a list of transactions๐“ ๐ขand a hash ๐‡(๐๐ข) tries to find ๐ง๐จ๐ง๐œ๐ž such that ๐‡ ๐ง๐จ๐ง๐œ๐ž, ๐‡ ๐๐ข , ๐“ ๐ข starts with ๐ง zeros if he finds such a ๐ง๐จ๐ง๐œ๐ž then he sends it to the operator he also submits the โ€œpartial solutionsโ€, i.e. values ๐ง๐จ๐ง๐œ๐ž such that ๐‡ ๐ง๐จ๐ง๐œ๐ž, ๐‡ ๐๐ข , ๐“ ๐ข starts with ๐งโ€ฒ zeros ๐งโ€ฒ โ‰ช ๐ง The โ€œamount of workโ€ is measured by the number of โ€œpartial solutionsโ€ submitted.
  • 9. Works if the miners donโ€™t change the pools ๐œถ ๐Ÿ ๐œถ ๐Ÿ ๐œถ ๐Ÿ‘ ๐œถ ๐Ÿ’ โ‰ˆ proportional to ๐œถ ๐Ÿ โ‰ˆ proportional to ๐œถ ๐Ÿ โ‰ˆ proportional to ๐œถ ๐Ÿ‘ โ‰ˆ proportional to ๐œถ ๐Ÿ’ time proportion of computing power probability of that this pool wins: ๐œถ ๐Ÿ + ๐œถ ๐Ÿ + ๐œถ ๐Ÿ‘ + ๐œถ ๐Ÿ’ pool members submitted shares reward for ๐๐Ÿ in case it wins: ๐๐“๐‚ ๐Ÿ๐Ÿ“ โ‹… ๐œถ ๐Ÿ ๐œถ ๐Ÿ+๐œถ ๐Ÿ+๐œถ ๐Ÿ‘+๐œถ ๐Ÿ’ ๐๐Ÿ expected reward for ๐๐Ÿ: ๐๐“๐‚ ๐Ÿ๐Ÿ“ โ‹… ๐œถ ๐Ÿ
  • 10. What if the miners change pools? ๐œถ ๐Ÿ ๐œถ ๐Ÿ ๐œถ ๐Ÿ‘ ๐œถ ๐Ÿ’ time ๐๐Ÿ start a new pool Now the expected revenue of ๐๐Ÿ is a sum of โ€ข ๐œถ ๐Ÿ (from the new pool) โ€ข plus the revenue from the old pool.
  • 11. A problem with the proportional method: โ€œPool hoppingโ€ It is profitable to escape from pools with lots of shares submitted. (since such pools have a lot of โ€œmouths to feedโ€ there)
  • 12. A solution: do not rewarding each share equally Example: Slushโ€™s method Use a scoring function that assigns to each share a score ๐ฌ. Then assign rewards proportionally to the score. Slushโ€™s scoring function: ๐’” = ๐ž๐ฑ๐ฉ ๐“ ๐‚ . Intuitively: this gives advantage to miners who joined late. time since the beginning of this โ€œroundโ€ some constant
  • 13. Another solution: โ€œPay-per-shareโ€ The operator pays per each partial solution no matter if he managed to extend the chain. mining pool operator miner partial solution reward Major drawback: risky for the operator. He needs to have some reserves to cover the potential losses.
  • 14. Other methods Score-based: Geometric method, Double geometric method, Pay-per-last-N-shares, Improved pay-per-share: Maximum pay-per-share, Shared maximum pay-per-share, Equalized , Shared maximum pay- per-share, (see [Meni Rosenfeld, Analysis of Bitcoin Pooled Mining Reward Systems, 2011], [Okke Schrijvers, Joseph Bonneau, Dan Boneh, and Tim Roughgarden, Incentive Compatibility of Bitcoin Mining Pool Reward Functions]) ...
  • 15. How secure are these methods We can assume that the mining pool operator is honest, since he has a reputation. Much harder to avoid: attacks from malicious miners. We discuss two of them: โ€ข โ€œsabotageโ€, โ€ข โ€œlie-in-waitโ€. Both of them are based on withholding certain blocks. a bit similar to the selfish- mining attack on Bitcoin that we discuss later
  • 16. A โ€œSabotageโ€attack on mining pools Submit only the partial solutions. mining pool operator partial solution rewardcomplete solution dishonest miner Results: โ€ข the pool looses money โ€ข the dishonest miner doesnโ€™t earn anything (also looses a small amount) Adversaryโ€™s goal: make the mining pool bankrupt (e.g. he owns a competing pool). It is rumored that in June 2014 such an attack was executed against the mining pool Eligius. Estimated loses: 300 BTC.
  • 17. Another attack: โ€œlie-in-waitโ€ Once you find a solution for ๐๐Ÿ (say): 1. wait with submitting it 2. mine only for ๐๐Ÿ 3. submit the solution to ๐๐Ÿ after some time. It can be formally shown that this is profitable (see [Rosenfeld, 2011]) Mine for several mining pools: 1/3 computing power mining pool ๐๐Ÿ mining pool ๐๐Ÿ mining pool ๐๐Ÿ‘ Intuition: ๐๐Ÿ is a very likely winner
  • 18. Can we have a mining pool without an operator? (remember: the operators typically charge a fee). Answer: yes, using the Peer-to-peer mining pools.
  • 19. Peer-to-peer mining pools General idea: the miners create a blockchain with hardness parameter ๐งโ€ฒ โ‰ช ๐ง on top of the last block ๐๐ข. Every ๐๐ข ๐Ÿ , ๐๐ข ๐Ÿ , โ€ฆ is a valid extension of ๐๐ข (except that the hardness may be smaller than ๐ง). The parameter ๐งโ€ฒ is chosen is such a way that a new block appears often (say: once per 30 sec.) ๐๐ข ๐๐Ÿ ๐๐Ÿ ๐๐Ÿ‘ ๐๐ข ๐Ÿ ๐๐ข ๐Ÿ ๐๐ข ๐Ÿ‘ ๐ง โ€“ current hardness parameter Hence: this has to be done using some other fields in the block (fortunately: blocks have space for this).
  • 20. How is it done technically? Bitcoin blocks contain fields that can be used to store H(๐๐ข ๐ฃ )โ€™s. H ๐๐ข: โ€ฆ โ€ฆ โ€ฆ ๐๐ข ๐Ÿ : H nonce H(Bi) trans. ๐๐ข ๐Ÿ : nonce H(Bi) trans. H(๐๐ข ๐Ÿ ) H ๐๐ข ๐Ÿ‘ : nonce H(Bi) trans. H(๐๐ข ๐Ÿ )
  • 21. Finally someone will find a block that extends ๐๐ข according to Bitcoin rules. ๐๐ข ๐๐Ÿ ๐๐Ÿ ๐๐ค ๐๐ข ๐Ÿ ๐๐ข ๐Ÿ ๐๐ข ๐ค. . . ๐๐ข+๐Ÿ=: ๐๐ข ๐ค enters the main Bitcoinโ€™s blockchain as ๐๐ข+๐Ÿ ends with ๐ง zeros call it โ€œfinalโ€
  • 22. How to divide the revenue from mining? ๐๐ข ๐๐Ÿ ๐๐Ÿ ๐๐Ÿ‘ ๐๐ข ๐Ÿ ๐๐ข ๐Ÿ ๐๐ข ๐Ÿ‘ includes in ๐๐ข ๐Ÿ a payment to ๐๐Ÿ includes in ๐๐ข ๐Ÿ‘ a payment to ๐๐Ÿ and ๐๐Ÿ if this is missing then other pool members will not mine on top of this block Note: the miner does not know in advance if his block will be final. He has to choose the payment information beforehand.
  • 23. Plan 1. Mining pools 2. Security of Bitcoin
  • 24. Possible attack goals โ€ข double spending, โ€ข get more money from mining than you should, โ€ข โ€œshort sellingโ€ โ€“ bet that the price of BTC will drop and then destroy the system (to make the price of BTC go to zero), โ€ข someone (government?) interested in shutting Bitcoin downโ€ฆ โ€œGoldfinger attackโ€ Note: this can be done e.g. by a spectacular fork that lasts just for a few hoursโ€ฆ
  • 25. What we do (not) know about Bitcoinโ€™s security? 1. Technical errors 2. Features/problems 3. Conceptual errors 4. Potential threats 5. Problems with key storage
  • 26. Some notable cases of programming errors โ€ข a block 74638 (Aug 2010) contained a transaction with two outputs summing to over 184 billion BTC โ€“ this was because of an integer overflow in Bitcoin software (solved by a software update and a โ€œmanual forkโ€) one double spending observed (worth 10.000 USD). โ€ข a fork at block 225430 (March 2013) caused by an error in the software update of Bitcoin Core (lasted 6 hours, solved by reverting to an older version of the software) Moral: nothing can be really โ€œcompletely distributedโ€. Sometimes human intervention is neededโ€ฆ
  • 27. Transaction Malleability T2 = (User P1 sends 1 BTC from T1 to P2 signature of P1 on [T2]) Hash Hash(T2) Problem: transactions are identified by their hashes TxId = Hence one can change TxId by mauling the signature: (User P1 sends 1 BTC from T1 to P2 ๐ˆ) (User P1 sends 1 BTC from T1 to P2 ๐ˆโ€™)
  • 28. How to do it? Other methods also existsโ€ฆ ๐ˆ = (r,s) is a valid signature on M w.r.t. pk ๐ˆโ€ฒ = (r, -s (mod N)) is a valid signature on M w.r.t. pk Bitcoin uses ECDSA signatures. Hence:
  • 29. What can the adversary do? transaction T mauled T miners [Andrychowicz et al 2015]: very easy to perform in practice.
  • 30. Is it a problem? Often: NO (the mauled transaction is semantically equivalent to the original one) When things can go wrong? โ€ข Bitcoin contracts โ€ข buggy software
  • 31. Claimed attack on MtGox deposits 1 BTC withdraws 1 BTC transaction T = โ€œMtGox sends 1 BTC to Aโ€ A transaction Tโ€™ = mauled transaction T blockt blockt+1 blockt+2 blockt+3 Since MtGox cannot see a transaction with TxId Hash(T) in the blockchain. Thus it concludes that the transaction did not happen. (so A can double spend) [Decker and Wattenhofer, ESORICS 2014]: this is probably not true.
  • 32. What we do (not) know about Bitcoinโ€™s security? 1. Technical errors 2. Features/problems 3. Conceptual errors 4. Potential threats 5. Problems with key storage
  • 33. One obvious problem: lack of anonymity Can sometimes be de-anonymized: [Meiklejohn et al., A fistful of bitcoins: characterizing payments among men with no names, 2013] 1 BTC 1 BTC can be linked 1BTC 1 BTC 1 BTC Heuristic solution: 1BTC
  • 34. Another problem/feature: hardware mining History of mining: CPU โ†’ GPU โ†’ FPGA โ†’ ASIC
  • 35. Drawbacks of the hardware mining 1. Makes the whole process ``non-democraticโ€. 2. Easier to attack by very powerful adversary? 3. Excludes some applications (mining a as โ€œmicropaymentโ€™โ€™). ?
  • 36. Advantages of the hardware mining โ€ข Security against botnets. โ€ข Makes the miners interested in the long-term stability of the system. How โ€œlong termโ€? Remember that the total hashrate can go up almost 100x in one yearโ€ฆ
  • 37. Risk associated to pooled mining June 2014: the Ghash.io pool got > 50% of the total hashpower. Then this percentage went downโ€ฆ
  • 38. Observation What we were promised: โ€œdistributed currency independent from the central banksโ€ What we got (in June 2014): โ€œcurrency controlled by a single companyโ€โ€ฆ
  • 39. A problem Individual miners lost control over which blocks they mine. For example in the Stratum protocol (commonly used by mining pools): miners cannot choose Bitcoin transactions on their own From mining.bitcoin.cz/stratum-mining: โ€œIn my experience 99% of real miners donโ€™t care about transaction selection anyway, they just want the highest possible block reward. At this point they share the same interest with pool operator, so thereโ€™s no real reason to complicate mining protocol just for those 1% who want to create custom blocks for the pool.โ€
  • 40. How to break Bitcoin? 1. Start a number of mining pools with a negative fee. 2. Wait until you get >50% of the total hashrate. Will the miners join? they just want the highest possible block rewardโ€ฆ
  • 41. What is really our security assumption? โ€œAs long as a majority of CPU power is controlled by nodes that are not cooperating to attack the network, they'll generate the longest chain and outpace attackersโ€ we proposed a peer-to- peer network using proof- of-work to record a public history of transactions that quickly becomes computationally impractical for an attacker to change if honest nodes control a majority of CPU power 1. No cartel controls the majority of the computing power, or 2. The majority of participants is 100% honest. ?
  • 42. In order for the Bitcoin to work we need a following (strong) assumption: The majority behaves honestly even if it has incentives not to do so. Is it realistic? enthusiast: sceptics: Yes, since the majority is interested in maintaining the system No, since this is not how capitalism worksโ€ฆ (e.g.: tragedy of the commons)
  • 43. Another risk Why not to rent the hashpower to perform the attack?
  • 44. Conjecture Maybe the only reason why nobody broke Bitcoin yet is that nobody was really interested in doing it?
  • 45. How to analyze it? Use a game-theoretic model. See: [Joseph Bonneau, Edward W. Felten, Steven Goldfeder, Joshua A. Kroll and Arvind Narayanan, Why buy when you can rent? Bribery attacks on Bitcoin consensus, 2014]
  • 46. Major research direction Provide a full game- theoretic model for cryptocurrencies, and show a currency secure in it.
  • 47. What we do (not) know about Bitcoinโ€™s security? 1. Technical errors 2. Features/problems 3. Conceptual errors 4. Potential threats 5. Problems with key storage
  • 48. Easy to see An adversary that controls majority of computing power can always break the system. blocki blocki+1 blocki+2 blockโ€™i+2 blocki+3 blocki+4 blockโ€™i+3 blockโ€™i+4 blockโ€™i+5 pays using transaction T T Eventually this branch becomes longer so he can โ€œcancel Tโ€ and double spend.
  • 49. It turns out that even a dishonest minority can attack Bitcoin... Selfish mining Ittay Eyal, Emin Gun Sirer Majority is not Enough: Bitcoin Mining is Vulnerable Basic idea: when you mine a new block keep it to yourself (also called block withholding strategy). Goal: make the honest miners waste their effort at mining blocks that will never make it to the chain. Observe โ€ข the proportion of the blocks that you mine will be higher than it should be, โ€ข hence: you will earn more than your share of computing power (since Bitcoin adjusts the difficulty)
  • 50. Why is it bad? If there is a strategy that is more beneficial than the honest strategy then miners have an incentive to misbehave (โ€œBitcoin is not incentive compatibleโ€) (recall that with the honest strategy every miner whose computing power is an ๐œถ-fraction of the total computing power gets an ๐œถ-fraction of the revenue) Moreover: the larger ๐œถ is the more beneficial this strategy is. Therefore: the miners have incentives to join a large pool that uses this strategy. fraction of revenuefraction of computing power
  • 51. A simplifying assumption (for a moment) What happens when there is a fork? Bitcoin specification: โ€œfrom two chains of equal length mine on the first one that you receivedโ€. Assume that the adversary is always first (e.g. he puts a lot of โ€œfake nodesโ€ that act as sensors).
  • 52. An observation Assume that the adversary does not broadcast the new block that he found (and mines on it โ€œprivatelyโ€). Two things can happen: 1. the adversary manages to extend his โ€œprivate block chainโ€ by one more block, or 2. the โ€œhonest usersโ€ manage to find an alternative extension. blocki blocki+1 blocki+2 blockโ€™i+2 blocki+3 In this case the adversary quickly publishes his block so he looses nothing
  • 53. If the adversary is lucky then he obtains advantage over the honest miners. blocki blocki+1 blockโ€™i+2 blocki+2 blocki+3 blocki+4 blocki+5 blockโ€™i+3 blockโ€™i+4 blockโ€™i+5 he publishes his chain if the โ€œpublic chainโ€ equalizes with it the reward for these blocks goes to him Note: this works even if the adversary has minority of computing power.
  • 54. Full attack The assumption that โ€œthe adversary is always firstโ€ may look unrealistic. Eyal and Sirer show a modification of this strategy that works without this assumption. ๐œธ โˆ’ probability that an honest user chooses adversaryโ€™s block ๐œถ โ€“ fraction of adversaryโ€™s computing power We present it on next slides.
  • 55. Note ๐œธ โˆ’ probability that an honest user chooses adversaryโ€™s block ๐œถ โ€“ fraction of adversaryโ€™s computing power the probability that the adversary wins if there is a fork is equal to ๐œถ + ๐Ÿ โˆ’ ๐œถ ๐œธ the adversary extends the chain an honest miners extend the chain they extend adversaryโ€™s chain they extend the โ€œhonestโ€ chain prob. ๐œถ prob. ๐Ÿ โˆ’ ๐œถ prob. ๐œธ prob. ๐Ÿ โˆ’ ๐œธ Why? denote it ๐œน
  • 56. At the beginning of the attack we have: initial state: someone mined a new block and everyone is trying to extend it state ๐ŸŽ First step: if the adversary finds a new block โ€“ he keeps it private.
  • 57. the honest miners also find a block adversary finds another block on top of his old one the adversary published his block ASAP โ€œhonest blockโ€ won โ€œadversaryโ€™s blockโ€ won state ๐ŸŽ prob. ๐Ÿ โˆ’ ๐œถ prob. ๐œถ prob. ๐Ÿ โˆ’ ๐œน prob. ๐œน state ๐Ÿ state ๐ŸŽโ€ฒ state ๐ŸŽ state ๐ŸŽ state ๐Ÿ the adversary found a new block
  • 58. From state ๐Ÿ: state ๐Ÿ state ๐Ÿ‘ the adversary publishes his chain ASAP state ๐ŸŽ prob. ๐œถ prob. ๐Ÿ โˆ’ ๐œถ
  • 59. In general for ๐’Š โ‰ฅ ๐Ÿ state ๐’Š ๐’Š state ๐’Š: โ€œthe adversary has advantage ๐’Š over the honest minersโ€
  • 60. This leads to the following state machine: state ๐ŸŽ state ๐ŸŽโ€ฒ state ๐Ÿ state ๐Ÿ state ๐Ÿ‘ state ๐Ÿ’ . . . ๐œถ ๐œถ ๐œถ ๐œถ ๐Ÿ โˆ’ ๐œถ๐Ÿ โˆ’ ๐œถ๐Ÿ โˆ’ ๐œถ๐Ÿ โˆ’ ๐œถ ๐œถ ๐Ÿ โˆ’ ๐œถ๐Ÿ
  • 61. This converges to some stationary distribution ๐ฉ ๐ŸŽ, ๐ฉ ๐ŸŽโ€ฒ, ๐ฉ ๐Ÿ, ๐ฉ ๐Ÿ, ๐ฉ ๐Ÿ, โ€ฆ We can find it using the theory of Markov chains ๐ฉ ๐ŸŽ ๐ฉ ๐ŸŽโ€ฒ ๐ฉ ๐Ÿ ๐ฉ ๐Ÿ ๐ฉ ๐Ÿ‘ ๐ฉ ๐Ÿ’ . . . ๐œถ ๐œถ ๐œถ ๐œถ ๐Ÿ โˆ’ ๐œถ๐Ÿ โˆ’ ๐œถ๐Ÿ โˆ’ ๐œถ๐Ÿ โˆ’ ๐œถ ๐œถ ๐Ÿ โˆ’ ๐œถ๐Ÿ
  • 62. How to calculate adversaryโ€™s revenue? state ๐ŸŽ state ๐ŸŽโ€ฒ state ๐Ÿ state ๐Ÿ state ๐Ÿ‘ state ๐Ÿ’ . . . +๐Ÿ +๐Ÿ +๐Ÿ +๐Ÿ (โˆ—) โˆ— = +๐Ÿ iff the adversary โ€œwon a forkโ€. This happens with probability ๐œน. Look when the adversary โ€œearns a blockโ€: Hence the expected revenue of the adversary is equal to: ๐œน โ‹… ๐’‘ ๐ŸŽโ€ฒ + ๐œถ โ‹… ๐’‘ ๐Ÿ + ๐œถ โ‹… ๐’‘ ๐Ÿ + โ‹ฏ
  • 63. The final result Eyal and Sirer calculate this, and show that their strategy works as long as ฮฑ > ๐Ÿโˆ’๐œธ ๐Ÿ‘ โˆ’๐Ÿ๐œธ They also show that the larger ๐œถ is the more beneficial this strategy is. ฮฑ ๐œธ
  • 64. How to fix it? One simple idea to make ๐œธ = ๐Ÿ ๐Ÿ : Instruct the miners to mine on a random chain (in case they receive to equal ones)
  • 65. Another clever attack Lear Bahack Theoretical Bitcoin Attacks with less than Half of the Computational Power The โ€œDifficulty Raising Attackโ€ โ€“ exploits the way the difficulty is adjusted in Bitcoin.
  • 66. What we do (not) know about Bitcoinโ€™s security? 1. Technical errors 2. Features/problems 3. Conceptual errors 4. Potential threats 5. Problems with key storage
  • 67. Blocks without transactions Example: Reason: shorter blocks propagate faster.
  • 68. In the future the opposite problem can happen When the mining reward becomes negligible, we can experience: Tragedy of the commons: adding a transaction costs nothing, so the miners will not be able to keep the transaction fees high.
  • 69. Another question Verification of blocks takes time. Maybe itโ€™s cheaper not to verify? (โ€œverifier's dilemmaโ€) (more relevant to Ethereum) See [Luu, Teutsch, Kulkarni, Saxena, Demystifying incentives in the consensus computer, ACM CCS 2015]. Recall that verification includes checking all transactions
  • 70. Yet another question What happens if someone posts a transaction T with a very high fee (say 100 BTC)? blocki+1block1 blocki+2 for them itโ€™s more profitable to mine on the old block
  • 71. What we do (not) know about Bitcoinโ€™s security? 1. Technical errors 2. Features/problems 3. Conceptual errors 4. Potential threats 5. Problems with key storage
  • 72. A practical problem: How to store the bitcoins? โ€ข storing in plaintext on the PC โ€“ bad idea (malware attacks) โ€ข encrypting with a password โ€“ susceptible to the dictionary attacks โ€ข better: split the key between several devices. Two options: โ€ข use the โ€œmultisignature feature of Bitcoin โ€ข use secret sharing and the MPCs โ€ข store on the USB memory โ€“ also susceptible to malware (once connected to the PC). โ€ข use a smarter device โ€“ more secure, especially if it has a display:
  • 73. ยฉ2016 by Stefan Dziembowski. Permission to make digital or hard copies of part or all of this material is currently granted without fee provided that copies are made only for personal or classroom use, are not distributed for profit or commercial advantage, and that new copies bear this notice and the full citation.

Editor's Notes

  1. http://bitcoinmagazine.com/3668/bitcoin-network-shaken-by-blockchain-fork/
  2. See: https://litecoin.info/User:Iddo/Comparison_between_Litecoin_and_Bitcoin
  3. See: https://litecoin.info/User:Iddo/Comparison_between_Litecoin_and_Bitcoin