Wat is een mining pool?

In een mining pool bundelen crypto-miners hun computerkracht (hashrate), om blokken (transacties) binnen een blockchainnetwerk te valideren. Afhankelijk van de hoeveelheid ‘werk’ die ze aan het validatieproces hebben bijgedragen, worden ze beloond met cryptocurrency’s. Dit ‘werk’ wordt aangeduid als Proof of Work (PoW). Het voornaamste doel van een mining pool is het vergemakkelijken van het mining-proces en het sneller verkrijgen van de blokbeloning, naarmate de rekenkracht en de ‘moeilijkheidsgraad’ binnen de blockchain toenemen.

Bitcoin miner, mining pool

Hashrate

Moeilijkheidsgraad

Block-header

SHA-256

Hashfunctie

Exahash

Winstgevendheid

Gespecialiseerde protocollen

 

Hashrate

Bitcoin minen (delven) in een mining pool, is een aanpak waarbij meerdere clients bijdragen, aan het genereren van blokken (transacties) binnen de Bitcoin-blockchain. De miners valideren de transacties en creëren nieuwe Bitcoins. Als dank voor hun inspanningen – het leveren van computerkracht – worden de miners beloond met coins. De beloningen worden opgedeeld en uitgegeven op basis van de bijdragen in computerkracht (hashrate). Deze hashrate is nodig om de cryptografische ‘hashes’ te berekenen. Een hash is een functie die de ene waarde naar een andere waarde omzet. Deze hashes zijn pseudowillekeurige gegevensreeksen (data-strings), die moeten voorkomen dat er binnen de blockchain, dubbele transacties kunnen worden uitgevoerd (double-spending). Daarnaast moeten de hashes voorkomen dat er ‘vanuit het niets’ Bitcoins worden gecreëerd. Bij het minen van coins wordt gebruikgemaakt zogenaamde ‘mining rigs’. Dit zijn computersystemen die speciaal zijn ontworpen voor het minen van cryptocurrency’s. Deze mining rigs draaien vaak binnen een mining pool.

 

 

Samenwerking met andere miners

Door de vele concurrentie onder de bitcoin-miners werd het steeds lastiger, om individueel blokken te vinden in het blockchainnetwerk. Het duurde soms ontzettend lang voordat een langzamere miner een blok kon genereren. Als gevolg daarvan werden de beloningen minder en het mining-proces begon steeds meer op gokken te lijken. Om toch inkomen voort te brengen, werden er samenwerkingsverbanden tussen miners opgericht: de mining pools. Door de samenwerking met andere miners konden ze een blokbeloning ontvangen op regelmatige basis, in plaats van willekeurig eens in de zoveel tijd.

 

 

Moeilijkheidsgraad

Door de toenemende moeilijkheidsgraad bij de validatie van transacties, kan het minen met minder krachtige computers erg lang duren. Door de krachten te bundelen in een mining pool, kan het genereren van blokken worden versneld. Een belangrijk element bij crypto-mining is de ‘moeilijkheidsgraad’. De moeilijkheidsgraad is een metriek die beschrijft hoe lastig het is, om een blok binnen het blockchainnetwerk te genereren (te minen) en daarvoor een beloning in cryptocurrency’s te ontvangen. Bitcoin is uiteraard de meest bekende crypto-valuta, maar inmiddels zijn er talloze coins bijgekomen. De manier waarop de transacties binnen een gedecentraliseerd netwerk worden gegenereerd, is niet bij alle cryptocurrency’s hetzelfde. De Bitcoin-blockchain maakt gebruik van Proof of Work (PoW), een methode waarmee binnen het netwerk consensus kan worden bereikt, over de geldigheid van nieuwe blokken die aan het netwerk worden toegevoegd.

 

 

Block-header

Een blok binnen het blockchainwerk verwijst altijd naar het voorgaande blok. Daarom is de ‘block-header’ een van de belangrijkste elementen bij het mining-proces. Alle blokken bevatten een unieke header, met daarin een aantal sets van ‘blokmetadata’:

 

  • Versienummer
    Het Bitcoin-versienummer. Dit versienummer wordt gebruikt om wijzigingen en updates van het mining-protocol te registeren.
  • Blokhash
    De blokhash van het vorige blok.
  • Merkle-root
    De ‘Merkle-root’. Dit element bevat alle gehashte transactie-hashes binnen een transactie. Alle hashes worden vervolgens verder gehasht.
  • Timestamp
    Een ‘timestamp’, zodat alle gebruikers van de blockchain een permanent, gecodeerd verslag kunnen zien, van de precieze datum en tijd van de gebeurtenissen binnen het netwerk.
  • Difficulty target
    De ‘difficulty target’. Dit element wordt gebruikt voor het aanpassen van de moeilijkheidsgraad binnen de blockchain.
  • Nonce
    De nonce is een waarde die de Bitcoin-miners kunnen wijzigen, om verschillende ‘permutaties’ te creëren en een juiste hash in de getallenreeks te genereren.

 

Digitale vingerafdruk

De blokmetadata van de block-header is essentieel voor het mining-proces. De cryptografische hash binnen elk blok is de belangrijkste ‘identificatie’ van een blok (een digitale vingerafdruk). De cryptografische hash wordt genereerd door de block-header twee keer te hashen. Iedere wijziging van de blokgegevens verandert de blokhash.

 

Bitcoin icon

 

SHA-256

De moeilijkheidsgraad bij het genereren van blokken (dus de transacties) binnen de Bitcoin-blockchain, wordt gemeten in ‘hashes per seconden’. Deze hash-snelheid is in principe een manier om de ‘waarschijnlijkheid’ te bepalen, van een miner om een blok te minen. De hashrate varieert van miner tot miner en hangt af van de snelheid van de computers, die worden gebruikt bij het mining-proces. Om deze hashes te berekenen en de hashrate te meten in exahashes per seconde (EH/s), maakt het Bitcoin-netwerk gebruik van het cryptografische algoritme SHA-256. De moeilijkheidsgraad binnen de blockchain wordt telkens zo gekozen dat er gemiddeld 1 blok per 10 minuten wordt gevonden. Dat betekent dat de totale computerkracht (hashrate) wordt vertegenwoordigt, door de moeilijkheidsgraad vermenigvuldigt met 7 MH/s (megahash per seconde).

 

Hashfunctie

Er zijn verschillende manieren om informatie te coderen. Het SHA-256 ‘hash-algoritme’ wordt door het Bitcoin-netwerk gebruikt om de integriteit van alle informatie die binnen een blok is opgeslagen, te kunnen garanderen. Het doel van SHA-256 is om een samenvatting te genereren van elke hashfunctie. SHA-256 speelt niet alleen een belangrijke rol bij het mining-proces, maar ook bij het genereren van Bitcoin-adressen. Binnen de blockchain krijgen alle nodes een kopie van de hash van 64 tekens, die de informatie in een blok vertegenwoordigt. Als die informatie eenmaal door het blockchainnetwerk is gevalideerd en geregistreerd, dan is het voor malafide elementen binnen het netwerk, in principe niet meer mogelijk om die data te manipuleren. Met andere woorden: de gevalideerde hash kan niet meer worden gewijzigd.

 

Eenrichtingsverkeer

SHA-256 neemt een input van een ‘willekeurige’ grootte en produceert een output met een ‘vaste’ grootte. De SHA-256 algoritmes zijn krachtige hashfuncties vanwege hun ‘eenrichtingsverkeer’. Dat wil zeggen dat iedereen de hashfunctie kan gebruiken om een uitvoer te produceren, wanneer er een bepaalde invoer wordt gegeven. Het is echter onmogelijk om de uitvoer van de hashfunctie te gebruiken, om de gegeven willekeurige invoer te reconstrueren. Deze eigenschap maakt het SHA-256 algoritme zeer geschikt, voor digitale transacties binnen een blockchainnetwerk..

 

 

Exahash

De computerkracht die nodig is om iedere 10 minuten een blok te kunnen genereren is enorm. Eén exahash (EH/s) is gelijk aan één triljoen hashes. De Bitcoin-blockchain heeft een hash-snelheid van ongeveer 190 EH/s, dus alle miners in de mining pool berekenen de output van de SHA-256 cryptografische hashfunctie, met gemiddeld ongeveer 190 triljoen keer per seconde. Het vinden van een blok vereist ongeveer 8 ‘zettahash’. De miners in een mining  pool coördineren hun mining-activiteiten zodanig, dat ze geen hashes dubbel berekenen.

 

 

Winstgevendheid

Tijdens het hele mining-proces worden er talloze hashing-pogingen uitgevoerd, net zolang tot er een geldige hash is geproduceerd. Hoe meer computerkracht, hoe hoger het hash-percentage. En een hoger hash-percentage vergroot de kans om een blok te genereren. Als een miner zijn hashrate constant houdt terwijl de hash-snelheid van het blockchainnetwerk stijgt, dan zullen de verwachte Bitcoin-beloningen van die desbetreffende miner afnemen, terwijl de kosten van de miner constant blijven. En dat betekent dat de winstgevendheid voor de miner afneemt. Wanneer er meer computerkracht wordt gebruikt, dan gaat dat gepaard met hogere energiekosten. Maar omdat de miners door de hogere rekenkracht een grotere kans hebben om een blok te vinden en een beloning te ontvangen, is de hashrate in verhouding met de winstgevendheid. Om de 2 weken stemt de moeilijkheidsgraad zich af op de beschikbare hashrate binnen het blockchainnetwerk. Als de hashrate stijgt, dan zorgt de blockchain er automatisch voor dat het lastiger wordt om blokken te minen.

 

Beveiligd tegen aanvallen

Zoals eerder gezegd zorgt het mining-proces ervoor dat het blockchainnetwerk en de transacties worden beveiligd tegen aanvallen. De beloning in cryptocurrency’s is voor de miners een stimulans om hun computerkracht te leveren. Zonder deze financiële prikkel zouden de miners binnen een mining pool niet worden uitgedaagd en zou de blockchain niet functioneren. Hoe hoger de hash-snelheid, hoe moeilijker het is voor hackers om een aanval op de blockchain uit te voeren, omdat er meer computers zijn die de blokken valideren. Om een cryptocurrency te kunnen hacken, moet een aanvaller immers meer dan 51% van het blockchainnetwerk bezitten. Met andere woorden: meer dan de helft van de totale hashrate.

 

 

Gespecialiseerde protocollen

De mining pools zijn dus eigenlijk gecreëerd om de minder presterende miners, op een soepele manier te stimuleren om blokken te genereren. De beloningen komen terecht bij diegene, die daar ook daadwerkelijk recht op hebben. De hoeveelheid computerkracht die door een bepaalde miner is geleverd, bepaald in principe de hoogte van de beloning. Een mining pool kan vele honderden of zelfs duizenden miners bevatten, die verschillende gespecialiseerde protocollen gebruiken.

Bitcoin miner

 

Terug naar boven ↑

 

Op de hoogte blijven van de ontwikkelingen op het gebied van blockchaintechnologie? Meld je dan nu aan voor de blogpost!

 

Meld je aan voor de blogpost!
Ik ga ermee akkoord dat mijn naam en e-mailadres worden gedeeld met Mailchimp.
Met de blogpost van Uitleg Blockchain blijf je automatisch op de hoogte van de nieuwste ontwikkelingen omtrent de blockchain technologie.
We hebben een hekel aan spam. Uw e-mailadres zal niet worden verkocht of gedeeld met anderen (afgezien van het marketing automation platform dat wij gebruiken voor onze e-maillijst).