Svårigheter i gruvdrift

Svårighetsgrad är ett värde som används för att visa hur svårt det är att hitta en hash som kommer att vara lägre än det mål som definierats av systemet.

Bitcoin-nätverket har en global blockproblem. Giltiga block måste ha en hash under detta mål. Gruvpooler har också en poolspecifik andelsvårighet att ställa in en lägre gräns för aktier.

Bitcoin-gruvproblem

I Bitcoin-nätverket är det globala svårighetsgraden inställt för alla block. anses vara legitimt, det måste ha hash-värde lägre än det inställda målet.

Kryptovaluta gruvproblemkarta

Svårigheter ändras varje block 2016. Detta beräknas med följande formel:

där målet är ett 256-bitarsnummer.

Difficulty_1_target kan ta olika Värden. Traditionellt är det en hashfunktion där de första 32 bitarna är lika med 0 medan resten är 1 (det kallas också pdiff eller pool svårighet). Bitcoin-protokollet ger mål som en typ med flytande punkt och begränsad noggrannhet. Olika Bitcoin-klienter bestämmer ofta kryptovalutaproblem baserat på dessa data.

Lagring av kryptokurtsvårigheter i block

Varje block innehåller en packad version (kallad ”Bits”) av hexadecimalt mål.

Med följande formelmål kan du få från vilket block som helst. Till exempel om ett mål packat i ett block visas som 0x1b0404cb kommer dess hexadecimala version att se ut som följande:

Maximalt värde för detta fält är 0x7fffff medan minimum är 0x008000.

Maximalt möjligt mål ( med svårighet lika med 1) definieras som 0x1d00ffff som visas som följande i hexadecimaltal:

Nästa är ett enkelt sätt att beräkna svårigheter. Den använder en förändrad version av Taylor-serien för logaritm och förlitar sig på loggar för att omvandla svårighetsberäkning.

Maximal, aktuell och minsta svårighet

Nuvarande svårighet kan vara fick reda på med Bitcoin-kommandoraden ”getDifficulty”.

På grund av att målfunktionen inte har ett minimivärde kan maximal svårighet beräknas endast ungefär som följer: maximum_target / 1 (som 0 skulle leda till att ekvationen blir oändligt stor ) vilket är ett oöverkomligt antal (~ 2 till 224).

Minsta svårighet är lika med 1.

Svårighetsförändringar

Svårigheter ändras varje 2016 block baserat på den tid det tog att upptäcka tidigare block från 2016. Om ett block hittas var tionde minut (eftersom det ursprungligen var avsett för jämn utsläpp) tar det att hitta block 2016 exakt 2 veckor. Om tidigare block från 2016 hittades på mer än två veckor kommer kryptovalutagruppsvårigheten att sänkas och om de bryts snabbare kommer den att höjas. Ju mer (eller mindre) tid som spenderades på att hitta de tidigare 2016-blocken desto mer kommer svårigheterna att sänkas (höjas).

För att bryta måste en blockhash vara lägre än targer (proof-of-work) . Hash är ett slumpmässigt tal mellan 0 och 2 * 256-1.

Svårigheten ställs in som om vi hittade tidigare 2016-block med en hastighet på ett block per 10 minuter

Genomsnittstid för Att hitta ett enda block kan beräknas med hjälp av denna formel: tid = svårighet * 2 ** 32 / hashrate där ”svårighet” är den aktuella kryptovalutans svårighetsgrad för BTC-svårighetsnätverk och ”hashrate” är den mängd hash som en gruvarbetare hittar per sekund.

Vad är den nuvarande svårigheten?

Aktuell svårighet online, som utdata från Bitcoins getDifficulty.

Bitcoin Svårighetsdiagram

Vad är den största svårigheten?

Där är inget minimimål. Den maximala svårigheten är ungefär: maximum_target / 1 (eftersom 0 skulle resultera i oändlighet), vilket är ett löjligt stort antal (cirka 2 ^ 224).

Den faktiska maximala svårigheten är när current_target = 0, men vi skulle inte kunna beräkna svårigheten om det hände. (Lyckligtvis kommer det aldrig, så vi är ok.)

Kan nätverkssvårigheten gå ner?

Ja det kan det.

Vad är den minsta BTC-svårigheten?

Minsta svårighet, när målet är till det maximalt tillåtna värdet, är 1.

Vilken nätverkshashastighet resulterar i en viss svårighet?

Svårigheten justeras varje 2016-block baserat på den tid det tog att hitta de tidigare 2016-blocken. Med den önskade hastigheten på ett block var 10: e minut skulle det ta exakt två veckor att hitta block 2016. Om det tog mer än två veckor att hitta de tidigare blocken från 2016 minskar svårigheten. Om de tog mindre än två veckor ökar svårigheten. Förändringen av svårigheten är i proportion till hur lång tid eller under två veckor som föregående 2016-block tog för att hitta.

För att hitta ett block måste hashen vara mindre än målet. Hashet är i själva verket ett slumpmässigt tal mellan 0 och 2 ** 256-1.Förskjutningen för svårighet 1 är

och för svårighet D är

Det förväntade antalet hash som vi behöver beräkna för att hitta ett block med svårighet D är därför

eller bara

Svårigheten är inställd så att tidigare 2016-block skulle ha hittats med en hastighet var 10: e minut, så vi beräknade (D * 2 ** 48 / 0xffff) hashes på 600 sekunder . Det betyder att nätverkshastigheten för nätverket var

jämfört med tidigare block 2016. Kan förenklas ytterligare till

utan mycket förlust av noggrannhet.

Vid svårighet 1, det vill säga cirka 7 Mhash per sekund.

I skrivande stund, svårigheten är 22012.4941572, vilket innebär att under den tidigare uppsättningen 2016-block hittades den genomsnittliga nätverkshashastigheten

Hur snart kan jag förvänta mig att generera ett block?

(Den eviga frågan.)

Genomsnittstiden för att hitta ett block kan approximeras genom att beräkna:

där svårighet är den aktuella svårigheten, hashrate är antal hashes som din gruvarbetare beräknar per sekund och tiden är medelvärdet i sekunder mellan blocken du hittar.

Till exempel, med Python beräknar vi den genomsnittliga tiden för att generera ett block med en 1Ghash / s gruvrigg när svårigheten är 20000:

och upptäck att det tar knappt 24 timmar i genomsnitt.

  • Varje slipning av hashen har samma chans att ”vinna” som alla andra. Antalsspelet är hur många försök din hårdvara kan göra per sekund.
  • Du måste veta svårigheten (ovan) och din khash / sek-hastighet (rapporterad av klienten).
    • Gruvdrift hårdvarujämförelse har viss statistik som kan hjälpa dig att förutsäga vad du kan få.
  • Besök en miniräknare eller utför matematiken själv,
    • http://www.alloscomp.com/bitcoin/calculator.php
    • http://www.vnbitcoin.org/bitcoincalculator.php
    • https://bitknock.com/calculator
  • Kom ihåg att det bara är sannolikhet! Det finns inga garantier att du vinner varje N-dag.

Se även

  • Arbetsbevis
  • Blockera
  • Kryptovalutalista
  • Transaktionsbekräftelse
  • Gruvgrupper

Write a Comment

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *