# 5.5 Mining Incentives and Strategies ###### tags: `Blockchain` The following notes are taken from [Coursera](https://www.coursera.org/learn/cryptocurrency/home/week/2) --- ### Game-theoretic analysis of mining Several strategic decisions - Which transactions to include in a block - Default: any above minimum transaction fee - Which block to mine on top of - Default: longest valid chain - How to choose between colliding blocks - Default: first block heard - When to announce new blocks - Default: immediately after finding them ### Game-theoretic analysis of mining Assume you control 0 < a < 1 of mining power Can you profit from a non-default strategy? :::success For some a, YES, though analysis is ongoing! ::: ### Forking Attacks - Certainly possible if a > 0.5 - may be possible with less - avoid block collisions - Attack is detectable - Might be reversed - Might crash exchange rate - ![](https://i.imgur.com/j7CsuE7.png) ### Forking Attacks via Bribery - **Idea:** building a > 0.5 is expensive. Why not rent instead? - Payment techniques: - out-of-band bribery - run a mining pool at a loss - insert large "tips" in the block chain :::success This is an open problem! ::: ![](https://i.imgur.com/EccNHd6.png) ![](https://i.imgur.com/rLKqxot.png) ![](https://i.imgur.com/QFDlghG.png) ![](https://i.imgur.com/fNXn5wq.png) ![](https://i.imgur.com/bDEyK1t.png) ### Block-withholding Attacks - Improved strategy for any a if you can win every race - ideal network position - bribery? - With a 50% chance of winning races, improved strategy for a > 0.25 - Not yet observed in practice ### Punitive Forking - Suppose you want to blacklist transactions from address X - freeze an individual's moeny forever - **Extreme strategy:** annouce that you will refuse to mine on any chain with a transaction from X :::danger With a < 0.5, you'll soon fall behind the network ::: ### Feather-forking Strategy - **To blacklist transactions from X,** announce that you will refuse to mine *directly* on any block with a transaction from X - but you'll concede after n confirming blocks - Chance of pruning an offending block is a^2 ### Response to Feather Forking - **For other miners,** including a transaction from X induces an a^2 chacne of losing a block - Might be safer to join the blaclist - Can enforce a blacklist with a < 0.5 :::success Success depends on convincing other miners you'll fork ::: ### Feather-forking: What is it good for? - Freezing individual bitcoin owners - ransom/extortion - law enforcement? - Enforcing a min transaction fee... ### A Second Look at Transaction Fees Default policy: ``` priority = sum(input_value * input_age)/size_in_bytes ``` Accept without fees if: ``` priority > 0.576 ``` ![](https://i.imgur.com/rLzT41D.jpg) ### Summary - Miners are free to implement any strategy - Very little non-default behavior in the wild - No complete game-theoretic model exists