Difficulty in Mining

Difficulty is een waarde die wordt gebruikt om te laten zien hoe moeilijk het is om een hash te vinden dat zal lager zijn dan het doel dat door het systeem is gedefinieerd.

Het Bitcoin-netwerk heeft een globaal blokprobleem. Geldige blokken moeten een hash hebben onder dit doel. Mijnpools hebben ook een poolspecifieke share-moeilijkheidsgraad die een lagere limiet voor shares instelt.

Bitcoin-mining-moeilijkheidsgraad

In het Bitcoin-netwerk is er een globale moeilijkheidsgraad voor alle blokken. als legitiem wordt beschouwd, moet het een hash-waarde hebben die lager is dan het ingestelde doel.

Cryptocurrency mining-moeilijkheidsgraad

Moeilijkheidsgraad verandert elke 2016 blokken. Dit wordt berekend met de volgende formule:

waarbij doel een 256-bits getal is.

Difficulty_1_target kan verschillende Traditioneel is het een hashfunctie waarvan de eerste 32 bits gelijk zijn aan 0, terwijl de rest 1 is (het wordt ook wel pdiff of pool moeilijkheidsgraad genoemd). Bitcoin-protocol biedt een doelwit als een type met drijvende komma en beperkte nauwkeurigheid. Verschillende Bitcoin-clients bepalen vaak de moeilijkheidsgraad van de cryptovaluta op basis van deze gegevens.

De moeilijkheidsgraad van de cryptovaluta opslaan in blokken

Elk blok bevat een ingepakte versie (genaamd “Bits”) van een hexadecimaal doel.

Met behulp van de volgende formule kan het doel worden verkregen uit elk blok. Als een in een blok verpakt doelwit bijvoorbeeld wordt weergegeven als 0x1b0404cb, ziet de hexadecimale versie er als volgt uit:

De maximumwaarde voor dit veld is 0x7fffff terwijl het minimum 0x008000 is.

Maximaal mogelijk doel ( met een moeilijkheidsgraad gelijk aan 1) wordt gedefinieerd als 0x1d00ffff die als volgt verschijnt in hexadecimale nummering:

Het volgende is een gemakkelijke manier om moeilijkheidsgraad te berekenen. Het gebruikt een gewijzigde versie van de Taylor-serie om te logaritmen en vertrouwt op logboeken om de moeilijkheidsgraad te transformeren.

Maximale, huidige en minimale moeilijkheidsgraad

De huidige moeilijkheidsgraad kan zijn ontdekt door de Bitcoin-opdrachtregel “getDifficulty” te gebruiken.

Omdat de doelfunctie geen minimumwaarde heeft, kan de maximale moeilijkheidsgraad slechts ongeveer als volgt worden berekend: maximum_target / 1 (aangezien 0 de vergelijking zou leiden tot oneindig groot ) wat een onvoorstelbaar aantal is (~ 2 tot de 224).

Minimum moeilijkheidsgraad is gewoon gelijk aan 1.

Moeilijkheidsveranderingen

Moeilijkheidsgraad wordt elke 2016 gewijzigd blokken op basis van de tijd die nodig was om eerdere blokken van 2016 te ontdekken. Als er elke 10 minuten een blok wordt gevonden (zoals in eerste instantie bedoeld voor gelijkmatige emissie) duurt het vinden van blokken voor 2016 precies 2 weken. Als eerdere blokken van 2016 in meer dan twee weken werden gevonden, zal de moeilijkheidsgraad van het minen van cryptocurrency worden verlaagd, en als ze sneller werden gedolven, wordt de moeilijkheidsgraad verhoogd. Hoe meer (of minder) tijd werd besteed aan het vinden van de vorige blokken van 2016, des te meer zal de moeilijkheid worden verlaagd (verhoogd).

Om een blokhash te minen moet lager zijn dan de targer (proof-of-work) . Hash is een willekeurig getal tussen 0 en 2 * 256-1.

Moeilijkheidsgraad wordt ingesteld alsof we eerdere blokken van 2016 hebben gevonden met een snelheid van één blok per 10 minuten

Gemiddelde tijd van het vinden van een enkel blok kan worden berekend met behulp van deze formule: tijd = moeilijkheidsgraad * 2 ** 32 / hashrate waarbij “moeilijkheidsgraad” de huidige moeilijkheidsgraad van de cryptocurrency is van het BTC-moeilijkheidsnetwerk en “hashrate” de hoeveelheid hashes is die een miner per seconde vindt.

Wat is de huidige moeilijkheid?

Huidige moeilijkheidsgraad online, zoals weergegeven door Bitcoins getDifficulty.

Bitcoin-moeilijkheidsgrafiek

Wat is de maximale moeilijkheid?

Daar is geen minimum doel. De maximale moeilijkheid is ruwweg: maximum_target / 1 (aangezien 0 zou resulteren in oneindigheid), wat een belachelijk groot aantal is (ongeveer 2 ^ 224).

De werkelijke maximale moeilijkheid is wanneer current_target = 0, maar we zouden de moeilijkheid niet kunnen berekenen als dat zou gebeuren. (Gelukkig zal dat nooit gebeuren, dus we zijn in orde.)

Kan de netwerkprobleem verminderen?

Ja dat kan.

Wat is de minimale BTC-moeilijkheidsgraad?

De minimale moeilijkheidsgraad, wanneer het doel de maximaal toegestane waarde heeft, is 1.

Welke netwerkhash-snelheid resulteert in een bepaalde moeilijkheid?

De moeilijkheidsgraad wordt elke 2016 blokken aangepast op basis van de tijd die nodig was om de vorige 2016 blokken te vinden. Met het gewenste tempo van één blok per 10 minuten, zou het vinden van 2016 blokken precies twee weken duren. Als de vorige blokken van 2016 meer dan twee weken nodig hadden om te vinden, wordt de moeilijkheidsgraad verminderd. Als ze minder dan twee weken duurden, wordt de moeilijkheidsgraad groter. De verandering in moeilijkheidsgraad is evenredig met de hoeveelheid tijd over of minder dan twee weken die de vorige blokken van 2016 nodig hadden om te vinden.

Om een blok te vinden, moet de hash kleiner zijn dan het doel. De hash is in feite een willekeurig getal tussen 0 en 2 ** 256-1.De offset voor moeilijkheidsgraad 1 is

en voor moeilijkheidsgraad D is

Het verwachte aantal hashes dat we moeten berekenen om een blok met moeilijkheidsgraad D te vinden is daarom

of gewoon

De moeilijkheidsgraad is zo ingesteld dat de voorgaande blokken van 2016 zouden zijn gevonden met een snelheid van één per 10 minuten, dus berekenden we (D * 2 ** 48 / 0xffff) hashes in 600 seconden . Dat betekent dat de hash-snelheid van het netwerk

was ten opzichte van de voorgaande blokken van 2016. Kan verder worden vereenvoudigd tot

zonder veel verlies aan nauwkeurigheid.

Bij moeilijkheidsgraad 1 is dat ongeveer 7 Mhashes per seconde.

Op het moment van schrijven, de moeilijkheidsgraad is 22012.4941572, wat betekent dat over de vorige set van 2016 gevonden blokken de gemiddelde netwerkhash-snelheid was

Hoe snel kan ik verwachten een blok te genereren?

(De eeuwige vraag.)

De gemiddelde tijd om een blok te vinden kan worden benaderd door te berekenen:

waar moeilijkheid de huidige moeilijkheid is, is hashrate de aantal hashes dat uw miner per seconde berekent, en de tijd is het gemiddelde in seconden tussen de blokken die u vindt.

Met Python berekenen we bijvoorbeeld de gemiddelde tijd om een blok te genereren met behulp van een 1Ghash / s mining-rig wanneer de moeilijkheidsgraad 20.000 is:

en ontdek dat het gemiddeld iets minder dan 24 uur duurt.

  • Elke keer dat de hasj wordt gemalen, heeft dezelfde kans om te “winnen” als een andere. Het getallenspel geeft aan hoeveel pogingen uw hardware per seconde kan doen.
  • U moet de moeilijkheidsgraad (hierboven) en uw khash / sec-snelheid (gerapporteerd door de klant) kennen.
    • Mijnbouw hardware-vergelijking bevat enkele statistieken die u kunnen helpen te voorspellen wat u zou kunnen krijgen.
  • Bezoek een rekenmachine of voer de wiskunde zelf uit,
    • http://www.alloscomp.com/bitcoin/calculator.php
    • http://www.vnbitcoin.org/bitcoincalculator.php
    • https://bitknock.com/calculator
  • Onthoud dat het gewoon waarschijnlijk is! Er zijn geen garanties dat u elke N dagen wint.

Zie ook

  • Proof-of-work
  • Blokkeren
  • Lijst met cryptovaluta’s
  • Transactiebevestiging
  • Mijnpools

Write a Comment

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *