Dit zijn de belangrijkste Proof-of-Work algoritmen
Bitcoin gebruikt SHA-256 als hashing-algoritme voor de Proof-of-Work puzzel die de miners moeten oplossen. Om allerlei redenen zijn altcoins andere algoritmen gaan gebruiken. In dit artikel bekijken we de belangrijkste algoritmen, en de hardware en munten die erbij horen.
Andere algoritmen
Waarom zou niet elke blockchain gewoon SHA-256 gebruiken, zoals Bitcoin doet?
Charlie Lee koos bij Litecoin voor Scrypt, ik denk vooral omdat het een simpeler algoritme is, en daarmee sneller bij het controleren van blocks. In elk geval niet om ASICs tegen te gaan, die waren er toen zelfs voor Bitcoin nog niet. Het feit dat de eerste ASICs niet werkten voor Litecoin was een bij-effect van de keuze voor een ander algoritme.
Andere coins hebben wel heel bewust gezocht naar een algoritme waar heel moeilijk een ASIC voor te bouwen is, zoals Ethash, CryptoNight en Equihash. We noemen die dan 'ASIC resistant', hoewel je beter kan spreken van 'ASIC hard' omdat het moeilijker of minder interessant is om er een ASIC voor te bouwen, en niet onmogelijk.
Ethereum hanteerde ethash om de volgende uitgangspunten:
- Het geheugen moest de bottleneck zijn, en niet rekenkracht, zodat een ASIC lastig te bouwen is.
- Het moest veel beter op een GPU draaien dan op een CPU, om gebruik van botnets minder aantrekkelijk te maken.
- Light clients moeten snel kunnen opstarten en blocks snel kunnen controleren.
ZCash koos equihash om de volgende redenen:
- Het controleren van een block is heel goedkoop, wat belangrijk is voor gebruik in de browser of op een telefoon.
- Het geheugen is de bottleneck, waardoor een ASIC lastig te bouwen is.
- Het algoritme is waarschijnlijk niet verder te optimaliseren, waardoor iemand een groot voordeel krijgt ten opzichte van de rest, omdat het algoritme al diepgaand onderzocht is.
Bij de keuze van CryptoNight wilde men juist dat CPU's net zo goed kunnen minen als GPU's, zodat de gewone man ook mee kan doen.
Bij veel CryptoNight blockchains zien we een sterke drive om ASICs buiten de deur te houden. Zo heeft Monero in april 2018 het algoritme een klein beetje aangepast om te zorgen dat ASICs niet meer kunnen minen.
In order to prevent centralization, Monero developers have decided to slightly change their PoW algorithm every half year. The changes would be small enough to not be noticeable by non-ASIC miners and big enough to prevent existing CryptoNight ASICs from mining Monero.
Zo zie je dat een algoritme ook iets zegt over de principes en visie van een blockchain.
Memory bound Proof-of-Work
Het door Ethereum gebruikte algoritme ethash is een voorbeeld van een algoritme waarbij het geheugen de bottleneck is. Dat werkt als volgt.
Bij het minen wordt eerst het geheugen gevuld met een grote hoeveelheid data (de ethash DAG). Initieel was dat 1 GB, en elke 30.000 blocks (een epoch) wordt die een stukje groter.
Bij het minen wordt net als bij Bitcoin gezocht naar een hash die voldoet aan de difficulty. Echter, de nonce kan niet zomaar worden gekozen, maar moet worden samengesteld uit 128 velden uit die dataset in het geheugen. Voor elke hash moet dus op allerlei plekken in het geheugen worden gelezen. De leessnelheid van het geheugen is in de praktijk de bottleneck, en niet het genereren van de hash.
Kat en muis
Miners zoeken naar manieren om zo goedkoop mogelijk zoveel mogelijk munten te verdienen. Ze bouwen zelf mining rigs en ontwerpen ASICs. Ze proberen het algoritme te optimaliseren en allerlei slimme trucs uit te halen. Daarbij worden ontdekkingen gedaan waar de technologie baat bij heeft.
Het kat-en-muisspel tussen blockchain en miner is nog relatief onschuldig. De blockchain wil veel decentralisatie, en teveel capaciteit bij een kleine groep miners ondermijnt dit streven.
Minder onschuldig is de strijd tussen blockchain en criminaliteit. Er is veel geld te verdienen, en dus zijn er boeven. Illegaal stroom aftappen, DDoS aanvallen op blockchains en computers hacken om ze te laten minen.
Steeds meer projecten zoeken daarvoor oplossingen. Proof-of-Stake gebruikt zo weinig stroom dat illegaal aftappen niet nodig is. Decentrale exchanges zijn minder interessant voor hackers dan centrale exchanges. Er zijn consensus-algoritmen waar geen beloning gegeven wordt voor een block.
Daarover in een later artikel meer. In het volgende artikel vragen we ons eerst af of we zelf willen gaan minen.
Iedereen heeft een mening
Onder de noemer Opinie
schrijven we regelmatig over een spraakmakende podcast, video of tweetstorm.
We zijn het niet noodzakelijkerwijs eens met de spreker of schrijver, maar vinden het interessant genoeg om
te delen, duiden en ondertitelen.