Vanskeligheter er en verdi som brukes for å vise hvor vanskelig det er å finne en hash som vil være lavere enn målet som er definert av systemet.
Bitcoin-nettverket har en global blokkproblematikk. Gyldige blokker må ha en hash under dette målet. Gruvedrift har også en bassengspesifikk delingsproblematikk med å sette en nedre grense for aksjer.
Bitcoin mining mining
I Bitcoin-nettverket er det global vanskelighetsgrad satt for alle blokker. bli betraktet som legitimt, den må ha hash-verdien lavere enn det angitte målet. / div>
Vanskeligheter endres hver 2016-blokk. Dette beregnes ved hjelp av følgende formel:
der målet er et 256-bit nummer.
Difficulty_1_target kan ta forskjellige Verdier. Tradisjonelt er det en hash-funksjon, de første 32 bitene er lik 0 mens resten er 1 (det kalles også pdiff eller pool-vanskeligheter). Bitcoin-protokollen gir mål som en type med flytende punkt og begrenset nøyaktighet. Ulike Bitcoin-klienter bestemmer ofte kryptovalutaproblemer basert på disse dataene.
Lagring av kryptokurrencyproblemer i blokker
Hver blokk inneholder en pakket versjon (kalt «Bits») av heksadesimalt mål.
Bruk av følgende formelmål kan fås fra hvilken som helst blokk. For eksempel hvis et mål pakket i en blokk vises som 0x1b0404cb, vil den heksadesimale versjonen se slik ut:
Maksimal verdi for dette feltet er 0x7fffff mens minimum er 0x008000.
Maksimum mulig mål ( med vanskelighetsgrad lik 1) er definert som 0x1d00ffff som vises som følger i heksadesimaltall:
Neste er en enkel måte å beregne vanskeligheter på. Den bruker en endret versjon av Taylor-serien for å logaritme og er avhengig av logger for å transformere vanskelighetsberegning.
Maksimum, nåværende og minimum vanskelighetsgrad
Nåværende vanskeligheter kan være funnet ut ved å bruke Bitcoin-kommandolinjen «getDifficulty».
På grunn av at målfunksjonen ikke har minimumsverdi, kan maksimal vanskelighetsgrad bare beregnes som følger: maximum_target / 1 (som 0 vil føre til at ligningen blir uendelig stor ) som er et ufattelig tall (~ 2 til 224).
Minste vanskelighetsgrad er akkurat lik 1.
Vanskelighetsendringer
Vanskeligheter endres hvert 2016 blokker basert på tiden det tok å oppdage tidligere blokker i 2016. Hvis det blir funnet en blokk hvert 10. minutt (slik den opprinnelig var ment for jevn utslipp), vil det å finne 2016-blokker ta nøyaktig to uker. Hvis tidligere blokker i 2016 ble funnet på mer enn to uker, vil krypteringsproblemet med kryptovaluta bli redusert, og hvis de ble utvunnet raskere, vil det bli hevet. Jo mer (eller mindre) tid det ble brukt på å finne de forrige blokkene i 2016, jo mer vil vanskeligheter senkes (heves).
For å utvinne en blokk hash må være lavere enn targer (proof-of-work) . Hash er et tilfeldig tall mellom 0 og 2 * 256-1.
Vanskeligheten er satt som om vi fant forrige 2016-blokker med hastigheten på en blokk per 10 minutter
Gjennomsnittstid på å finne en enkelt blokk kan beregnes ved hjelp av denne formelen: tid = vanskelighetsgrad * 2 ** 32 / hashrate der «vanskeligheter» er det gjeldende kryptovaluta-vanskelighetsnivået til BTC-vanskelighetsnettverk og «hashrate» er mengden hashes som en miner finner per sekund.
Hva er den nåværende vanskeligheten?
Gjeldende vanskeligheter på nettet, som output fra Bitcoins getDifficulty.
Bitcoin Vanskelighetsdiagram
Hva er maksimal vanskelighetsgrad?
Der er ikke noe minimumsmål. Den maksimale vanskeligheten er omtrent: maximum_target / 1 (siden 0 vil resultere i uendelig), som er et latterlig stort tall (ca. 2 ^ 224).
Den faktiske maksimale vanskeligheten er når current_target = 0, men vi ville ikke være i stand til å beregne vanskeligheten hvis det skjedde. (Heldigvis vil det aldri, så vi er ok.)
Kan nettverksproblemene gå ned?
Ja det kan det.
Hva er den minste BTC-vanskeligheten?
Minimumsvanskeligheten, når målet er på den maksimalt tillatte verdien, er 1.
Hvilken hashhastighet på nettverket resulterer i en gitt vanskelighetsgrad?
Vanskeligheten justeres hver 2016-blokk, basert på tiden det tok å finne de forrige 2016-blokkene. Med den ønskede hastigheten på en blokk hvert 10. minutt, vil det ta nøyaktig to uker å finne 2016-blokker. Hvis det tok mer enn to uker å finne de forrige 2016-blokkene, reduseres vanskeligheten. Hvis de tok mindre enn to uker, økes vanskeligheten. Endringen i vanskelighetsgrad er proporsjonalt med tiden over eller under to uker det tok forrige 2016-blokk å finne.
For å finne en blokk må hasjen være mindre enn målet. Hashen er effektivt et tilfeldig tall mellom 0 og 2 ** 256-1.Offset for vanskelighetsgrad 1 er
og for vanskelighetsgrad D er
Det forventede antall hashes vi trenger å beregne for å finne en blokk med vanskelighetsgrad D er derfor
eller bare
Vanskeligheten er satt slik at de forrige 2016-blokkene ville blitt funnet med en hastighet på hvert 10. minutt, så vi beregnet (D * 2 ** 48 / 0xffff) hashes på 600 sekunder . Det betyr at hash-hastigheten til nettverket var
over de forrige 2016-blokkene. Kan forenkles videre til
uten mye tap av nøyaktighet.
Ved vanskelighetsgrad 1, det vil si rundt 7 Mhash per sekund.
I skrivende stund, vanskeligheten er 22012.4941572, noe som betyr at i løpet av forrige sett med 2016-blokker fant den gjennomsnittlige hashhastigheten på nettverket
Hvor snart kan jeg forvente å generere en blokk?
(Det evige spørsmålet.)
Gjennomsnittlig tid for å finne en blokk kan tilnærmes ved å beregne:
hvor vanskeligheten er den nåværende vanskeligheten, hashrate er den antall hashes minearbeideren beregner per sekund, og tiden er gjennomsnittet i sekunder mellom blokkene du finner.
For eksempel bruker vi Python vi beregner gjennomsnittlig tid for å generere en blokk ved hjelp av en 1Ghash / s gruvedrift når vanskeligheten er 20000:
og finn at det tar litt under 24 timer i gjennomsnitt.
- Enhver sliping av hasjen har samme sjanse for å «vinne» som hvilken som helst annen. Tallspillet er hvor mange forsøk maskinvaren din kan gjøre per sekund.
- Du må vite vanskeligheten (ovenfor) og khash / sek-hastigheten din (rapportert av klienten).
- Gruvedrift maskinvaresammenligning har noen statistikker som kan hjelpe deg med å forutsi hva du kan få.
- Besøk en kalkulator eller utfør matematikken selv,
- http://www.alloscomp.com/bitcoin/calculator.php
- http://www.vnbitcoin.org/bitcoincalculator.php
- https://bitknock.com/calculator
- Husk at det bare er sannsynlighet! Det er ingen garantier for at du vil vinne hver N dag.
Se også
- Bevis for arbeid
- Blokkering
- Kryptovaluta-liste
- Transaksjonsbekreftelse
- Gruvedrift