Seite 2: Von Minern, Transaktionen und Blöcken

Führt man eine Transaktion aus, wird diese vom lokalen Client an das Netzwerk gesendet und breitet sich dort aus. Damit ist die Transaktion allerdings noch nicht bestätigt: Dieser Schritt wird durch die sog. Miner übernommen. Die Miner erzeugen Blöcke, wird eine Transaktion in einen Block aufgenommen, gilt sie als bestätigt. Da alle Blöcke aufeinander aufbauen und eine Kette (die Blockchain) bilden, wird eine Transaktion umso sicherer, je mehr Blöcke auf dem Block aufbauen, in welchem die Transaktion bestätigt wurde. Das Erzeugen der Blöcke ist extrem rechenintensiv und führt zu immer speziellerer Hardware – dazu auf den nächsten Seiten mehr. Ein Block enthält Transaktionen, die bestätigt werden, die Prüfsumme des vorherigen Blocks und noch einige weitere Daten wie einen Zeitstempel. Diese Daten werden zusammen mit einer Zufallszahl versehen und von allen Daten schließlich eine SHA-256-Prüfsumme gebildet. Ist diese Zahl kleiner als ein vorgegebenes Ziel (Target), handelt es sich um einen gültigen Block und der Miner schickt seinen Block an das P2P-Netzwerk (ist dies nicht der Fall, wird eine andere Zufallszahl gewählt und die Berechnung der Prüfsumme, das Hashing, erneut ausgeführt). Die restlichen Teilnehmer können die Gültigkeit des Blocks sehr einfach überprüfen – und damit auch die Gültigkeit einer Transaktion. So wird beispielsweise verhindert, dass die gleichen Bitcoins mehrfach ausgegeben werden.

Das Finden eines Blocks ist ein reiner Zufallsprozess. Es gibt keinen Fortschritt wie bei vielen anderen Distributed-Computing-Projekten, bei denen man teilweise mehrere Stunden an einer sog. work unit (WU) arbeitet. Eine WU bei Bitcoin wäre ein einzelner Hash, der bei moderner Hardware in wenigen Mikrosekunden berechnet wird. Jede Berechnung eines Hashs ist wie das Ziehen eines Loses bei einer Tombola: Entweder gewinnt oder verliert man. Da die Berechnungen alle vollkommen unabhängig voneinander sind, kann man auch stets nur einen Mittel- oder Erwartungswert für die Anzahl der Hashes, die notwendig sind, um einen Block zu finden, angeben. Große Abweichungen von diesem Mittelwert sind möglich und üblich.

Letztendlich können an den Regeln, was gültige und ungültige Transaktionen sind, beliebige Änderungen vorgenommen werden – solange mehr als 50% der Rechenkapazität, die die Miner zur Verfügung stellen, nach den geänderten Regeln arbeiten. In der Tat gab es in der Vergangenheit bereits Änderungen am Protokoll, die einen Hard-fork zur Folge hatten. Dabei ist man davon ausgegangen, dass die meisten Leute die Änderungen für gut befinden und nach den neuen Regeln minen. Da es sich hierbei um eine Erweiterung der Features gehandelt hat, war diese Unterstützung leicht zu bekommen. Miner, die mit den neuen Features nicht einverstanden waren und nach den alten Regeln weitergearbeitet haben, haben ab einem gewissen Zeitpunkt Blöcke generiert, die nicht mehr in die längste Kette aufgenommen wurden. Da es wie gesagt keine zentrale Instanz bei Bitcoin gibt, entscheidet stets die Mehrheit, was "gut" und "böse" ist.

Gesamtrechenleistung des Netzwerks (Logarithmische Darstellung) [Quelle]

Warum sollte man sich allerdings überhaupt die Arbeit machen und Blöcke berechnen? Ganz einfach: Blöcke zu berechnen ist der einzige Weg, um neue Bitcoins zu erhalten. Da es keine Zentralbank wie bei klassischen Währungen gibt, muss die Verteilung des Geldes anders geregelt werden. So hat man für das Erzeugen eines Blocks am Anfang der Entstehung 50 Bitcoins erhalten, inzwischen sind es 25. Die Belohnung für einen gültigen Block wird alle 210.000 Blöcke (ca. 4 Jahre) halbiert, bis irgendwann alle 21 Millionen Bitcoins erzeugt wurden. Auch das oben erwähnte Ziel wird regelmäßig angepasst, nämlich alle 2016 Blöcke, was nominell zwei Wochen entspricht: Es soll durchschnittlich ein Block alle zehn Minuten generiert werden. Nimmt die Rechenleistung des Netzwerks zu, nimmt dieses Intervall ab. Um das zu kompensieren, wird das Ziel nach unten angepasst, es wird also unwahrscheinlicher, eine Prüfsumme zu erzeugen, die kleiner als das Ziel ist. Synonym dazu kann man sagen, dass die Schwierigkeit steigt. So folgt die Verteilung der Bitcoins einem ziemlich exakten Zeitplan.

Neben der Belohnung für das Finden eines Blocks erhält man außerdem alle Gebühren, die die im Block enthaltenen Transaktionen mitbringen. Die Gebühr für eine Überweisung lässt sich im Client einstellen und auch auf null setzen. Da die Größe für einen Block jedoch auf ein Megabyte limitiert ist, werden ggf. nicht alle Transaktionen aufgenommen. Die Miner entscheiden, welche Transaktionen sie aufnehmen möchten und würden in diesem Fall Transaktionen mit möglichst hoher Gebühr bevorzugen. Während eine Transaktionsgebühr (bis auf einige Ausnahmen, die verhindern sollen, dass das Netzwerk mit Transaktionen geflutet wird) also prinzipiell optional ist, kann eine kostenlose Transaktion mehrere Stunden unbestätigt bleiben, da andere bevorzugt werden. Zur Zeit ist eine Gebühr von 0,0001 BTC ausreichend, damit eine Transaktion innerhalb von wenigen Blöcken bearbeitet wird.

Momentan ist das eine winzige Gebühr (bei aktuellem Wechselkurs wenige Cent pro Transaktion), in der Zukunft werden die Transaktionsgebühren für Miner jedoch immer wichtiger. Im Jahr 2022 werden gut 90% der insgesamt 21 Millionen bitcoins generiert worden sein, sodass die Transaktionsgebühren beim Finden eines Blocks einen immer höheren Anteil im Vergleich zur reinen Belohnung zum Finden eines Blocks ausmachen. Es gibt also auch nach dem Erzeugen aller Bitcoins eine Möglichkeit, mit dem Minen Geld zu verdienen. Ob das Transaktionsvolumen in den nächsten Jahren eine Größenordnung erreicht, um das stetige Halbieren des "Finderlohns" (block reward) auszugleichen, bleibt natürlich abzuwarten. Die möglichen Gewinnmargen werden auf jeden Fall immer geringer.