Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
If Bitcoin's hashrate keeps increasing at the same rate, by the year 2025 private key cracking will be more rewarding than mining.
// Bitcoin's hash rate has been doubling once every 75 days in average. It
// varies a lot, though, but, assuming it keeps at least a similar pace, and
// assuming that guessing one private key has the same cost of a single hash,
// then, by the end of 2025, it will be more rewarding for miners to brute
// force private keys rather than mining.
let pow = x => Math.pow(2, x);
let log = x => Math.log(x) / Math.log(2);
let blockRate = block => Math.pow(2, 61.602060630030124) * 1.0000693171203765 * Math.pow(2, (block - 454667) / 10000);
let blockReward = block => 50 / Math.pow(2, Math.floor(block / 210000));
let blockSupply = block => {
let supply = 0;
for (var i = 0; i < block; i += 210000)
supply += Math.min(block - i, 210000) * blockReward(i);
return supply;
};
let crackReward = block => blockSupply (block) / (Math.pow(2,128) / (blockRate (block) * 60 * 10));
for (var y = 0; y <= 40; ++y) {
let block = 52560 * y;
console.log(` Year ${2009+y}`);
console.log(` Block ${block}`);
console.log(` Reward ${blockReward(block).toFixed(4)} ~ btc/block`);
console.log(` Supply ${blockSupply(block).toFixed(0)} ~ btc`);
console.log(` HashRate 2 ^ ${(Math.log(blockRate(block))/Math.log(2)).toFixed(2)} ~ hash/s`);
console.log(`BlockReward ${blockReward(block)} ~ btc/block`);
console.log(`CrackReward ${crackReward(block)} ~ btc/block`);
console.log("");
};
// Year 2009
// Block 0
// Reward 50.0000 ~ btc/block
// Supply 0 ~ btc
// HashRate 2 ^ 16.14 ~ hash/s
// BlockReward 50 ~ btc/block
// CrackReward 0 ~ btc/block
//
// Year 2010
// Block 52560
// Reward 50.0000 ~ btc/block
// Supply 2628000 ~ btc
// HashRate 2 ^ 21.39 ~ hash/s
// BlockReward 50 ~ btc/block
// CrackReward 3.7460107728753104e-62 ~ btc/block
//
// Year 2011
// Block 105120
// Reward 50.0000 ~ btc/block
// Supply 5256000 ~ btc
// HashRate 2 ^ 26.65 ~ hash/s
// BlockReward 50 ~ btc/block
// CrackReward 2.8629428245456167e-60 ~ btc/block
//
// Year 2012
// Block 157680
// Reward 50.0000 ~ btc/block
// Supply 7884000 ~ btc
// HashRate 2 ^ 31.90 ~ hash/s
// BlockReward 50 ~ btc/block
// CrackReward 1.6410340453304302e-58 ~ btc/block
//
// Year 2013
// Block 210240
// Reward 25.0000 ~ btc/block
// Supply 10506000 ~ btc
// HashRate 2 ^ 37.16 ~ hash/s
// BlockReward 25 ~ btc/block
// CrackReward 8.356454045339746e-57 ~ btc/block
//
// Year 2014
// Block 262800
// Reward 25.0000 ~ btc/block
// Supply 11820000 ~ btc
// HashRate 2 ^ 42.42 ~ hash/s
// BlockReward 25 ~ btc/block
// CrackReward 3.592657086828145e-55 ~ btc/block
//
// Year 2015
// Block 315360
// Reward 25.0000 ~ btc/block
// Supply 13134000 ~ btc
// HashRate 2 ^ 47.67 ~ hash/s
// BlockReward 25 ~ btc/block
// CrackReward 1.525488574036884e-53 ~ btc/block
//
// Year 2016
// Block 367920
// Reward 25.0000 ~ btc/block
// Supply 14448000 ~ btc
// HashRate 2 ^ 52.93 ~ hash/s
// BlockReward 25 ~ btc/block
// CrackReward 6.4125879903984756e-52 ~ btc/block
//
// Year 2017
// Block 420480
// Reward 12.5000 ~ btc/block
// Supply 15756000 ~ btc
// HashRate 2 ^ 58.18 ~ hash/s
// BlockReward 12.5 ~ btc/block
// CrackReward 2.6723001356198693e-50 ~ btc/block
//
// Year 2018
// Block 473040
// Reward 12.5000 ~ btc/block
// Supply 16413000 ~ btc
// HashRate 2 ^ 63.44 ~ hash/s
// BlockReward 12.5 ~ btc/block
// CrackReward 1.0637532214036778e-48 ~ btc/block
//
// Year 2019
// Block 525600
// Reward 12.5000 ~ btc/block
// Supply 17070000 ~ btc
// HashRate 2 ^ 68.70 ~ hash/s
// BlockReward 12.5 ~ btc/block
// CrackReward 4.227660430507131e-47 ~ btc/block
//
// Year 2020
// Block 578160
// Reward 12.5000 ~ btc/block
// Supply 17727000 ~ btc
// HashRate 2 ^ 73.95 ~ hash/s
// BlockReward 12.5 ~ btc/block
// CrackReward 1.6777045328144452e-45 ~ btc/block
//
// Year 2021
// Block 630720
// Reward 6.2500 ~ btc/block
// Supply 18379500 ~ btc
// HashRate 2 ^ 79.21 ~ hash/s
// BlockReward 6.25 ~ btc/block
// CrackReward 6.647029144544695e-44 ~ btc/block
//
// Year 2022
// Block 683280
// Reward 6.2500 ~ btc/block
// Supply 18708000 ~ btc
// HashRate 2 ^ 84.46 ~ hash/s
// BlockReward 6.25 ~ btc/block
// CrackReward 2.5854426507172586e-42 ~ btc/block
//
// Year 2023
// Block 735840
// Reward 6.2500 ~ btc/block
// Supply 19036500 ~ btc
// HashRate 2 ^ 89.72 ~ hash/s
// BlockReward 6.25 ~ btc/block
// CrackReward 1.0053292256695962e-40 ~ btc/block
//
// Year 2024
// Block 788400
// Reward 6.2500 ~ btc/block
// Supply 19365000 ~ btc
// HashRate 2 ^ 94.98 ~ hash/s
// BlockReward 6.25 ~ btc/block
// CrackReward 3.907980278233384e-39 ~ btc/block
//
// Year 2025
// Block 840960
// Reward 3.1250 ~ btc/block
// Supply 19690500 ~ btc
// HashRate 2 ^ 100.23 ~ hash/s
// BlockReward 3.125 ~ btc/block
// CrackReward 1.518466669519214e-37 ~ btc/block
//
// Year 2026
// Block 893520
// Reward 3.1250 ~ btc/block
// Supply 19854750 ~ btc
// HashRate 2 ^ 105.49 ~ hash/s
// BlockReward 3.125 ~ btc/block
// CrackReward 5.8509528654974804e-36 ~ btc/block
//
// Year 2027
// Block 946080
// Reward 3.1250 ~ btc/block
// Supply 20019000 ~ btc
// HashRate 2 ^ 110.74 ~ hash/s
// BlockReward 3.125 ~ btc/block
// CrackReward 2.254333751407483e-34 ~ btc/block
//
// Year 2028
// Block 998640
// Reward 3.1250 ~ btc/block
// Supply 20183250 ~ btc
// HashRate 2 ^ 116.00 ~ hash/s
// BlockReward 3.125 ~ btc/block
// CrackReward 8.685215335328025e-33 ~ btc/block
//
// Year 2029
// Block 1051200
// Reward 1.5625 ~ btc/block
// Supply 20345625 ~ btc
// HashRate 2 ^ 121.26 ~ hash/s
// BlockReward 1.5625 ~ btc/block
// CrackReward 3.3456012954864313e-31 ~ btc/block
//
// Year 2030
// Block 1103760
// Reward 1.5625 ~ btc/block
// Supply 20427750 ~ btc
// HashRate 2 ^ 126.51 ~ hash/s
// BlockReward 1.5625 ~ btc/block
// CrackReward 1.2836225546418635e-29 ~ btc/block
//
// Year 2031
// Block 1156320
// Reward 1.5625 ~ btc/block
// Supply 20509875 ~ btc
// HashRate 2 ^ 131.77 ~ hash/s
// BlockReward 1.5625 ~ btc/block
// CrackReward 4.92485531434422e-28 ~ btc/block
//
// Year 2032
// Block 1208880
// Reward 1.5625 ~ btc/block
// Supply 20592000 ~ btc
// HashRate 2 ^ 137.02 ~ hash/s
// BlockReward 1.5625 ~ btc/block
// CrackReward 1.8894815226661088e-26 ~ btc/block
//
// Year 2033
// Block 1261440
// Reward 0.7813 ~ btc/block
// Supply 20673000 ~ btc
// HashRate 2 ^ 142.28 ~ hash/s
// BlockReward 0.78125 ~ btc/block
// CrackReward 7.2487192857728575e-25 ~ btc/block
//
// Year 2034
// Block 1314000
// Reward 0.7813 ~ btc/block
// Supply 20714063 ~ btc
// HashRate 2 ^ 147.54 ~ hash/s
// BlockReward 0.78125 ~ btc/block
// CrackReward 2.775471144144457e-23 ~ btc/block
//
// Year 2035
// Block 1366560
// Reward 0.7813 ~ btc/block
// Supply 20755125 ~ btc
// HashRate 2 ^ 152.79 ~ hash/s
// BlockReward 0.78125 ~ btc/block
// CrackReward 1.0626994227267953e-21 ~ btc/block
//
// Year 2036
// Block 1419120
// Reward 0.7813 ~ btc/block
// Supply 20796188 ~ btc
// HashRate 2 ^ 158.05 ~ hash/s
// BlockReward 0.78125 ~ btc/block
// CrackReward 4.06895112223632e-20 ~ btc/block
//
// Year 2037
// Block 1471680
// Reward 0.3906 ~ btc/block
// Supply 20836594 ~ btc
// HashRate 2 ^ 163.30 ~ hash/s
// BlockReward 0.390625 ~ btc/block
// CrackReward 1.5578983959991517e-18 ~ btc/block
//
// Year 2038
// Block 1524240
// Reward 0.3906 ~ btc/block
// Supply 20857125 ~ btc
// HashRate 2 ^ 168.56 ~ hash/s
// BlockReward 0.390625 ~ btc/block
// CrackReward 5.959097715691297e-17 ~ btc/block
//
// Year 2039
// Block 1576800
// Reward 0.3906 ~ btc/block
// Supply 20877656 ~ btc
// HashRate 2 ^ 173.82 ~ hash/s
// BlockReward 0.390625 ~ btc/block
// CrackReward 2.279404822964871e-15 ~ btc/block
//
// Year 2040
// Block 1629360
// Reward 0.3906 ~ btc/block
// Supply 20898188 ~ btc
// HashRate 2 ^ 179.07 ~ hash/s
// BlockReward 0.390625 ~ btc/block
// CrackReward 8.718906066221114e-14 ~ btc/block
//
// Year 2041
// Block 1681920
// Reward 0.1953 ~ btc/block
// Supply 20918344 ~ btc
// HashRate 2 ^ 184.33 ~ hash/s
// BlockReward 0.1953125 ~ btc/block
// CrackReward 3.3349884185240935e-12 ~ btc/block
//
// Year 2042
// Block 1734480
// Reward 0.1953 ~ btc/block
// Supply 20928609 ~ btc
// HashRate 2 ^ 189.58 ~ hash/s
// BlockReward 0.1953125 ~ btc/block
// CrackReward 1.275031939414429e-10 ~ btc/block
//
// Year 2043
// Block 1787040
// Reward 0.1953 ~ btc/block
// Supply 20938875 ~ btc
// HashRate 2 ^ 194.84 ~ hash/s
// BlockReward 0.1953125 ~ btc/block
// CrackReward 4.874697754142218e-9 ~ btc/block
//
// Year 2044
// Block 1839600
// Reward 0.1953 ~ btc/block
// Supply 20949141 ~ btc
// HashRate 2 ^ 200.10 ~ hash/s
// BlockReward 0.1953125 ~ btc/block
// CrackReward 1.8636923317803337e-7 ~ btc/block
//
// Year 2009
// Block 0
// Reward 50.0000 ~ btc/block
// Supply 0 ~ btc
// HashRate 2 ^ 16.14 ~ hash/s
// BlockReward 50 ~ btc/block
// CrackReward 0 ~ btc/block
//
// Year 2010
// Block 52560
// Reward 50.0000 ~ btc/block
// Supply 2628000 ~ btc
// HashRate 2 ^ 21.39 ~ hash/s
// BlockReward 50 ~ btc/block
// CrackReward 1.2747014123053446e-23 ~ btc/block
//
// Year 2011
// Block 105120
// Reward 50.0000 ~ btc/block
// Supply 5256000 ~ btc
// HashRate 2 ^ 26.65 ~ hash/s
// BlockReward 50 ~ btc/block
// CrackReward 9.742089606956995e-22 ~ btc/block
//
// Year 2012
// Block 157680
// Reward 50.0000 ~ btc/block
// Supply 7884000 ~ btc
// HashRate 2 ^ 31.90 ~ hash/s
// BlockReward 50 ~ btc/block
// CrackReward 5.584149491428814e-20 ~ btc/block
//
// Year 2013
// Block 210240
// Reward 25.0000 ~ btc/block
// Supply 10506000 ~ btc
// HashRate 2 ^ 37.16 ~ hash/s
// BlockReward 25 ~ btc/block
// CrackReward 2.84355396161426e-18 ~ btc/block
//
// Year 2014
// Block 262800
// Reward 25.0000 ~ btc/block
// Supply 11820000 ~ btc
// HashRate 2 ^ 42.42 ~ hash/s
// BlockReward 25 ~ btc/block
// CrackReward 1.2225178570411648e-16 ~ btc/block
//
// Year 2015
// Block 315360
// Reward 25.0000 ~ btc/block
// Supply 13134000 ~ btc
// HashRate 2 ^ 47.67 ~ hash/s
// BlockReward 25 ~ btc/block
// CrackReward 5.190968626841182e-15 ~ btc/block
//
// Year 2016
// Block 367920
// Reward 25.0000 ~ btc/block
// Supply 14448000 ~ btc
// HashRate 2 ^ 52.93 ~ hash/s
// BlockReward 25 ~ btc/block
// CrackReward 2.1820906194615775e-13 ~ btc/block
//
// Year 2017
// Block 420480
// Reward 12.5000 ~ btc/block
// Supply 15756000 ~ btc
// HashRate 2 ^ 58.18 ~ hash/s
// BlockReward 12.5 ~ btc/block
// CrackReward 9.09336615271874e-12 ~ btc/block
//
// Year 2018
// Block 473040
// Reward 12.5000 ~ btc/block
// Supply 16413000 ~ btc
// HashRate 2 ^ 63.44 ~ hash/s
// BlockReward 12.5 ~ btc/block
// CrackReward 3.619764639990166e-10 ~ btc/block
//
// Year 2019
// Block 525600
// Reward 12.5000 ~ btc/block
// Supply 17070000 ~ btc
// HashRate 2 ^ 68.70 ~ hash/s
// BlockReward 12.5 ~ btc/block
// CrackReward 1.4385982978309602e-8 ~ btc/block
//
// Year 2020
// Block 578160
// Reward 12.5000 ~ btc/block
// Supply 17727000 ~ btc
// HashRate 2 ^ 73.95 ~ hash/s
// BlockReward 12.5 ~ btc/block
// CrackReward 5.708932694200867e-7 ~ btc/block
//
// Year 2021
// Block 630720
// Reward 6.2500 ~ btc/block
// Supply 18379500 ~ btc
// HashRate 2 ^ 79.21 ~ hash/s
// BlockReward 6.25 ~ btc/block
// CrackReward 0.000022618668102981297 ~ btc/block
//
// Year 2022
// Block 683280
// Reward 6.2500 ~ btc/block
// Supply 18708000 ~ btc
// HashRate 2 ^ 84.46 ~ hash/s
// BlockReward 6.25 ~ btc/block
// CrackReward 0.0008797805447244139 ~ btc/block
//
// Year 2023
// Block 735840
// Reward 6.2500 ~ btc/block
// Supply 19036500 ~ btc
// HashRate 2 ^ 89.72 ~ hash/s
// BlockReward 6.25 ~ btc/block
// CrackReward 0.03420958084456445 ~ btc/block
//
// Year 2024
// Block 788400
// Reward 6.2500 ~ btc/block
// Supply 19365000 ~ btc
// HashRate 2 ^ 94.98 ~ hash/s
// BlockReward 6.25 ~ btc/block
// CrackReward 1.3298167789576036 ~ btc/block
//
// Year 2025
// Block 840960
// Reward 3.1250 ~ btc/block
// Supply 19690500 ~ btc
// HashRate 2 ^ 100.23 ~ hash/s
// BlockReward 3.125 ~ btc/block
// CrackReward 51.670743239455255 ~ btc/block
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment