Nehézség

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

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük