Bitcoin 2013, San Jose Meni Rosenfeld Bitcoil 5/19/2013 Written by Meni Rosenfeld 1 Outline Mining primer Simple reward methods PPS Proportional Advanced methods DGM Reward method triangle Shift-PPLNS The future Questions 5/19/2013 Written by Meni Rosenfeld 2 Mining primer Bitcoin mining exists to: Determine initial distribution of coins Synchronize transactions Miners calculate hashes in an attempt to find blocks and be rewarded with bitcoins 5/19/2013 Written by Meni Rosenfeld 3 Mining rewards One in 232 hashes will be a share A share has probability p = 1 / D to be a block Currently D ≈ 10 M A block is rewarded with B bitcoins Currently B = 25 (+ tx fees) Expected reward per share: pB Example: a 10 GH/s miner finds: 8K shares per hour (73M per year) Per year, on average, ~7 blocks (180 BTC) 5/19/2013 Written by Meni Rosenfeld 4 Variance Actual number of blocks found is random Follows Poisson distribution Variance is equal to mean Relative variance: D / #shares Example: 10GH/s miner, one year, B = 25, D = 10M Average reward: 180 BTC Standard deviation: 68 BTC Reward range: 25 – 350 BTC 5/19/2013 Written by Meni Rosenfeld 5 Mining pools Group of people mining together sharing rewards Relative variance based on combined hashrate Allows continuous rewards similar to expectation Contribution is measured by number of shares Actual calculation of rewards is not trivial! Hence the need for (and variety of) “reward methods” 5/19/2013 Written by Meni Rosenfeld 6 PPS (Pay per share) Pool operator takes an active role Pays miners a fixed amount pB per share (minus fees) Operator keeps all block rewards Advantages: Simple Miners completely shielded from randomness and variance Payment sent instantly 5/19/2013 Written by Meni Rosenfeld 7 PPS (Pay per share) The problem Variance is entirely assumed by pool operator Operator requires high fees to compensate for risk Bankruptcy chance: 𝛿 = exp −2𝑓𝑅 𝐵 Still viable But difficult to get right 5/19/2013 Written by Meni Rosenfeld 8 Proportional Mining is organized into rounds Finding a block ends previous round and starts new one Block reward distributed among miners in latest round in proportion to shares they submitted this round Operator has no risk; miners do have variance Problem: Method is completely broken! 5/19/2013 Written by Meni Rosenfeld 9 Pool hopping In good times… 5/19/2013 Written by Meni Rosenfeld and in bad? 10 Pool hopping Proportional method based on wrong intuition Suitable for deterministic tasks Not for random, memoryless tasks Reward per share = B / (#shares in round) #shares in round = #past shares + #future shares #future shares unknown but always look the same #past shares is known and variable! Mining most lucrative when #past shares is low 5/19/2013 Written by Meni Rosenfeld 11 DGM (Double geometric method) When miner submits a share, his score increases Score decreases geometrically when: 1. A share is found 2. A block is found Miners are rewarded for blocks according to current score Independent of everyone else’s scores! 5/19/2013 Written by Meni Rosenfeld 12 DGM (Double geometric method) Reward per share depends only on pool’s future Hence, method is hopping-proof Works like a capacitor 𝑟 ≔1+ 𝑝 1−𝑐 1−𝑜 𝑐 𝑆 ≔ 𝑆 + 1 − 𝑓 1 − 𝑐 𝑠𝑝𝐵 𝑤≔ 5/19/2013 1−𝑜 𝑆 𝑐𝑠 Written by Meni Rosenfeld 13 Reward method triangle 5/19/2013 Written by Meni Rosenfeld 14 Shift-PPLNS Work is divided into “shifts” Ending a shift is arbitrary But not based on finding blocks! Miners are paid for shares submitted in last N shifts Method can work asynchronously Suitable for scalable, parallel implementations 5/19/2013 Written by Meni Rosenfeld 15 Pool landscape 5/19/2013 Pool Method BTCGuild Shift-PPLNS / PPS 50BTC PPS Slush Slush Bitminter Shift-PPLNS Bitparking DGM Eclipse DGM / PPS Deepbit Proportional / PPS Ozcoin DGM / PPS Itzod RSMPPS Eligius CPPSRB P2pool (decentralized) PPLNS Written by Meni Rosenfeld 16 The future Currently: “Standard” pools Pool assigns work to miners Miners submit proof of completed work Pool pays miners Problem: Pool performance improves with pool size Mining tends to concentrate at biggest pools Control of mining is centralized 5/19/2013 Written by Meni Rosenfeld 17 The future Some combination of: Multi-pool mining p2p pools Variable-difficulty shares Smart miners Distributed insurance agents Proxy pools Will allow: PPS payments (simple, no variance) Low fees Decentralization of power 5/19/2013 Written by Meni Rosenfeld 18 Questions? 5/19/2013 Written by Meni Rosenfeld 19 Thank you Meni Rosenfeld meni@bitcoil.co.il https://bitcoil.co.il 1DdrvajpK221W9dTzo5cLoxMnaxu859QN6 “Analysis of Bitcoin Pooled Mining Reward Systems” https://bitcoil.co.il/pool_analysis.pdf 5/19/2013 Written by Meni Rosenfeld 20