Svårighet

Avancerad

Vad är svårighet?

Inom kryptovaluta avser termen svårighet den ansträngning som krävs för att utvinna ett block. Bevis på arbetsinsats (PoW)-blockkedjor implementerar vissa regler som gör att detta ökar eller minskar beroende på mängden hash-kraft i nätverket. Detta görs för att säkerställa att block inte produceras för snabbt och för att upprätthålla nätverkets fortlöpande säkerhet.
Bitcoin, till exempel, sätter blocktiden till ungefär tio minuter (den genomsnittliga tid det tar att hitta ett nytt block). Om block hittas för snabbt ökar nätverket svårigheten, vilket i praktiken sänker tröskeln för utvinningsmålet.

Omvänt, om det tar för lång tid att hitta block minskar svårigheten, vilket höjer målet. Detta mål är ett tal som återställs med jämna mellanrum. För att lyckas utvinna ett block måste utvinnaren hitta en hash som är lägre än detta tal.

Hur utvinning fungerar: ett förenklat exempel

Vi kan använda ett enkelt exempel här. Anta att vi har termen ”binance” och att vi vill producera en SHA256-hash vars utdata är numeriskt lägre än ett specifikt mål som ungefär motsvarar hash som börjar med ett visst antal nollor i sin hexadecimala form.

Vid verklig utvinning försöker utvinnare hitta ett hashvärde som är lägre än måltalet, vilket är ett mycket stort tal representerat i 256-bitarsformat. Vi kan illustrera detta genom att iterativt lägga till siffror till ”binance” (t.ex. ”binance1”, ”binance2”, ”binance3”) och hasha det tills vi får en hashutdata som uppfyller ett förenklat kriterium, till exempel att börja med inledande nollor.

När vi kommer till ”binance10” har vi lyckats. Om vi vill att de första två tecknen ska vara ”0” måste vi fortsätta hasha tills ”binance99”. För att få tre nollor behövde vi hasha tills ”binance458”. Men hur är det med fyra nollor? Bland de första tjugo miljoner talen finns det ingen indata som ger oss en sådan utdata.

Detta bör ge dig en uppfattning om hur utvinning fungerar, med skillnaden att utvinnare försöker hitta ett tal som ligger under ett mål. Ju lägre detta mål är, desto svårare är det att hitta en lösning, vilket är anledningen till att Bitcoin förbrukar så mycket beräkningskraft. Utvinnare hashar variationer av samma information upprepade gånger för att hitta en giltig hash.

Justering av svårighet

Bitcoin justerar sin utvinningssvårighet ungefär var 2 016:e block (cirka varannan vecka) för att upprätthålla en genomsnittlig blocktid på 10 minuter. Denna justering baseras på hur lång tid det tog att utvinna de senaste 2 016 blocken. Om blocken utvanns snabbare än förväntat ökar svårigheten för att göra utvinningen svårare. Om det gick långsammare minskar svårigheten för att göra utvinningen enklare.

Utvecklingen av utvinningshårdvara

Eftersom det är så svårt att utvinna Bitcoin har deltagare sedan länge övergett vanliga datorer och grafikkort till förmån för specialbyggd hårdvara som kallas ASICs (application-specific integrated circuits/programspecifik integrerad krets). 

Utvinningsverksamheten har blivit en aktivitet på industrinivå som domineras av stora utvinningsfarmar med specialiserad utrustning, vilket speglar nätverkets konkurrensutsatta natur och den ökande svårigheten.

Alla kryptovalutor använder inte PoW

Det är värt att notera att inte alla kryptovalutor använder PoW eller har utvinningssvårighet. Till exempel har Ethereum övergått till en Bevis på insats (PoS)-konsensusmekanism, som inte kräver utvinning eller svårighetsjusteringar.

Slutsats

Svårighet är en dynamisk parameter som håller PoW-blockkedjor säkra och stabila genom att reglera hur mycket beräkningsarbete som krävs för att utvinna nya block. Den anpassas till förändringar i nätverkets hashkraft för att upprätthålla en jämn blockproduktionstakt, vilket säkerställer att blockkedjan fungerar konsekvent.