47 / 736ASIC

ASIC Miner

Eine Spezialmaschine für das Bitcoin-Mining

Ein ASIC Miner führt sehr viele Rechenversuche durch, um einen neuen Block zu finden. Was seine Leistung aussagt, warum er Strom verbraucht und weshalb das Einschalten allein noch keinen Ertrag garantiert.

Ein ASIC Miner ist ein Gerät mit speziell für das Bitcoin-Mining entwickelten Chips. Er berechnet immer wieder den numerischen Fingerabdruck des Headers eines vorgeschlagenen Blocks, also der Kurzfassung seiner wichtigsten Daten, und sucht ein Ergebnis, das die Mining-Regeln erfüllt. Mehr Leistung bedeutet mehr Versuche pro Sekunde, keine sichere Belohnung. Hinzu kommen Stromversorgung, Kühlung, Steuersoftware und eine Quelle für Mining-Aufträge.

Mining: Modell des BetriebsergebnissesVergleiche den erwarteten Anteil an der Blocksubvention mit Stromkosten bei gewählter Hashrate, Leistungsaufnahme und Poolgebühr.

Anna sieht neben einem Computer ein kleines Mining-Gerät und fragt sich, ob ihr Laptop dasselbe könnte. Ein gewöhnlicher Computer kann die nötigen Berechnungen ausführen. Ein ASIC ist jedoch eigens dafür gebaut und schafft mit derselben Energie in der Regel wesentlich mehr Versuche. ASIC steht für Application-Specific Integrated Circuit, einen für eine bestimmte Aufgabe entwickelten integrierten Schaltkreis. Umgangssprachlich bezeichnet man auch den vollständigen Miner mit solchen Chips als ASIC. Der Bitcoin-Miner sucht mithilfe von SHA-256 einen passenden numerischen Fingerabdruck, einen Hash. Er kennt die richtige Antwort nicht im Voraus, sondern verändert Eingabedaten und probiert erneut. Diese Spezialisierung verdrängte gewöhnliche CPU-Prozessoren, Grafikprozessoren namens GPU und programmierbare FPGA-Schaltungen nach und nach aus dem konkurrenzfähigen Mining. Ein SHA-256-Mining-Chip lässt sich aber nicht einfach in einen vielseitig nutzbaren Computer verwandeln. [6] [8]

Nehmen wir einen beispielhaften Miner mit 100 TH/s und einer Leistungsaufnahme von 3.000 W. Das sind keine Angaben zu einem konkreten Produkt. TH/s bedeutet Billionen Hashes pro Sekunde: Das Gerät führt also jede Sekunde hundert Billionen Versuche aus. Diese Rechenleistung heißt Hashrate. Der Stromzähler erfasst dagegen Energie. Bei konstanten 3 kW verbraucht das Gerät in 24 Stunden 72 kWh. Erst diese Menge wird mit dem Preis je kWh multipliziert. Zum Vergleich dient außerdem J/TH, also Energie in Joule pro Billion Versuche. Im Beispiel gilt 3.000 / 100 = 30 J/TH. Ein kleinerer Wert bedeutet weniger Energie für dieselbe Arbeit. Messmethode und Einstellungen müssen allerdings vergleichbar sein. Eine Angabe für den Chip allein lässt sich nicht ohne Weiteres mit dem Verbrauch des ganzen Geräts an der Steckdose vergleichen. [7] [8]

Fast die gesamte vom Miner verbrauchte Energie wird letztlich zu Wärme. Anna muss bei der Standortwahl deshalb auch die Wärmeabfuhr und je nach Bauweise den Lüfterlärm bedenken. Ein kleiner Heimminer und eine Industriemaschine können völlig unterschiedliche Anforderungen haben. Die Bezeichnung ASIC allein sagt weder etwas über Größe noch Strombedarf aus. Neben den Chips arbeiten im Gerät Netzteil, Spannungsregler, Steuerung und mit Mining-Chips bestückte Platinen, die Hashboards. Lüfter oder Flüssigkeitskühlung führen Wärme ab. Staub, ein defekter Lüfter, ungeeignete Stromversorgung oder zu aggressive Einstellungen können Fehler und Ausfälle verursachen. Der gesamte Betrieb ist deshalb aussagekräftiger als die größte Zahl in der Werbung des Herstellers. [7] [8]

Nach der Verbindung mit einem Mining Pool erhält Annas Miner Aufträge von einem Dienst, der Miner koordiniert. Der Pool besteht aus eigener Software und einem Betreiber; er ist kein Bestandteil des Chips. Beim Solo-Mining muss Anna die entsprechende Infrastruktur selbst bereitstellen. Die Firmware, also die Steuersoftware des Geräts, übergibt Aufträge an die Chips und meldet Ergebnisse zurück. Zuerst muss jemand einen Blockvorschlag mit Transaktionen zusammenstellen, ein Block Template. Diesen liefert ein Full Node oder ein anderer Vorlagenanbieter. Ein Full Node ist ein Programm, das Blöcke und Transaktionen eigenständig nach den Bitcoin-Regeln prüft. BIP22 beschreibt die Schnittstelle getblocktemplate, BIP23 deren Erweiterungen für Pools. Stratum V2 trennt Mining Protocol für Aufträge, Job Declaration für eigene Arbeitsvorschläge und Template Distribution für die Bereitstellung von Vorlagen. Ob ein Miner Transaktionen auswählen kann, hängt vom Aufbau und der Unterstützung dieser Komponenten ab. Der Chip selbst wählt sie nicht aus. [1] [2] [4] [5] [9]

Anna sieht akzeptierte Shares in ihrer Pool-Übersicht, obwohl ihr Gerät keinen Bitcoin-Block gefunden hat. Ein Share erfüllt eine leichtere Bedingung des Pools und dient als statistischer Nachweis geleisteter Arbeit. Der Pool berücksichtigt diese Arbeit nach seinen Auszahlungsregeln. Ein Share ist weder eine weitere Münze noch automatisch ein Bruchteil eines Blocks. Nur ein viel selteneres Ergebnis erfüllt auch die schwierigere Bedingung des Bitcoin-Netzwerks. Damit lässt sich ein Block vorlegen, der zusätzlich alle anderen Prüfungen bestehen muss. Eine Änderung der Share-Schwierigkeit beeinflusst die Häufigkeit der Meldungen an den Pool. Sie erhöht weder von selbst die tatsächliche Rechenleistung noch verändert sie die Mining-Schwierigkeit im Netzwerk. [4] [6]

Ein gefundenes Ergebnis ist ein Vorschlag an das Netzwerk, kein Befehl. Ein Full Node prüft die Bitcoin-Regeln selbst und lehnt einen ungültigen Block auch von einem sehr leistungsstarken Miner ab. Ein ASIC kann weder eine überhöhte Belohnung erzeugen noch fremde Coins ohne Berechtigung ausgeben oder Knoten zur Annahme anderer Regeln zwingen. Wichtige Entscheidungen bleiben beim Betreiber: Firmware, Pool und, soweit unterstützt, die zu schürfenden Transaktionen. Im Betrieb helfen der Vergleich der Geräteanzeige mit der längerfristigen Pool-Schätzung sowie die Kontrolle abgelehnter Shares, der Temperatur und der tatsächlichen Leistungsaufnahme. Kurze Schwankungen der Pool-Schätzung beweisen allein noch keinen Defekt. [5] [10]

Zwei identische Miner können wirtschaftlich sehr unterschiedlich abschneiden. Einer läuft gut gekühlt mit günstigerem Strom, der andere fällt oft aus und bezahlt mehr für Energie. Anschaffung, Wertverlust, Pool-Gebühren, Bitcoin-Kurs, Netzwerkschwierigkeit und Transaktionsgebühren in gefundenen Blöcken wirken ebenfalls auf das Ergebnis. Technische Effizienz verspricht daher keine Amortisation. Die Spezialisierung erhöhte auch die Anforderungen an Chipfertigung und große Mining-Anlagen. Bei Konzentrationsfragen muss man Hersteller, Eigentümer der Geräte, physische Standorte und Pools unterscheiden. Ein hoher Pool-Anteil beweist nicht, dass sämtliche angeschlossenen Geräte derselben Firma gehören. [6] [8]

Die Frequenz bestimmt das Arbeitstempo des Chips, die Spannung trägt zu zuverlässigen Berechnungen bei. Selbst Chips desselben Typs brauchen mitunter unterschiedliche Einstellungen, weil die Fertigung kleine elektrische Unterschiede verursacht. Firmware kann passende Einstellungen für einzelne Chips oder Platinen suchen. Dies nennt man Autotuning. Eine geringere Frequenz mit passender Spannung kann J/TH verbessern, obwohl die gesamte Hashrate sinkt. Übertakten kann dagegen mehr Leistung mit unverhältnismäßig höherem Strombedarf und mehr Wärme erkaufen. Das Ergebnis hängt von Gerät, Kühlung und Einstellungen ab. Die höchste erreichbare Leistung ist deshalb nicht unbedingt der sinnvollste dauerhafte Betriebspunkt. [7]

Ausgangspunkt ist der 80-Byte-Blockheader, eine kompakte Zusammenfassung grundlegender Blockdaten. Er enthält die Version, den Hash des Vorgängerblocks, den Merkle Root als Zusammenfassung der Transaktionen, einen Zeitstempel, das kodierte Schwierigkeitsziel nBits und ein 32-Bit-Nonce-Feld. SHA-256(SHA-256(header)) bedeutet, SHA-256 zweimal anzuwenden; header bezeichnet diese Blockkopfzeile. Der resultierende Hash wird als Zahl interpretiert. Für den erforderlichen Arbeitsnachweis darf sie das Ziel nicht überschreiten: hash ≤ target. Der Chip kann Berechnungen beschleunigen, indem er Zwischenergebnisse unveränderter Eingabeteile wiederverwendet. Knoten prüfen Ergebnis und korrektes Ziel, nicht die Schaltungsanordnung des Herstellers. Die übrigen Gültigkeitsregeln für den Block gelten weiterhin. [6] [10]

Nonce bietet 2^32 mögliche Werte. Ein schneller Miner probiert sie rasch durch, weshalb das System weitere Daten verändern muss. Extranonce ist ein Hilfswert in der Coinbase Transaction, der besonderen ersten Transaktion mit der Blockbelohnung. Seine Änderung verändert die Transaktion, den daraus entstehenden Merkle Root und damit die Eingabe für eine neue Berechnungsrunde. Auch das Zeitfeld nTime darf innerhalb erlaubter Grenzen verändert werden; geeignete Versionsbits bieten weitere Möglichkeiten. Der Vorschlag BIP320 beschreibt die Reservierung bestimmter Bits für allgemeine Zwecke, keine Erlaubnis, Netzwerkregeln zu ignorieren. Stratum V2 verlangt eine Arbeitsverteilung, die unnötige Versuche mit identischen Kandidaten verhindert. All das versorgt die Chips mit neuen Möglichkeiten, erhöht aber nicht die Belohnung je Block. Der neuere Vorschlag BIP323 soll BIP320 ersetzen und dafür 24 Versionsbits reservieren. Die aktuelle Spezifikation von Stratum V2 verweist bereits auf BIP323. Dessen Status ist weiterhin Draft, also Entwurf: Die Veröffentlichung eines Vorschlags allein ändert die Bitcoin-Regeln nicht. [3] [4] [11]

Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Mining, Hashrate, SHA-256, Block Header, Nonce, Extranonce. Auf diesen Eintrag verweisen außerdem Mining Pool, Hashrate, Nonce, Braiins.

DOC · 001BIP 22 — getblocktemplate fundamentalsSpezifikation DOC · 002BIP 23 — getblocktemplate pooled miningSpezifikation DOC · 003BIP 320 — nVersion bits for general purpose useSpezifikation DOC · 004Stratum V2 — Mining Protocol specificationSpezifikation DOC · 005Stratum V2 — Protocol overviewSpezifikation DOC · 006Bitcoin Developer Guide — MiningDokumentation DOC · 007Braiins OS — AutotuningDokumentation DOC · 008Bitaxe — open-source ASIC miner hardwarePrimärquelle DOC · 009Bitcoin Core — getblocktemplate RPCDokumentation DOC · 010Bitcoin Core v29.0 — CheckProofOfWorkImplPrimärquelle DOC · 011BIP 323 — 24 nVersion bits for general purpose useDokumentation
Überarbeitet: Quellenbasiert · Keine Anlageberatung