BetterHash: decentraler minen
Een van de problemen van mining is dat het voor kleine miners niet loont zelfstandig te minen; zij sluiten zich aan bij zogenaamde mining pools om samen een block te vinden en de beloning te verdelen. Het poolen van de rekenkracht komt de decentraliteit van mining echter niet ten goede.
Een soort loterij
Minen kan gezien worden als een soort loterij: hoe groter het percentage van de totale rekenkracht een miner bezit, hoe groter de kans dat die miner het volgende block vindt en de bijbehorende beloning (de block reward) mag claimen. Koop je 20% van de kaartjes van een loterij, dan heb je 20% kans op het winnen van de trekking. Hetzelfde geldt voor mining.
Het probleem ontstaat bij de investering die nodig is om enigszins mee te kunnen doen als miner. Een kleine zelfstandige miner heeft maar een klein percentage van de totale rekenkracht in handen. Met dit kleine percentage rekenkracht is de kans klein dat de zelfstandige miner een block vindt en de volledig block reward kan claimen.
Voor een miner met een zeer klein percentage rekenkracht is het praktisch onhaalbaar om winstgevend te minen. Statistisch gezien vindt ook een kleine miner uiteindelijk een block, maar dit zou jaren kunnen duren. Het is voor kleine miners dus eigenlijk niet de moeite waard om zelfstandig mee te doen, aangezien de miner wel de operationele kosten moet kunnen dragen.
De oplossing voor dit probleem kwam in de vorm van mining pools. Miners sluiten zich bij elkaar aan en poolen hun rekenkracht. Zo hebben zij samen controle over een groter percentage van de totale rekenkracht en dus een grotere kans op het vinden van een block. Het grote voordeel hiervan is dat, wanneer de pool een block heeft gevonden, de block reward verdeeld wordt over alle deelnemers naar proportie van de bijgedragen rekenkracht. Zo kan een kleine miner dus toch een deel van de block reward in ontvangst nemen en rekenen op regelmatige inkomsten.
Beter hashen
Het poolen van rekenkracht heeft echter ook een groot nadeel: de decentraliteit onder de miners gaat verloren. Wanneer kleine miners zich namelijk bij een pool voegen geven zij de controle over hun rekenkracht uit handen. In plaats van het draaien van zelfstandige mining-software draaien de miners die aangesloten zijn bij een pool specifieke software van de mining pool. Deze software draagt als het ware de rekenkracht over aan de beheerder van de mining pool.
Hierdoor is de beheerder van de pool theoretisch in staat om de rekenkracht voor kwaadaardige doeleinden in te zetten. In de praktijk is dit nog niet gebeurd, omdat een dergelijke actie niet winstgevend zou zijn voor de beheerder van de pool. Ook zouden de individuele miners in rap tempo de pool verlaten wanneer duidelijk wordt dat de pool niet meer goedaardig handelt. Toch blijven pools met een groot percentage rekenkracht een dreiging vormen.
De beheerder van een pool heeft namelijk ook de controle over het aanmaken van het gevonden block: de beheerder bepaalt welke transacties er wel of niet worden opgenomen in een block. Over het algemeen wordt dit simpelweg gedaan door te kijken welke transacties de grootste winst opleveren voor de miners: de transacties met de hoogste fee gaan voor. Het kan echter ook voorkomen dat de beheerder besluit bepaalde transacties uit te sluiten: censuur. Er wordt daarom actief gewerkt aan het bedenken van manieren en prikkels om de decentraliteit onder miners te stimuleren.
Werk en beloning gescheiden
BetterHash is een voorstel van Matt Corallo dat poogt om de decentraliteit van mining te bevorderen. Matt Corallo is al lange tijd bitcoin-ontwikkelaar en heeft al veel bijgedragen aan de verbetering van het bitcoinnetwerk. Het voorstel van Corallo scheidt het aanmaken van het nieuwgevonden block van de betaling van de beloning. Het voorstel wordt door velen aangehaald is zeer belangrijke innovatie, maar is tevens grotendeels onopgemerkt gegaan.
Het duidelijke voordeel dat behaald wordt met de constructie uit het voorstel van Corallo is dat een kleine zelfstandige miner zichzelf nog steeds kan aansluiten bij een pool, waardoor de miner kan rekenen op regelmatige inkomsten, zonder dat de miner het recht op het aanmaken van het volgende block opgeeft. Daarnaast kan de beheerder van een pool de individuele miners niet meer dwingen mee te doen met bepaalde upgrades wanneer zij dit niet wenselijk vinden.
De pool dient nog steeds als verdeler van de inkomsten, maar de miner die verantwoordelijk is voor het gevonden block behoudt het recht om te bepalen welke transacties er in het block worden opgenomen. Hiermee wordt voorkomen dat een beheerder, gedwongen of ongedwongen, censuur kan uitoefenen.
Volgens Corallo en velen anderen is het oplossen van de centralisering van mining een van de meest dringende onderwerpen. Het hopen is nu dat de verschillende mining pools hier hetzelfde over denken en het BetterHash voorstel in de praktijk gaan toepassen. Geheel verholpen zijn de centraliseringsproblemen met dit voorstel nog niet, maar het is een stap in de goede richting.