Vad är cryptocurrency svårighet?
Svårigheter är en parameter som bitcoin och andra kryptokurser använder för att hålla den genomsnittliga tiden mellan blocken stadigt när nätverkets hashkraft ändras.
Cryptocurrency svårighet förklaras
Bitcoin och andra kryptokurser som använder ett korrektur-of-work blockchains upprätthålls genom en process som kallas gruvdrift. I detta system tävlar gruvarbetare - datorer som kör cryptocurrency-programvaruklienten - för att hitta ett nytt block och lägger till den senaste omgången av transaktionsdata till kedjan. De får avgifter och (i vissa fall) en belöning för nya symboler i gengäld.
Tiden det tar att hitta ett nytt block är föremål för två faktorer: slumpmässig chans och svårighet. Börja med slumpmässiga chanser. Gruvarbetare tar ett parti transaktionsdata och kör det genom en hashalgoritm, en envägsfunktion som - med tanke på en viss uppsättning data - alltid kommer att producera samma utgång, men vars utgång inte kan vändas för att visa de ursprungliga uppgifterna. Det finns inget sätt att förutsäga vad en hash kommer att bli. Ett nytt block hittas när hash uppfyller ett visst krav. Eftersom varje uppsättning data bara har en utgång för en given hashfunktion måste gruvarbetare lägga till ett nonce - ett "antal som används en gång" - till data för att få en ny hash. Om resultatet fortfarande inte uppfyller kravet försöker gruvarbetaren igen med en ny nonce.
Kravet som en hash måste uppfylla motsvarar svårigheten: en giltig hash måste ligga under ett visst målvärde som ställs in automatiskt (och periodiskt justeras) med cryptocurrency-protokollet. Ju lägre målvärde, desto fler upprepningar av hashfunktionen måste en gruvarbetare gå igenom för att få ett acceptabelt resultat - med andra ord, desto högre är svårigheten. En gruvarbetare kan i teorin ha tur och få en giltig hash för ett visst block vid första försöket: med tiden, men högre svårigheter innebär dock att gruvarbetare måste ansluta igenom fler noncer per block i genomsnitt.
Vilket syfte tjänar svårigheten?
Varför ställa in högre svårigheter, om det enda praktiska resultatet är att gruvarbetare måste upprepa samma funktion mer? Bitcoin-vitboken förklarar:
"För att kompensera för att öka hårdvaruhastigheten och varierande intresse för att köra noder över tid bestäms arbetsproblemet av ett rörligt medelvärde som riktar sig till ett genomsnittligt antal block per timme. Om de genereras för snabbt ökar svårigheten. "
Bitcoin är utformat för att lägga till ett nytt block i blockchain var tionde minut i genomsnitt. (Andra kryptokurser validerar mer frekventa block; litecoin syftar till exempel på 2, 5 minuter.) Problemet är att mängden datorkraft som nätverkets gruvarbetare kollektivt kontrollerar kan variera enormt. När Satoshi Nakamoto brytade det första blocket fanns det bara en maskin i nätverket - troligtvis en enkel bärbar dator eller skrivbord. Idag finns det ett antal spridande, ASIC-gårdar i lagerstorlekar (ASIC: er är maskiner konstruerade specifikt för att plöja genom hashfunktioner så snabbt som möjligt).
För att säkerställa att nätverket producerar ett nytt block med en stabil genomsnittshastighet är programvaran inställd på att automatiskt justera målhashen upp eller ner, vilket resulterar i lägre respektive högre svårigheter. När Nakamoto brytde genesis-blocket var bitcoin svårighet 1.
För att kontrollera bitcoin-svårigheter i realtid kan du se det här diagrammet.
I slutet av juli 2019 är svårigheten 9, 013 biljoner. Diagrammet nedan visar bitcoins svårighetsförändring över tid:
