Utvinning
Utvinning är den process genom vilken
kryptovalutatransaktioner samlas in, verifieras och registreras i en digital huvudbok som kallas
blockkedjan. Alla miners arbete är avgörande för att upprätthålla nätverkets integritet och de ansvarar också för att införa nya coin i systemet.
Inom det traditionella banksystemet skrivs
fiatvalutan ut och distribueras av finansinstitut och statliga myndigheter – men för de flesta kryptovalutorna är utfärdandet av nya coin inte i händerna på centraliserade enheter. Istället genereras nya kryptovalutaenheter genom utvinningsprocessen, som följer en fördefinierad uppsättning regler som fastställts av det underliggande protokollet. Även om protokollet definierar vad de primära reglerna är, beskriver de så kallade
konsensusalgoritmerna hur dessa regler kommer att följas (till exempel under valideringen av transaktioner).
Med Bitcoin som exempel kallas deltagarna som är involverade i utvinningsprocessen för
utvinningsnoder (eller miners), och de spelar en nyckelroll i blockkedjenätverkets säkerhet. En miners jobb är att samla in obekräftade transaktioner från minnespoolen och organisera dem i ett
kandidatblock som hen kommer att försöka validera.
När de skapar ett kandidatblock inkluderar miners en transaktion där de skickar
blockbelöningen till sig själva. Denna transaktion kallas för en coinbase-transaktion och är ofta den första som registreras i ett block.
Efter att listan med obekräftade transaktioner har bildats hashas varje transaktion och dess utdata är organiserade i par. Dessa par hashas sedan, och producerar nya utdata som också är organiserade i par och som hashas igen. Processen upprepas tills en enda hash produceras, som kallas rothash eller
Merkle-trädrot.
Rotens hash kombineras sedan med en hash av det tidigare bekräftade blocket, tillsammans med ett pseudo-slumpmässigt nummer som heter
nonce (plus några andra parametrar). Dessa element hashas sedan, vilket producerar blockhash för det kandidatblocket.
En miner kommer dock endast att lyckas om resulterande utdata (blockhash) för hens kandidatblock är under ett förutbestämt värde (mål). Följaktligen är processen baserad på att testa sig fram och de måste utföra många hashfunktioner med olika nonces för att hitta ett giltigt resultat. Den första miner som hittar en giltig hash validerar dess kandidatblock och får blockbelöningen. Hela processen tar i genomsnitt tio minuter.
När ett block har validerats läggs det till i blockkedjan, och alla miners börjar arbeta med nästa block. Den giltiga hashen som produceras av miners fungerar som bevis för deras arbete, och det är därför Bitcoin-konsensusalgoritmen kallas
bevis på arbete. Varje bekräftat block har en unik blockhash som fungerar som en identifierare.
Blockbelöningen definieras av Bitcoin-protokollet och minskar var 210 000:e block (ungefär var fjärde år). Från början var blockbelöningen 50 BTC, och är nu 6,25 BTC.