In letzter Zeit ist die Hashrate des Bitcoin-Netzwerks rasant gestiegen:
Der Graph legt die Annahme nahe, dass die Hashrate zurzeit exponentiell wächst, d.h. in regelmäßigen Abständen um einen bestimmten Faktor größer wird.
Was passiert, wenn das ab jetzt immer so weitergeht?
Ich habe dazu mal ein paar Berechnungen aufgestellt; hier präsentiere ich euch die Ergebnisse und lade zur Diskussion ein.
Der aktuelle Schwierigkeitsgrad beträgt 21335329.
Ich gehe davon aus, dass die Schwierigkeit bei der nächsten Anpassung um 15% steigt, d.h. der nächste Schwierigkeitsgrad wäre dann 24535628.
Der Schwierigkeitsgrad steht in folgendem Zusammenhang mit der durchschnittlichen Netzwerk-Hashrate in den vergangenen 2016 Blöcken:
Hashrate [ TH/s ] = Schwierigkeitsgrad * 2^32 / 600 / 10^12
Ich find' die Hashrate anschaulicher als den Schwierigkeitsgrad; deshalb rechne ich mit einer Hashrate von gerundeten 176 TH/s weiter.
Hier sind die Netto-Mining-Einnahmen von 1 GH/s in den nächsten 365 Tagen bei 15% Erhöhung pro 2016 Blöcke:
asset hashrate [ MH/s ] = 1000
network hashrate [ TH/s ] = 176
hashrate increase [ % ] = 15
calculation time [ d ] = 365
time offset [ d ] | total [ BTC ] | hashrate [ TH/s ] | profit [ BTC ] |
0.000000 | 0.00000000 | 176.000000 | 0.28636363 |
12.173913 | 0.28636363 | 202.400000 | 0.24901185 |
24.347826 | 0.53537548 | 232.760000 | 0.21653205 |
36.521739 | 0.75190753 | 267.674000 | 0.18828873 |
48.695652 | 0.94019626 | 307.825100 | 0.16372933 |
60.869565 | 1.10392559 | 353.998865 | 0.14237333 |
73.043478 | 1.24629892 | 407.098694 | 0.12380290 |
85.217391 | 1.37010182 | 468.163498 | 0.10765469 |
97.391304 | 1.47775651 | 538.388022 | 0.09361278 |
109.565217 | 1.57136929 | 619.146225 | 0.08140241 |
121.739130 | 1.65277170 | 712.018158 | 0.07078471 |
133.913043 | 1.72355641 | 818.820881 | 0.06155192 |
146.086956 | 1.78510833 | 941.644013 | 0.05352341 |
158.260869 | 1.83863174 | 1082.890614 | 0.04654209 |
170.434782 | 1.88517383 | 1245.324206 | 0.04047138 |
182.608695 | 1.92564521 | 1432.122836 | 0.03519251 |
194.782608 | 1.96083772 | 1646.941261 | 0.03060218 |
206.956521 | 1.99143990 | 1893.982450 | 0.02661059 |
219.130434 | 2.01805049 | 2178.079817 | 0.02313964 |
231.304347 | 2.04119013 | 2504.791789 | 0.02012143 |
243.478260 | 2.06131156 | 2880.510557 | 0.01749689 |
255.652173 | 2.07880845 | 3312.587140 | 0.01521469 |
267.826086 | 2.09402314 | 3809.475211 | 0.01323016 |
279.999999 | 2.10725330 | 4380.896492 | 0.01150449 |
292.173912 | 2.11875779 | 5038.030965 | 0.01000390 |
304.347825 | 2.12876169 | 5793.735609 | 0.00869905 |
316.521738 | 2.13746074 | 6662.795950 | 0.00756439 |
328.695651 | 2.14502513 | 7662.215342 | 0.00657773 |
340.869564 | 2.15160286 | 8811.547643 | 0.00571976 |
353.043477 | 2.15732262 | 10133.279789 | 0.00488489 |
365.000000 | 2.16220751 | | |
Das gleiche mit 20%:
asset hashrate [ MH/s ] = 1000
network hashrate [ TH/s ] = 176
hashrate increase [ % ] = 20
calculation time [ d ] = 365
time offset [ d ] | total [ BTC ] | hashrate [ TH/s ] | profit [ BTC ] |
0.000000 | 0.00000000 | 176.000000 | 0.28636363 |
11.666666 | 0.28636363 | 211.200000 | 0.23863636 |
23.333332 | 0.52499999 | 253.440000 | 0.19886363 |
34.999998 | 0.72386362 | 304.128000 | 0.16571969 |
46.666664 | 0.88958331 | 364.953600 | 0.13809974 |
58.333330 | 1.02768305 | 437.944320 | 0.11508312 |
69.999996 | 1.14276617 | 525.533184 | 0.09590260 |
81.666662 | 1.23866877 | 630.639820 | 0.07991883 |
93.333328 | 1.31858760 | 756.767784 | 0.06659902 |
104.999994 | 1.38518662 | 908.121340 | 0.05549919 |
116.666660 | 1.44068581 | 1089.745608 | 0.04624932 |
128.333326 | 1.48693513 | 1307.694729 | 0.03854110 |
139.999992 | 1.52547623 | 1569.233674 | 0.03211758 |
151.666658 | 1.55759381 | 1883.080408 | 0.02676465 |
163.333324 | 1.58435846 | 2259.696489 | 0.02230388 |
174.999990 | 1.60666234 | 2711.635786 | 0.01858656 |
186.666656 | 1.62524890 | 3253.962943 | 0.01548880 |
198.333322 | 1.64073770 | 3904.755531 | 0.01290733 |
209.999988 | 1.65364503 | 4685.706637 | 0.01075611 |
221.666654 | 1.66440114 | 5622.847964 | 0.00896342 |
233.333320 | 1.67336456 | 6747.417556 | 0.00746952 |
244.999986 | 1.68083408 | 8096.901067 | 0.00622460 |
256.666652 | 1.68705868 | 9716.281280 | 0.00518716 |
268.333318 | 1.69224584 | 11659.537536 | 0.00432264 |
279.999984 | 1.69656848 | 13991.445043 | 0.00360220 |
291.666650 | 1.70017068 | 16789.734051 | 0.00300183 |
303.333316 | 1.70317251 | 20147.680861 | 0.00250152 |
314.999982 | 1.70567403 | 24177.217033 | 0.00208460 |
326.666648 | 1.70775863 | 29012.660439 | 0.00173717 |
338.333314 | 1.70949580 | 34815.192526 | 0.00144764 |
349.999980 | 1.71094344 | 41778.231031 | 0.00120636 |
361.666646 | 1.71214980 | 50133.877237 | 0.00028723 |
365.000000 | 1.71243703 | | |
...mit 30%:
asset hashrate [ MH/s ] = 1000
network hashrate [ TH/s ] = 176
hashrate increase [ % ] = 30
calculation time [ d ] = 365
time offset [ d ] | total [ BTC ] | hashrate [ TH/s ] | profit [ BTC ] |
0.000000 | 0.00000000 | 176.000000 | 0.28636363 |
10.769230 | 0.28636363 | 228.800000 | 0.22027972 |
21.538460 | 0.50664335 | 297.440000 | 0.16944593 |
32.307690 | 0.67608928 | 386.672000 | 0.13034302 |
43.076920 | 0.80643230 | 502.673600 | 0.10026386 |
53.846150 | 0.90669616 | 653.475680 | 0.07712605 |
64.615380 | 0.98382221 | 849.518384 | 0.05932773 |
75.384610 | 1.04314994 | 1104.373899 | 0.04563671 |
86.153840 | 1.08878665 | 1435.686068 | 0.03510516 |
96.923070 | 1.12389181 | 1866.391888 | 0.02700397 |
107.692300 | 1.15089578 | 2426.309454 | 0.02077228 |
118.461530 | 1.17166806 | 3154.202290 | 0.01597868 |
129.230760 | 1.18764674 | 4100.462977 | 0.01229129 |
139.999990 | 1.19993803 | 5330.601870 | 0.00945484 |
150.769220 | 1.20939287 | 6929.782431 | 0.00727295 |
161.538450 | 1.21666582 | 9008.717160 | 0.00559458 |
172.307680 | 1.22226040 | 11711.332308 | 0.00430352 |
183.076910 | 1.22656392 | 15224.732000 | 0.00331040 |
193.846140 | 1.22987432 | 19792.151600 | 0.00254646 |
204.615370 | 1.23242078 | 25729.797080 | 0.00195881 |
215.384600 | 1.23437959 | 33448.736204 | 0.00150678 |
226.153830 | 1.23588637 | 43483.357065 | 0.00115906 |
236.923060 | 1.23704543 | 56528.364184 | 0.00089158 |
247.692290 | 1.23793701 | 73486.873439 | 0.00068583 |
258.461520 | 1.23862284 | 95532.935470 | 0.00052756 |
269.230750 | 1.23915040 | 124192.816111 | 0.00040582 |
279.999980 | 1.23955622 | 161450.660944 | 0.00031216 |
290.769210 | 1.23986838 | 209885.859227 | 0.00024013 |
301.538440 | 1.24010851 | 272851.616995 | 0.00018471 |
312.307670 | 1.24029322 | 354707.102093 | 0.00014208 |
323.076900 | 1.24043530 | 461119.232720 | 0.00010929 |
333.846130 | 1.24054459 | 599455.002536 | 0.00008407 |
344.615360 | 1.24062866 | 779291.503296 | 0.00006467 |
355.384590 | 1.24069333 | 1013078.954284 | 0.00004441 |
365.000000 | 1.24073774 | | |
...und mit 40%:
asset hashrate [ MH/s ] = 1000
network hashrate [ TH/s ] = 176
hashrate increase [ % ] = 40
calculation time [ d ] = 365
time offset [ d ] | total [ BTC ] | hashrate [ TH/s ] | profit [ BTC ] |
0.000000 | 0.00000000 | 176.000000 | 0.28636363 |
10.000000 | 0.28636363 | 246.400000 | 0.20454545 |
20.000000 | 0.49090908 | 344.960000 | 0.14610389 |
30.000000 | 0.63701297 | 482.944000 | 0.10435992 |
40.000000 | 0.74137289 | 676.121600 | 0.07454280 |
50.000000 | 0.81591569 | 946.570240 | 0.05324486 |
60.000000 | 0.86916055 | 1325.198336 | 0.03803204 |
70.000000 | 0.90719259 | 1855.277670 | 0.02716574 |
80.000000 | 0.93435833 | 2597.388738 | 0.01940410 |
90.000000 | 0.95376243 | 3636.344233 | 0.01386007 |
100.000000 | 0.96762250 | 5090.881926 | 0.00990005 |
110.000000 | 0.97752255 | 7127.234696 | 0.00707146 |
120.000000 | 0.98459401 | 9978.128574 | 0.00505104 |
130.000000 | 0.98964505 | 13969.380003 | 0.00360789 |
140.000000 | 0.99325294 | 19557.132004 | 0.00257706 |
150.000000 | 0.99583000 | 27379.984805 | 0.00184076 |
160.000000 | 0.99767076 | 38331.978727 | 0.00131482 |
170.000000 | 0.99898558 | 53664.770217 | 0.00093916 |
180.000000 | 0.99992474 | 75130.678303 | 0.00067083 |
190.000000 | 1.00059557 | 105182.949624 | 0.00047916 |
200.000000 | 1.00107473 | 147256.129473 | 0.00034226 |
210.000000 | 1.00141699 | 206158.581262 | 0.00024447 |
220.000000 | 1.00166146 | 288622.013766 | 0.00017462 |
230.000000 | 1.00183608 | 404070.819272 | 0.00012473 |
240.000000 | 1.00196081 | 565699.146980 | 0.00008909 |
250.000000 | 1.00204990 | 791978.805772 | 0.00006363 |
260.000000 | 1.00211353 | 1108770.328080 | 0.00004545 |
270.000000 | 1.00215898 | 1552278.459312 | 0.00003246 |
280.000000 | 1.00219144 | 2173189.843036 | 0.00002319 |
290.000000 | 1.00221463 | 3042465.780250 | 0.00001656 |
300.000000 | 1.00223119 | 4259452.092350 | 0.00001183 |
310.000000 | 1.00224302 | 5963232.929290 | 0.00000845 |
320.000000 | 1.00225147 | 8348526.101006 | 0.00000603 |
330.000000 | 1.00225750 | 11687936.541408 | 0.00000431 |
340.000000 | 1.00226181 | 16363111.157971 | 0.00000308 |
350.000000 | 1.00226489 | 22908355.621159 | 0.00000220 |
360.000000 | 1.00226709 | 32071697.869622 | 0.00000078 |
365.000000 | 1.00226787 | | |
Für alle, die selbst ein bisschen ausprobieren wollen - hier ist das Skript dazu:
#!/bin/bash
Main()
{
readonly ASSET_HASHRATE="$(Input 'asset hashrate [ MH/s ] = ')"
readonly HASHRATE_INIT="$(Input 'network hashrate [ TH/s ] = ')"
readonly HASHRATE_ADJUST="$(Input 'hashrate increase [ % ] = ')"
readonly DURATION_TIME="$(Input 'calculation time [ d ] = ')"
readonly BTC_PRECISION=8
readonly TIME_PRECISION=6
readonly HASHRATE_PRECISION=6
readonly ADJUST_BASE=100
readonly BLOCKS_PER_ADJUST=2016
readonly COINBASE_BTC=25
readonly TARGET_TIME=14
readonly BTC_UNIT=$((10**BTC_PRECISION))
readonly TIME_UNIT=$((10**TIME_PRECISION))
readonly HASHRATE_UNIT=$((10**HASHRATE_PRECISION))
readonly DURATION=$((DURATION_TIME*TIME_UNIT))
readonly COINBASE=$((COINBASE_BTC*BTC_UNIT))
readonly TARGET=$((TARGET_TIME*TIME_UNIT))
Btc=0
Time=0
Hashrate=$((HASHRATE_INIT*HASHRATE_UNIT))
echo '[right][table][tr][td][b]time offset [ d ][/b][/td][td][b] total [ BTC ][/b][/td]'
echo '[td][b] hashrate [ TH/s ][/b][/td][td][b] profit [ BTC ][/b][/td][/tr]'
while true; do
TimeInc=$((TARGET*ADJUST_BASE/(HASHRATE_ADJUST + ADJUST_BASE)))
Blocks=$((BLOCKS_PER_ADJUST))
((Time + TimeInc > DURATION)) &&
{
((TimeInc = DURATION - Time))
((Blocks = Blocks*TimeInc*(HASHRATE_ADJUST + ADJUST_BASE)/ADJUST_BASE/TARGET))
}
BtcInc=$((Blocks*COINBASE*ASSET_HASHRATE/Hashrate))
((BtcInc)) || break
echo -n "[tr][td]$(Output "$Time" "$TIME_PRECISION")[/td][td]$(Output "$Btc" "$BTC_PRECISION")[/td]"
echo "[td]$(Output "$Hashrate" "$HASHRATE_PRECISION")[/td][td]$(Output "$BtcInc" "$BTC_PRECISION")[/td][/tr]"
((Btc += BtcInc))
(((Time += TimeInc) >= DURATION)) && break
((Hashrate = Hashrate*(HASHRATE_ADJUST + ADJUST_BASE)/ADJUST_BASE))
done
echo "[tr][td]$(Output "$Time" "$TIME_PRECISION")[/td][td]$(Output "$Btc" "$BTC_PRECISION")[/td][td][/td][td][/td][/tr][/table][/right]"
}
Input()
{
read -rp "$1" && echo $((REPLY))
}
Output()
{
Number="$1"
Precision="$2"
while ((${#Number} < Precision + 1)); do
Number="0$Number"
done
echo "${Number::${#Number} - Precision}.${Number: -Precision}"
}
Main
Das interessante daran ist, dass die Netto-Einnahmen sich einem Grenzwert annähern, d.h. nach einer gewissen Zeit kommt fast nichts mehr hinzu.
Ebenfalls interessant ist, dass 1 GH/s des Bitfunder-Assets "
TAT.VIRTUALMINE" für rund 4.6 BTC gehandelt wird - das liegt deutlich über dem Grenzwert bei einer Erhöhung von "nur" 15% pro 2016 Blöcke.
Heißt das, der freie Markt schätzt die Sache optimistischer ein als ich?
Ist die Annahme des exponentiellen Wachstums falsch?