Kryptomining mit AMD-Prozessoren – ein How-To für Interessierte

Artikel-Index:

Grundlagen

Was ist Mining?
Der über­wie­gen­de Groß­teil der zahl­rei­chen Krypto-“Währungen” basiert auf der Block­chain-Tech­no­lo­gie. “Wäh­rung” des­we­gen in Anfüh­rungs­zei­chen, da Bit­co­in & Co. natür­lich kei­ne gesetz­li­chen Zah­lungs­mit­tel sind. Eine Block­chain ist eine dezen­tra­le Daten­bank, bestehend aus Blö­cken, die so anein­an­der geket­tet wer­den, dass sie im nach­hin­ein nicht mehr ver­än­dert wer­den kön­nen. In so einem Block ist dann bei­spiels­wei­se ver­zeich­net, dass Teil­neh­mer A einem Teil­neh­mer B einen bestimm­ten Betrag über­wie­sen hat, oder irgend­ei­ne ande­re Ver­ein­ba­rung (Smart Con­tract), die man für immer fixiert haben möch­te. Damit der Block nach­träg­lich nicht mehr ver­än­dert wer­den kann, wer­den Vor­gän­ger-Block und Nach­fol­ger-Block mit einem Hash­wert verknüpft.


Quel­le: Bit­co­in Deve­lo­per Guide

Das Mining ist das Mit­tel, dies zu errei­chen, eine Pro­of-of-Work-Metho­de, um die Block­chain abzu­si­chern. Dazu fin­det rund um den Erd­ball ein Wett­rech­nen statt. Wer den zum Block pas­sen­den Hash­wert durch aus­pro­bie­ren fin­det, erhält eine Beloh­nung. Gleich­zei­tig dient die Rechen­leis­tung der vie­len Teil­neh­mer dazu, sicher­zu­stel­len, dass der errech­ne­te Wert auch stimmt und nicht mani­pu­liert wur­de. Je mehr an der Absi­che­rung der Block­chain mit­rech­nen, des­to schwie­ri­ger ist es für einen Angrei­fer, die Block­chain nach­träg­lich zu mani­pu­lie­ren. Wie­so soll­te das jemand wol­len? Nun, zum Bei­spiel könn­te jemand an Block­hö­he X jeman­dem einen Betrag über­wei­sen, z.B. weil er etwas kau­fen möch­te oder in eine ande­re Kryp­to­wäh­rung wech­seln möch­te. Nach­dem er hat, was er will, könn­te der Angrei­fer den Block nach­träg­lich ver­än­dern, sodass es so aus­sieht, als hät­te er den Betrag noch und ihn noch­mal aus­ge­ben. Damit das nicht geschieht, zählt das Ergeb­nis, das die meis­te Rechen­power hin­ter sich ver­eint. Die übri­gen Miner über­stim­men qua­si sei­ne mani­pu­lier­te Block­chain und stel­len sie wie­der her. Somit müss­te ein Angrei­fer so viel Rechen­leis­tung inves­tie­ren, um die Block­chain nach­träg­lich zu ver­än­dern, dass der Mate­ri­al­ein­satz unin­ter­es­sant hoch ist. Trotz­dem kom­men die­se soge­nann­ten 51-Pro­zent-Atta­cken immer wie­der vor, ins­be­son­de­re bei klei­ne­ren Kyp­to­wäh­run­gen, die den glei­chen Mining-Algo­rith­mus ver­wen­den, wie eine größere.

Damit jemand dazu moti­viert wird, Zeit und Geld für den Betrieb einer Block­chain zu inves­tie­ren, erhal­ten die Miner eine Beloh­nung sobald der pas­sen­de Wert zur Absi­che­rung eines Blocks gefun­den wur­de. Bei sehr klei­nen Kryp­to­wäh­run­gen kann man das direkt auf der Block­chain machen, soge­nann­tes Solo-Mining. Bei den grö­ße­ren Coins dage­gen ist die Dif­fi­cul­ty auf­grund der gro­ßen Anzahl der Teil­neh­mer so hoch, dass man als ein­zel­ner Miner Mona­te oder gar Jah­re rech­nen müss­te, um ein­mal einen Block selbst abzu­be­kom­men. Des­we­gen rech­net man, wenn man nicht gera­de eine Mining-Farm betreibt, nicht Solo, son­dern zusam­men mit ande­ren in einem Pool. Fin­det der Pool dann den pas­sen­den Hash­wert, um den nächs­ten Block abzu­si­chern, wird die Beloh­nung unter den Pool-Teil­neh­mern aufgeteilt.

Was kann mit CPUs gemi­ned werden?
Es gibt etli­che Coins, deren Initia­to­ren sich auf die Fah­nen geschrie­ben haben, eine mög­lichst brei­te Mas­se am Mining teil­ha­ben zu las­sen. Ein Pri­vat­an­wen­der wird sich eher kei­nen spe­zi­el­len Bit­co­in-Miner für 10.000 EUR kau­fen, der nur einem Zweck dient: Bit­co­ins zu minen. Eine CPU oder GPU dage­gen hat jeder zu Hau­se. Daher nut­zen die­se Coins einen Algo­rith­mus, der mög­lichst schlecht auf ASICs abzu­bil­den ist. Jah­re­lang waren das die Cryp­to­no­te-Coins, die einen Hash-Algo­rith­mus namens Cryp­to­night nutz­ten. Mit stei­gen­der Markt­ka­pi­ta­li­sie­rung lohn­te es sich jedoch für die ASIC-Her­stel­ler irgend­wann, auch für Cryp­to­night Spe­zi­al-Hard­ware zu ent­wi­ckeln. Da die Initia­to­ren der Coins das jedoch nicht wol­len, begann eine Art Spieß­ru­ten-Lauf, indem die Initia­to­ren den Algo­rith­mus immer wie­der mini­mal ver­än­der­ten, ein soge­nann­ter Hard­fork ohne Chain­split. Mini­ma­le Ände­run­gen genüg­ten bereits, um die ASICs unbrauch­bar zu machen, da die­se im Gegen­satz zu Mining-Soft­ware nicht ein­fach nach­träg­lich ange­passt wer­den kön­nen. Nach etli­chen die­ser Hard­forks im Abstand von ein paar Mona­ten wech­sel­ten vie­le der ehe­ma­li­gen Cryp­to­night-Coins zu einem Algo­rih­mus namens Ran­domX. Die­ser hat zum einen einen sehr gro­ßen RAM-Hun­ger und zum ande­ren nutzt er wech­sel­wei­se unter­schied­li­che Kom­bi­na­tio­nen aus Berech­nungs­pfa­den, sodass es sehr schwie­rig ist, dafür Spe­zi­al­hard­ware zu ent­wi­ckeln. Seit­dem haben Coins, die sich dem CPU-Mining ver­schrie­ben haben, vor­erst Ruhe vor den ASICs.

Das bedeu­tet, der Main­stream-Algo­rith­mus für CPU-Mining ist Ran­domX. Da man nicht mehr alle Coins im Kopf haben kann, gibt es mitt­ler­wei­le sehr gute Web­sei­ten, die die ver­schie­de­nen Coin-Fami­li­en in Kate­go­rien auf­lis­ten, z.B. Mining­Pool­Stats. Klickt man lin­ker­hand auf die Aus­wahl­box “CPU – Ran­domX” erhält man alle Coins ange­zeigt, die Ran­domX oder Vari­an­ten ver­wen­den und dazu auch gleich, auf wel­chen Pools man sich am Mining betei­li­gen kann, wel­chen Anteil die­se an der Gesamt-Hash­ra­te haben und wel­che Zutei­lungs­me­tho­de der Pool verwendet.

Wel­chen Pool neh­men – PPS, PROP oder PPLNS?
Wie bereits kurz ange­ris­sen sind Pools dazu da, Mining-Power zu ver­ei­nen, damit man den nächs­ten Block (zusam­men mit ande­ren) sel­ber fin­det und die Beloh­nung dafür ein­strei­chen kann. Die­se Beloh­nung wird dann – abzüg­lich der Pool-Fee, die in die Tasche des Pool-Betrei­bers wan­dert – unter den Teil­neh­mern des Pools auf­ge­teilt. Wie das auf­ge­teilt wird, unter­schei­det sich von Pool zu Pool.

PROP
Die sim­pels­te Metho­de für den Pool­be­trei­ber ist PROP (pro­por­tio­nal). Hier wird die Beloh­nung ein­fach unter all jenen Teil­neh­mern auf­ge­teilt, die bei der Fin­dung die­ses Blocks mit­ge­wirkt haben, abhän­gig davon, wie­vie­le Ergeb­nis­se die ein­zel­nen Teil­neh­mer dazu bei­getra­gen haben. Der mit einer hohen Hash­ra­te kriegt mehr, der mit nied­ri­ger Hash­ra­te weni­ger. Das klingt fair, aber der Haken steckt im Detail. Ins­be­son­de­re Gele­gen­heits­mi­ner mit schwa­cher Hard­ware kön­nen bei der PROP-Metho­de benach­tei­ligt sein, wenn die Hard­ware es nicht schafft, oft genug Ergeb­nis­se zu lie­fern und an den Pool zurück­zu­sen­den. So kann es sein, dass der Teil­neh­mer zwar die gan­ze Zeit rech­net und rech­net und rech­net, aber aus­ge­rech­net in der Zeit, als der Pool den Block gefun­den hat, kei­ne Ergeb­nis­se zurück­ge­mel­det hat. Dann geht die­ser Teil­neh­mer in der Run­de leer aus. Wenn es blöd läuft und man auf einem klei­nen Pool rech­net, der sowie­so nur sel­ten einen Block fin­det, kann es pas­sie­ren, dass man den gan­zen Tag lang rech­net ohne eine ein­zi­ge Beloh­nung dafür zu erhalten.

PPS
Genau das Gegen­teil von PROP ist die PPS-Metho­de (pay-per-share): Die­se ist maxi­mal fair gegen­über den Teil­neh­mern, kann aber hei­kel wer­den für den Pool­be­trei­ber. Denn hier erhält der Teil­neh­mer für jedes Ergeb­nis, das er zurück­sen­det, eine Beloh­nung und zwar unab­hän­gig davon, ob der Pool in die­ser Zeit einen Block gefun­den hat oder nicht. Man sen­det etwas zurück und bekommt etwas dafür. Hier muss der Pool-Betrei­ber qua­si in Vor­leis­tung gehen in der Hoff­nung, dass sich die vor­ge­schos­se­ne Beloh­nung spä­ter durch Fin­den eines Blocks wie­der aus­gleicht. Daher ist bei PPS-Pools in der Regel die Pool-Fee auch etwas höher, da der Betrei­ber ein höhe­res Risi­ko hat. Aber natür­lich ist das die idea­le Metho­de für Gele­gen­heits­mi­ner, die mal eben für eine hal­be Stun­de die Mining-Soft­ware anwer­fen wol­len ohne sich Gedan­ken machen zu müs­sen, ob der Pool in die­ser Zeit über­haupt einen Block fin­det, für den man belohnt wür­de. Auch lang­sa­me Hard­ware, die gene­rell nur sel­ten ein Ergeb­nis zurück­lie­fern kann auf­grund der Dif­fi­cul­ty, ist am bes­ten auf einem PPS-Pool aufgehoben.

PPLNS
Bei die­ser Metho­de (pay-per-last-n-shares) ver­gü­tet ein Pool ähn­lich wie bei PROP, aller­dings wird über einen bestimm­ten Zeit­raum gemit­telt, sodass man nicht unbe­dingt just in jener Run­de ein Ergeb­nis zurück­ge­lie­fert haben muss in der ein Block gefun­den wird. Statt­des­sen wird, wenn ein Block gefun­den wur­de und somit Beloh­nung zur Ver­tei­lung ansteht, eine gewis­se Zeit zurück­ge­schaut, wer in die­sem soge­nann­ten PPLNS-Win­dow wie­vie­le Ergeb­nis­se bei­getra­gen hat. Das ist fai­rer als PROP und im Gegen­satz zu PPS für den Pool­be­trei­ber ohne Risi­ko, da auch hier nur ver­teilt wird nach­dem ein Block gefun­den wur­de. Der Pool­be­trei­ber muss also nicht in Vor­leis­tung gehen. Wer län­ger am Stück mined, ist bei einem PPLNS-Pool gut aufgehoben.