Kryptomining mit AMD-Prozessoren – ein How-To für Interessierte
Erste Schritte
Die ersten Schritte
Was braucht man nun, um sich am Mining zu beteiligen. Im Grunde:
1. Die Entscheidung, welchen Coin man minen möchte. Darauf kommen wir später noch einmal zurück. In unserem Beispiel nehmen wir mal Monero.
2. Eine Wallet (virtuelle Geldbörse) mit einer Adresse, auf die die geschürften Coins ausbezahlt werden.
3. Eine zum Coin passende Mining-Software
4. Einen zum Coin passenden Pool
Die Wallet bekommt man auf der Webseite des Coin-Entwicklers. Wenn wir Monero minen wollen, müssen wir uns von der Monero-Webseite eine Wallet herunterladen und auf dem PC installieren. Größere Coins haben verschiedene Arten von Wallets: welche mit grafischer Oberfläche (sog. GUI-Wallets) oder welche, die man in der Kommandozeile bedienen muss (CLI-Wallet), welche, die die gesamte Blockchain des Coins lokal auf den PC laden (sog. Full-Wallets) oder welche, die auf die Blockchain zugreifen ohne sie komplett herunterzuladen (sog. Light- oder Remote-Wallets). Da die Blockchains vieler Coins mittlerweile mehrere Gigabyte groß sind, sind Full-Wallets eher nichts für Gelegenheitsnutzer. Wie auch immer: man sucht sich die passende Wallet aus und startet sie. Hier erhält man dann auch die Adresse, über die man Coins vom Pool empfangen kann.
Eine typische CLI-Wallet.
Hier die Full-Wallet von Monero. Damit man nicht die komplette 150 GB große Blockchain herunterladen muss, kann man in den Settings einstellen, einen externen Remote-Node zu verwenden.
Mining-Software gibt es wie Sand am Meer. Nicht alle unterstützen alle Coins. Man sucht sich die Mining-Software, die den gewünschten Coin unterstützt, vorzugsweise Open-Source ist, damit einem nichts untergejubelt werden kann und fleißig gewartet und optimiert wird. Die Pools geben in ihren Hilfe-Sektionen meist Hinweise darauf, welche Mining-Software man nehmen kann. Weit verbreitet für Monero ist die Mining-Software xmrig, die in der Familie der Cryptonote-Coins groß geworden ist und daher hier seinen Schwerpunkt hat.
Beim Herunterladen gibt es jedoch den ersten Schreckmoment: die meisten Virenscanner und auch Browser blockieren den Download erst einmal, da sie ja nicht sicher sein können, ob wir wirklich wissentlich und bewusst einen Coin-Miner herunterladen oder ob uns den jemand unterjubeln möchte, um unsere Hardware für seine Mining-Aktivitäten zu missbrauchen. In der Regel ist das also ein Fehlalarm. Man muss sich natürlich vergewissern, warum der Virenscanner meckert. Schlägt er Alarm, weil er einen Coin-Miner (oder sinngemäßge Bezeichnung) gefunden hat, dann kann man das abnicken. Ja klar hat er einen Coin-Miner gefunden, wir haben ja eben einen heruntergeladen. Vorsicht ist geboten, wenn der Virenscanner etwas anderes meldet. Wie in jedem Download können böse Buben alles mögliche verstecken, Trojaner, Backdoors, was auch immer. Daher die Empfehlung nur Open-Source-Miner zu verwenden und ausschließlich von der Webseite des Entwicklers zu laden, nicht von irgendwo her, was in der Google-Suche ganz oben stand.
Wir laden also xmrig herunter und entpacken das Archiv in einen Ordner. Da wir aus vertrauenswürdiger Quelle geladen haben, können wir den Ordner in die Ausnahmen des Virenscanners aufnehmen, damit dieser nicht dauernd misstrauisch dazwischenfunkt. Bei xmrig sollte die erste Aktion sein, die xmrig.exe mit “Rechtsklick / Als Administrator ausführen” zu starten und dann wieder zu schließen. Bei diesem Schritt wird nicht nur ein Registry-Eintrag gesetzt, der es ermöglicht, Large/Huge Pages zu nutzen, was die Leistung erhöht, es wird auch die Hardware analysiert und eine dazu passende config.json Datei erstellt. Das ist wichtig, da die Konfiguration je nach Hardware unterschiedlich sein muss. Die höchste Hashrate erzielt man, wenn die in Bearbeitung befindlichen Daten, die sogenannten Scratchpads, nicht permanent aus dem langsamen RAM geholt werden müssen, sondern in die schnellen Caches der CPU passen. Die RandomX-Variante von Monero z.B. verwendet eine Scratchpad-Größe von 2 MB je Thread. Ein Ryzen 7 2700 beispielsweise besitzt 16 MB Last-Level-Cache. Daher wird beim geschilderten ersten Start in die config.json geschrieben, dass die Mining-Software acht Threads nutzen darf; 16 MB : 2 MB = 8. Damit nutzt die Software so viele Kerne/Threads wie möglich ohne dass der Cache überläuft.
Eine Grundkonfiguration der Hardware ist damit erfolgt. Fehlen noch die Angaben auf welchem Pool wir minen möchten und auf welche Adresse die Auszahlung erfolgen soll. Zur Demonstration wählen wir als Pool Hashvault. Zum einen bietet dieser sehr viele Informationen, hat eine gute Dokumentation, ist ein PPLNS-Pool und es werden mehrere verschiedene Coins unterstützt, sodass man leicht vergleichen kann, welcher Coin sich für die eigene Hardware am besten eignet und am meisten abwirft. Doch dazu später mehr.
Hashvault besitzt im “Getting started”-Bereich einen Konfigurator, in dem man die gewünschten Angaben machen kann und am Ende wird eine passende Konfiguration ausgespuckt. Als Pool-Port sollte man als Gelegenheitsminer einen mit möglichst niedriger Startdifficulty wählen, denn der Pool passt die Difficulty im Betrieb automatisch nach oben an, kann aber nicht nach unten anpassen wenn man zu langsame Hardware einsetzt.
Von der fertigen Konfiguration brauchen wir nur die Sektion “pool”. Diese markieren wir und ersetzen damit in der config.json unseres Miners die gleichnamige Passage. Den Rest lassen wir so wie xmrig es auf Grundlage unserer Hardware eingestellt hat. Dann die config.json abspeichern, noch einen letzten Neustart, damit der Large-Pages-Eintrag in der Registry greift, und es kann losgehen. Nach dem Reboot die xmrig.exe starten und wenn kein Fehler passiert ist beim Editieren der config.json, dann sollte der Miner schon loslegen. So in etwa kann das aussehen:
Zusätzlich kann man auf der Pool-Webseite unter “Dashboard” seine Wallet-Adresse angeben und sobald die Software die ersten Ergebnisse an den Pool zurückgeschickt hat, sollte der PC in der Liste der Worker auftauchen:
Hier bekommt man dann auch etliche Statistiken angezeigt, welche Hashrate man erreicht hat gemittelt über verschiedene Zeiträume, wieviel Ertrag man schon erzielt hat und vieles mehr.