Lásd még: target
Mi a “nehézség”?
A Nehézség annak mértéke, hogy milyen nehéz megtalálni a kivonatot egy adott cél.
A Bitcoin hálózat globális blokkolási nehézségekkel küzd. Az érvényes blokkoknak hash-nak kell lennie ennél a célnál. A bányakészleteknek a készlet-specifikus megosztási nehézségeknek is nehézségei vannak a részvények alsó határának beállításával.
Milyen gyakran változik a hálózati nehézség?
Minden 2016 blokkolja.
Mi a nehézség képlete?
nehézség = nehézség_1_cél / aktuális_cél
(a cél 256 bites szám)
nehézség_1_cél a nehézség mérésének különféle módjai szerint eltérő lehet. Hagyományosan hash-ot jelent, ahol a vezető 32 bit nulla, a többi pedig egy (ezt “pool nehézségnek” vagy “pdiff” -nek nevezik). A Bitcoin protokoll a célokat jelöli. korlátozott pontosságú egyedi lebegőpontos típusként; ennek eredményeként a Bitcoin kliensek gyakran ennek alapján közelítik meg a nehézséget (ezt “bdiff” néven ismerjük).
Hogyan tároljuk a nehézséget blokkokban?
Minden blokk csomagolt ábrázolást tárol ( “Bits” néven) annak tényleges hexadecimális célpontjára. A cél egy előre definiált képlettel származtatható belőle. Például, ha a blokkba csomagolt cél 0x1b0404cb (kis endián sorrendben tárolva: cb 04 04 1b
), akkor a hexadecimális cél
0x0404cb * 2**(8*(0x1b - 3)) = 0x00000000000404CB000000000000000000000000000000000000000000000000
Ne feledje, hogy ez a csomagolt formátum előjelbitet tartalmaz a 24. bitben, és például a fenti cél negatívja 0x1b8404cb lenne csomagolt formátumban. Mivel a célok a gyakorlatban soha nem negatívak, ez azt jelenti, hogy az alsó 24 bit legnagyobb jogi értéke 0x7fffff. Ezenkívül a 0x008000 a legkisebb jogi érték az alsó 24 bitnél, mivel a célokat mindig a lehető legkisebb kitevővel tárolják.
Hogyan számítják ki a nehézséget? Mi a különbség a bdiff és a pdiff között?
A lehető legmagasabb célpontot (1. nehézség) 0x1d00ffff-ként definiáljuk, ami hatszögű célt ad nekünk
0x00ffff * 2**(8*(0x1d - 3)) = 0x00000000FFFF0000000000000000000000000000000000000000000000000000
Meg kell jegyezni, hogy az egyesített bányászat gyakran nem csonka célokat használ, ami az “pool 1-es nehézséget” a
0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Tehát a A 0x1b0404cb tehát:
0x00000000FFFF0000000000000000000000000000000000000000000000000000 /0x00000000000404CB000000000000000000000000000000000000000000000000 = 16307.420938523983 (bdiff)
És:
0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF /0x00000000000404CB000000000000000000000000000000000000000000000000 = 16307.669773817162 (pdiff)
Itt gyorsan elérheti kiszámítja a bitcoin nehézségét. Módosított Taylor-sorokat használ a logaritmushoz (oktatóanyagokat láthat a flipcode-on és a wikipédián), és a naplókra támaszkodik a nehézségszámítás átalakításához:
Ha látni szeretné, hogy a matematika a normál nehézségből megy számítások (amelyekhez nagy, nagy normál egész számoknál nagyobb méretű intsok szükségesek) a fenti számításhoz, itt van néhány python:
Mi a jelenlegi nehézség?
Aktuális nehézség, mint a Bitcoin getDifficulty kimenete.
Grafikonok
Mi a maximum um nehézség?
Nincs minimális cél. A maximális nehézség nagyjából: maximum_target / 1 (mivel a 0 végtelenet eredményezne), ami nevetségesen hatalmas szám (kb. 2 ^ 224).
A tényleges maximális nehézség az, amikor a current_target = 0, de mi nem tudná kiszámolni a nehézséget, ha ez megtörténne. (szerencsére soha nem fog, így rendben vagyunk.)
Lemehet a hálózati nehézség?
Igen, igen. Lásd a vitát a célban.
Mi a legkisebb nehézség?
Ha a cél a maximálisan megengedett értéken van, akkor a legkisebb nehézség 1.
Milyen hálózati kivonatolási arány eredményez egy adott nehézséget?
A nehézséget minden 2016-os blokkban kiigazítják az előző 2016-os blokkok megtalálásához szükséges idő alapján. A kívánt ütemben, 10 percenként egy blokk mellett, a 2016-os blokkok megtalálása pontosan két hetet vesz igénybe. Ha az előző 2016-os blokkok több mint két hétig tartott a keresés, a nehézség csökken. Ha kevesebb, mint két hétig tartott, a nehézség megnő. A nehézség változása arányos azzal az idővel, amely két hét alatt vagy alatt kevesebb volt, mint az előző 2016-os blokkok megtalálása .
A blokk megtalálásához a kivonatnak kisebbnek kell lennie, mint a cél. A kivonat gyakorlatilag véletlen szám 0 és 2 között ** 256-1. Az 1. nehézség eltolása
0xffff * 2**208
és a D nehézség miatt
(0xffff * 2**208)/D
A várható kivonatok száma, amelyet kiszámítanunk kell a D nehézségű blokk megtalálásához, ezért
D * 2**256 / (0xffff * 2**208)
vagy csak
D * 2**48 / 0xffff
A nehézség úgy van beállítva, hogy az előző 2016-os blokkok lettek volna 10 percenként egy ütemben találtuk, így 600 másodperc alatt számítottuk ki a (D * 2 ** 48 / 0xffff) hasheket. Ez azt jelenti, hogy a hálózat kivonatolási aránya az előző 2016-os blokkokhoz képest
D * 2**48 / 0xffff / 600
volt. Tovább egyszerűsíthető a következőre:
D * 2**32 / 600
nagy pontosságvesztés nélkül.
Az 1. nehézségnél ez körülbelül 7 Mhash / másodperc.
Az írás idején a nehézség 22012.4941572, ami azt jelenti, hogy az előző, 2016-os blokkok halmaza felett az átlagos hálózati kivonási arány
22012.4941572 * 2**32 / 600 = around 157 Ghashes per second.
Milyen hamar várható egy blokk létrehozása?
(Az örök kérdés.)
A blokk megtalálásának átlagos idejét a következő számítással lehet megközelíteni:
time = difficulty * 2**32 / hashrate
ahol a nehézség az aktuális nehézség, a hashrate annak a hashnak a száma, amelyet a bányász másodpercenként kiszámított, és az idő a megtalált blokkok közötti másodpercek átlaga.
Például a Python segítségével kiszámoljuk az átlagos időt generáljon egy blokkot egy 1Ghash / s bányászgép segítségével, amikor a nehézség 20000:
$ python -c "print 20000 * 2**32 / 10**9 / 60 / 60.0"23.85
és tapasztalja, hogy átlagosan alig 24 óra alatt tart.
- A hash bármelyik őrlése ugyanolyan eséllyel “nyer”, mint bármely más. A számok száma az, hogy a hardver másodpercenként hányszor próbálkozhat.
- Ismernie kell a nehézséget (fent) és a khash / sec sebességet (amelyet az ügyfél jelentett).
- Bányászat A hardver-összehasonlításnak vannak olyan statisztikái, amelyek segíthetnek megjósolni, mit kaphatna.
- Látogasson el egy számológépbe, vagy végezze el a matematikát maga,
- http://www.alloscomp.com/bitcoin/calculator.php
- http://www.vnbitcoin.org/bitcoincalculator.php
- https://bitknock.com/calculator
- Ne feledje, hogy ez csak a valószínűsége! Nincs garancia arra, hogy N naponta nyer.
Kapcsolódó linkek
- Bitcoin nehézségi előzmények
- Mi az a Bitcoin bányászati nehézség?
- Lásd még: cél