Expirimentele NL Bitcoin Mining Pool
Dankzij de enorme aandacht voor Bitcoins in de media en op tweakers kwam ik op het idee om zelf ook maar eens Bitcoins te gaan minen. Vandaar deze thread om wat meer enthousiaste tweakers zo ver te krijgen om mee te gaan doen.Het eerste doel is om gezamenlijk rond de 10GHs/s(10000MHs/s) te komen zodat er met de huidige moeilijkheidsgraad elke week een valide block gevonden wordt wat in totaal 50 Bitcoins oplevert.
Let op:
- Bitcoin mining is zeer GPU intensief en zorgt daardoor voor extra warmte-ontwikkeling en energie-verbruik(voor een berekening over rendabiliteit zie onder).
- De huidige koers van 1 Bitcoin(BTC) ligt momenteel tussen de $15 en $17, deze is aan koers schommelingen onderhevig.
- Bitcoin minen met een CPU is per definitie niet meer rendabel aangezien de energiekosten te zwaar wegen tegenover de verwachtte opbrengsten met de huidige koers.
- Pas als er een valide block gevonden is in de Pool kan er uitgekeerd worden.
- Voor een discussie over de voors en de tegens van Bitcoin : [Bitcoin] De voors en de tegens
Bitcoin Inleiding
Voor een korte toelichting over Bitcoin kan je dit filmpje bekijken :http://www.youtube.com/watch?v=Um63OQz3bjoBitcoin is een decentrale digitale muntheenheid waarmee je goederen of diensten kunt kopen. De Bitcoins worden gegenereerd door een ingewikkelde rekensom op te lossen, indien deze klopt en succesvol gevalideerd wordt door andere gebruikers in het decentrale Bitcoin netwerk worden er 50 Bitcoins naar de oplosser gestuurd. Iedereen in het netwerk is zowel gebruiker als bankier aangezien alle transacties in de nieuw te berekenen rekensom zitten toegevoegd.
In het kort komt het erop neer dat je de rekenkracht van je GPU/CPU inzet om een block te vinden. Een geldig block levert 50 Bitcoins op welke op het moment voor circa $15 per stuk worden verhandeld. Er zijn diverse online beurzen waar Bitcoins van hand wisselen en verhandeld worden tegen echte valuta. Daarnaast kunnen er zelfs ook al fysieke goederen mee gekocht worden. In het begin van Bitcoin was het nog vrij makkelijk Bitcoins te verdienen. De moeilijkheidsgraad wordt gebaseerd op de totale rekenkracht die gebruikt wordt om Bitcoins te vinden zodat er max 1 valide block per 10 minuten gevonden kan worden. Dit is een (zachte) beperking op het aantal Bitcoins dat per tijdseenheid kan worden gevonden. De moeilijkheidsgraad wordt aangepast inden er in de tijdseenheid meer Bitcoins uitgedeeld zijn dan de max.
Ik kwam er al snel achter dat in je eentje minen al geen zin meer heeft(aangezien er teveel rekenkracht voor nodig is om een geldig blok te vinden) dus ben ik snel begonnen met het opzetten van een zogenaamde Bitcoin mining pool.
In zo'n bitcoin mining pool werken meerdere gebruikers samen om een block te vinden. Na het vinden van een blok worden de 50 Bitcoins (BTC) die daarmee verdiend worden verdeeld naar aanleiding van hoeveel rekenkracht er per gebruiker is besteed aan dat blok.
Hoe begin je met minen?
1 Bitcoin portemonnee
Om te kunnen beginnen met het minen en ontvangen van Bitcoins moet je allereerst een Bitcoin portemonnee aanmaken. Deze unieke portemonnee wordt gegenereerd op het moment dat je de Bitcoin client voor het eerst start. Het Bitcoin adres dat aan jou Bitcoin portemonnee hangt kan gebruikt worden om Bitcoins te ontvangen. De Bitcoin client kan gedownload worden op http://www.bitcoin.orgNa het ontvangen van Bitcoins veranderd je adres in de client en krijg je een nieuw adres, echter je oude adres blijft ook verbonden aan jou portemonnee. De portemonnee is opgeslagen in je wallet.dat bestand. Als iemand je wallet.dat buit weet te maken heeft degene beschikking over jou Bitcoins. Het is dus van belang deze ZEER GOED te beveiligen. Het liefst op een USB stick en niet op je pc. Je kan natuurlijk ook gewoon Bitcoins kopen, maar ze verdienen met je idle GPU/CPU is natuurlijk veel leuker.
2 Bitcoin miner installeren
Om de GPU/CPU kracht in te zetten is een Bitcoin miner benodigd. Er zijn hier een aantal smaken in te vinden. Phoenix miner(Python) en Diablo miner(Java) zijn hierin op het moment het meest in trek. Ook zijn er diverse GUI-Miners waarvan AOCLBF een veelgebruikte is.Daarnaast zijn er ook GUI miners : http://forum.bitcoin.org/index.php?topic=10264.0
Voor meer miners kun je hier kijken op http://forum.bitcoin.org/index.php?board=42.0
Beide miners hebben OpenCL nodig om de berekeningen te kunnen uitvoeren. De meeste nieuwe grafische drivers hebben al OpenCL drivers meegeleverd. De drivers zijn eventueel op de volgende URLs te vinden :
OpenCL AMD/ATI
http://developer.amd.com/...nloads/Pages/default.aspx
OpenCL NVIDIA
http://developer.nvidia.com/opencl
3 De mining pool
Aangezien de moeilijkheidsgraad op het moment zeer hoog is loont het bijna niet om in je eentje te minen. Vandaar dat er Bitcoin mining pools worden opgezet. Deze ontvangen het "werk" en verdelen dat over de verbonden "workers" om gezamenlijk een block te vinden.Om gezamenlijk te kunnen minen heb ik een nederlandse mining pool opgezet die gehost wordt op Amazon EC2, met de volgende voordelen :
- Stabiliteit
- Schaalbaarheid
- Cluster mogelijkheden
Om verbinding met mijn mining pool te kunnen maken zal je allereerst een account aan moeten maken. Dit kan je doen op <knip>
Je account is gelijk geactiveerd waarna je zgn. workers aan je account toe kan voegen. Voor elke PC waar je een miner op installeert moet je een nieuwe worker aanmaken, je kan zoveel workers aanmaken als je wilt. Daarnaast koppel je het Bitcoin adres dat door de Bitcoin client aangemaakt is aan je <knip> account.
4 Verbinden met de mining pool
Om verbinding te kunnen maken met de mining pool heb ik hieronder twee voorbeelden(voor windows in dit geval) voor de Phoenix miner en voor de Diablo miner.Diablo : DiabloMiner-Windows.exe -u GEBRUIKERSNAAM.WORKERNAAM -o <knip> -r 8344 -p WORKERWACHTWOORD
Phoenix : phoenix.exe -u http://GEBRUIKERSNAAM.WORKERNAAM: WORKERWACHTWOORD@<knip>:8344/ -k poclbm DEVICE=0
Om het starten wat makkelijker te maken is er ook de GUI Miner. Deze zet je in de directory waar je phoenix hebt geinstalleerd en start je daarna op. Het volgende scherm komt tevoorschijn :
[img=476,424][mbr]<knip>[/]/guiminer.png[/img]
Instellingen :
User ID: your user ID for your worker at a particular mining server.
Password: the password for your worker. Blank passwords are not allowed.
Server: the server you are mining at, e.g. <knip>
Port: the port to connect to the server at, 8344
Backup: enables miner running on a back up pool if the main pool is down.
Startup: starts miner on program start.
Device Name: the nick name for your device to mine on.
Vectors: uses vectors option. Can possibly increase mining speed if enabled.
HD5xxx+: checked means use BFI_INT, uncheck if your hardware doesn't support it (commonly, HD5k and HD6k series are supported, only present in Phoenix).
Fastloop: the fast loop argument. Can possibly increase mining speed if enabled (only present in Phoenix).
phatk: uses the phatk kernel, optimization for HD58xx series only I think? You MUST have phatk already inside the kernels folder (only present in Phoenix).
Aggression: how resource-intensive the mining is, 0 for least usage, 12+ for most usage (will probably make the computer unusable if you are using it for monitor display, only present in Phoenix).
OpenCL Device: also called Device Number (pre-1.7). "OpenCL Device" is not a valid device number.
Extra Flags: any other flags not mentioned can be added here, such as -q 2. "Extra Flags" is not a valid flag.
Temperature control: checked means monitors temperature range as well as temperature display on OSD (unchecked means it will show a ?). AMD/ATI only. Read bottom instructions on how to find GPU number.
Affinity: sets all of the workers to use one specific core (or all available cores).
5 Optimaal minen
Het is natuurlijk de bedoeling om zo efficient mogelijk te minen met jou videokaart. Je kan diverse commandline settings aanpassen en de topics op het Bitcoin forum bekijken voor de juiste setup van jou kaart om een zo hoog mogelijk aantal MHases/s te halen. Hoe meer MHashes, hoe meer delen van het block je in een bepaalde tijd kan berekenen.Daarnaast is het ook mogelijk je videokaart over te clocken voor nog verdere verhoging van het aantal MHashes/s. Hier een interessant Duits topic hierover.
Over het algemeen presteren de ATI videokaarten het beste en leveren de meeste MHashes/s op.
Voor een overzicht welke videokaarten het meest geschikt zijn om Bitcoins te minen kan je hier kijken https://en.bitcoin.it/wiki/Mining_hardware_comparison

6 Rendabiliteit minen
Gezien het feit dat minen een verhoogd energieverbruik met zich meebrengt wat zich vertaald in directe kosten voor de miner hieronder een berekening van de kosten ten opzichte van de huidige opbrengsten.Allereerst een grafiek van het koersverloop afgelopen anderhalve maand van de Bitcoin.
De huidige koers bedraagt op diverse handelsplatformen tussen de $15 en $17. Bij de berekeningen neem ik $16 als gemiddelde koers.
Daarnaast gebruik ik volgend overzicht bij het bepalen van het energieverbruik : https://en.bitcoin.it/wiki/Mining_hardware_comparison
Voor mining worden over het algemeen de ATI 58XX ingezet. De prijs/MHs verhouding van deze kaarten is simpelweg het beste. Ik gebruik in de berekening de 5830.
Ik ga in de berekening uit van een gebruik van circa 200Watt van je gehele systeem tijdens het minen(afgeleid van bovenstaande tabel in de mining hardware comparison, houd er rekening mee dat je dit zelf moet meten voor de exacte waarden aangezien er een groot verschil zit in het gebruik van overige componenten) en de kosten van 1KW/h zijn circa 22,5 cent. Daarmee kom je uit op 5,0 KW/h per dag. Het kost dus 5,0 x 22,5 = 1,13eu om 24 uur lang met een systeem dat 200Watt gebruikt tijdens het minen te draaien.
Wat levert het op?
Het allerbelangrijkst : Bitcoins!
Financieel gezien is deze vraag is afhankelijk van een groot aantal factoren bij de berekening gebruik ik nu de huidige koers en moeilijkheidsgraad. Deze moeilijkheidsgraad wordt aangepast naar de hoeveelheid mining kracht er in totaal wordt gebruikt op het gehele P2P netwerk. In dit voorbeeld ga ik er vanuit dat je de Bitcoin gelijk verkoopt op het moment dat hij verdiend is tegen de $16 koers. Potentiële waarde wordt hierin dus niet meegenomen.
Daarnaast ga ik ervanuit dat je systeem 275MHs/s mined met de ATI 5830, zonder over/underclocking dus maar wel de optimale opstart parameters.
Bij de huidige moeilijkheidsgraad levert het minen dan +- 0.2 Bitcoin per dag op. Tegen een koers van $16 per Bitcoin komt dat dus neer op $3,2 per dag. Tegen de huidige wisselkoers is dat dus 2,25eu.
Zoals je ziet is het geen vetpot, zeker na aftrek van de energiekosten. Voor puur financieel gewin op de korte termijn is met het minen van Bitcoins dus ruim een euro per dag te verdienen mits je aan het voorbeeld voldoet.
Waarom dan toch minen?
Als je net als ik vertrouwen hebt en toekomst ziet in digitale valuta is het een leuke manier om ze te verdienen.
Let op : "In het verleden behaalde resultaten bieden geen garantie voor de toekomst"
[Voor 36% gewijzigd door Question Mark op 29-06-2011 08:50. Reden: Spam-referals verwijderd]