Please enable JavaScript.
Coggle requires JavaScript to display documents.
Week 5 How to destroy Bitcoins: Game theory and attacks - Coggle Diagram
Week 5 How to destroy Bitcoins: Game theory and attacks
solo miner
hard to make profit
mining pool
gather computing resources collectively
pool reward schemes
pay-per- share
fixed amount, equal for each share
pay for each share or near-valid block
regardless how much reward the pool makes
miner will stop work once he finish the near-valid block requirement
issue
individual miners may not submit the valid block but they are paid
proportional pay out scheme
pay only when the block is found
pay proportional to the number of share submitted before the block is found
bear risk of not finding a valid block, variance proportional to the size of the pool
advantageous / beneficial to the pool
individual miners are incentivized to submit the valid block
issue
incentive misalignment among the pools
pool hopping
principle
the pool reward the share higher during the initial stage of mining for a block
it would decrease inversely proportional to the number of shares submitted
individual miners would take advantage of it
cannibalizing pool
individual miners distributed small % of mining power among mining pools and withhold the valid block if found
Basic Principle
Pool pays out every share submitted
by default, proportional to work down by individuals
a pool bears the risk and reward variance
double spending attack
can double spending succeed with voting power less than majority?
spending the same UTXO more than once
the spender try to spend the same UTXO with a higher transaction fee and become earlier confirmed transaction than the former transaction with the same UTXO
transactions can be resent with a larger transaction fee
confirmation to defend before sending good
more than 50% hashrate will be always succeed in double spending attack
Attack: Censorship of transactions
ignore the transactions from an individual or a group
isolate them from the network, so it becomes useless
strategies
Naive strategy: blacklisting
it would not work unless it possesses 100% network hash rate or mining hash power
it may cause delay or inconvenience only
Punitive Forking
in case there is a majority on the network that possesses 51% or more network hash rate
it could produce a longer proof-of-work chain in order to make the other chain with the undesired transaction failed to append to the blockchain by the fork
feather forking
by forking as well
may not have 51% mining hash rate on network
q is the proportion of mining power
say 20%
it will give up after k confirmations
compete with each confirmation
chance of orphaning the particular transaction is equal to q^k
selfish mining / block withholding
withhold the found block from the netork
submit shares in a mining pool but withhold a block
Defense strategy
Block validation
validate block using dummy block which has meta data
the dummy block contains the signature of that block
issues
sybil attack: fake identity and sign
how many signatures are enough?
requiring a fundamental change on validation process
Fork Punishment
no reward to honest or dishonest miners
first miner who found the proof of the fork will get the half of forfeited reward from the previous height
hard fork to change the reward rules
undesirable
Tie-breaking
unforgeable timestamp issued by a trusted party into the working block, 60s of interval in issuing
choose a block with a fresher timestamp
issue
hard fork
centralized party for timestamp that violate the basic principle of Bitcoin