In dieser Sektion wollen wir versuchen zu verstehen, wie eine Blockchain funktioniert und was "Mining", das in diesem Zusammenhang oft als Begriff fällt, eigentlich bedeutet. Ich werde auch in diesem Absatz modellhaft Sprachbilder verwenden, die dem Verständnis helfen sollen. Weitere technische Details, die mit diesen Vergleichen verbunden sind, erfährst du in Absätzen, die kursiv geschrieben sind. Wenn du also nur ein grundlegendes Verständnis erwerben möchtest, kannst du diese überspringen.
Blockchains und Mining
Jetzt, da wir die wichtigsten Begriffe (wie Public und Private Key aus der letzten Sektion) eingeführt haben, ist es an der Zeit, die hinter Bitcoin liegende Technologie - die Blockchain - zu erklären. Wir wollen für die Beschreibung jedoch keinesfalls technische Details erörtern, sondern eine möglichst bildliche und leicht verständliche Darstellung verwenden.
Bei Bitcoin handelt es sich nicht nur um digitale Währung (besser sollte hier der Begriff "Geld" verwendet werden), sondern auch um ein globales Netzwerk. Alle Transaktionen, die innerhalb eines bestimmten Zeitraums in diesem Netzwerk getätigt werden (in der Einheit Bitcoin (BTC) statt EURO), werden zunächst einem Pool gesammelt.
An dieser Stelle möchte ich erwähnen, dass es für "Bitcoin" je nach Verwendungszweck zwei unterschiedliche Schreibweisen gibt. "Bitcoin" (mit großem B) wird verwendet, wenn das Netzwerk als solches gemeint ist, während "bitcoin" (mit kleinem "b") genutzt wird, wenn die in dem Netzwerk verwendete Einheit gemeint ist. Ich verwende der Einfachheit halber für beide Zwecke dieselbe Schreibweise.
Stelle dir also vor, der Pool ist eine Art Briefkasten, in dem sich Transaktionaufträge wie die klassischen "Überweisungsträger" sammeln (vielleicht gibt oder gab es ja bei deiner Hausbank noch einen Briefkasten dafür).
Diese Analoga in der realen Welt enthalten die Kontonummer des Empfängers den Betrag und eine Signatur des Senders (gemeint ist die Unterschrift des Konotoinhabers).
Bitcoin verwendet ähnliche Elemente, die genauso funktionieren aber etwas anders heißen. Du hast diese Begriffe im letzten Abschnitt kennengelernt, der Vollständigkeit halber werden sie aber hier noch einmal aufgeführt:
Kontonummer des Empfängers -> Public Address des Empfängers
Betrag -> Betrag
Unterschrift des Kontoinhabers -> Signatur
(die Signatur ist ein mathematischer Beweis dafür, dass jemand den Private Key besitzt, ohne diesen Key jedoch zu offenbaren.)
Darüber hinaus verwendet Bitcoin (und die meisten anderen Blockchains) noch die Transkationsgebühr (in Abb. 1 dargestellt als Betrag unterhalb des Pfeils).
Den Zweck dieser Gebühr, die eigentlich frei wählbar und nicht festgelegt ist, werde ich dir etwas später erläutern.
Nehmen wir zur Vereinfachung einmal an, in einem solchen Pool werden über Zeitraum von zehn Minuten sechs Transaktionen gesammelt.
Diese lauten wie folgt und seien voneinander unabhängig:
Als "Miner" werden Teilnehmer im Bitcoin-Netzwerk bezeichnet, die sich um die Bearbeitung dieser Transaktionen kümmern. Sie prüfen z.B. ob es den Empfänger gibt, ob der Sender über ausreichend Guthaben verfügt, seine Signatur korrekt ist, und sie führen, wenn alle Bedingungen erfüllt sind, die Transaktion durch, indem sie, bildlich gesprochen, soviele Überweisungsträger (Transaktionen) auf einen Zettel kleben (bündeln) wie auf diesen passen.
Diesen Zettel (Block) heften sie dann chronologisch in einen Ordner (die Blockchain). Die Blockchain ist damit nichts anderes als ein fortlaufendes digitales Kassenbuch. Zuletzt übernehmen die anderen Miner diese Änderungen in ihren Ordnern, welche dann eine exakte Kopie dieses Kassenbuchs verfügen.
Wenn die Mehrheit der Miner diese Änderung übernehmen, wird von "Konsensus finden" gesprochen.
Dieser anschauliche Vorgang wiederholt sich bei Bitcoin etwa alle zehn Minuten (Blockzeit) und erfolgt jedoch nach strengen Regeln, die wir versuchen wollen, nun etwas detailierter, aber immer noch anschaulich zu besprechen:
Nehmen wir einmal an, die Größe des Blatts, auf dem die Überweisungsträger geklebt und dann abgeheftet werden, beträgt zwei - dies ist ein bildliches Beispiel für die Blockgröße.
(Die Blockgröße bei Bitcoin beträgt 1 MB und entspricht etwa 4000 Transaktionen. Wenn zu einem Zeitpunkt eine erhebliche Menge Transaktionen eintreffen, (so wie z.B. viel mehr Pakete um Weihnachten verschickt werden), verweilen die nicht bearbeiteten Transaktionen bis zu ihrer Bearbeitung in dem Pool. Eine Bearbeitung kann sich in solchen Fällen über Tage erstrecken - ähnlich wie bei der verspäteten Paketzustellung an Weihnachten. Ferner beobachtet man bei einem hohen Transaktionsaufkommen eine Erhöhung der mittleren Transaktionsgebühr, was das Netzwerk vor weiteren Auslastungen schützt.)
Miner A wählt für seinen Block (sein Papier) die Transaktionen von Carmen an Dori und die von Alice an Bob, weil er dadurch die meisten Transaktionsgebühren verdienen kann. Miner B wählt die Transaktionen von Bob an Carmen und die von Dori an Emil. Miner C bearbeitet die verbleibenden.
Die Miner A, B und C müssen nun, um das Recht zu haben, ihr Blatt als erstes in den Ordner abheften zu dürfen, ein mathematisches Rätsel lösen (dieser Prozess ist das Mining oder "Schürfen").
Die Lösung dieses Rätsels ist leicht zu überprüfen, aber schwer zu finden. Dies ist vergleichbar mit "Proben", die du in der Schule am Ende einer Matheaufgabe gemacht hast, um zu prüfen, ob dein Ergebnis Sinn macht. Die Probe fiel dir dabei stets leichter als das Lösen der Aufgabe selbst, oder nicht?
Nun sind aber die Aufgaben, die die Miner lösen müssen, so schwierig, dass die Miner (gemeint sind hier natürlich deren spezielle Computer bzw. Rechenzentren) statt zu rechnnen, versuchen, die Lösung innerhalb eines festgelegten Zeitraums
(der sogenannten Blockzeit, welche bei Bitcoin bei etwa 10 Minuten liegt. Das bedeutet, alle 10 min findet ein Miner einen Block mit bis zu 4000 Transaktionen. Auf diese Weise ergibt sich, dass Bitcoin nur etwa 6-7 Transaktionen pro Sekunde bearbeiten kann)
zu erraten. Sie geben also einen Tipp ab, und diesem Tipp folgt weiterer Rateversuch, wenn die Probe keinen Sinn macht. Die Geschwindigkeit, mit der die Miner einen Lösungsvorschlag machen, wird als "Hashrate" bezeichnet.
(die gesamte Hashrate im Bitcoin-Netzwerk ist so riesig, dass es sich um mehrere Millionen von Millarden Rateversuche pro Sekunde handelt. Du kannst die Hashrate jederzeit hier nachsehen: https://www.blockchain.com/en/stats)
Die Hashrate hängt von verschiedenen Faktoren ab. Uns reicht jedoch zu wissen, dass unterschiedliche Miner über verschiedene Hashrates verfügen und damit in diesem Zeitraum unterschiedlich viele Rateversuche abgeben. Natürlich hat derjenige Miner mit den meisten Rateversuchen eine höhere Chance das Rätsel zuerst zuerst zu lösen. Daher wetteifern die Miner zur Kosten-Nutzen-Maximimierung um die beste Hardware bei günstigstem Stromverbrauch.
Mehr Informationen zu diesem Rätsel möchten wir in der nächsten Sektion besprechen.
Derjenige Miner, dem es zuerst gelingt, dieses Rätsel zu lösen, teilt seine Lösung allen anderen Minern mit, die nun das Ergebnis überprüfen und nicht mehr weiterraten (es macht für sie ja keinen Sinn mehr, denn die Lösung des Rätsels ist ja vermeintlich bereits gefunden).
Nehmen wir an, Miner B gelingt dies zuerst.
Miner A und C prüfen nun die Lösung und, wenn beide zustimmen
(im Bitcoin-Netzwerk müssen mindestens 51% der Miner zustimmen), dass die vorgeschlagene Lösung stimmt, ist Konsensus (Übereinstimmung, Zustimmung) darüber gefunden, was innerhalb dieser Zeit als passiert gilt.
D.h. Obwohl die anderen Transaktionen, die nicht in dem Block von Miner B liegen, innerhalb desselben Zeitraums eingereicht wurden, betrachtet sie das Netzwerk als "verspätet".
(Transaktionen, denen also Spesen in Form von erhöhten Transaktionsgebühren beigefügt werden, werden folglich mit größerer Wahrscheinlichkeit schneller bearbeitet, da die Miner diese immer zuerst auswählen)
Die anderen Miner tragen nun diese Seite in ihrem Ordner ein (sie übernehmen den Block) und die Blockchain (deutsch: Blockkette) wird um einen Block verlängert. Gleichzeitig kehren die Transaktionsaufträge der Miner A und C wieder in die Postbox (Mempool) zurück. Dort warten sie zusammen mit den innerhalb der Blockzeit eintroffenen, neuen Transaktionsaufträgen erneut auf Bearbeitung.
Jetzt müssen wir unsere bildliche Darstellung noch um das Element des "Blockhashs" erweitern.
Dies ist eine zusätzliche Sicherheitsstufe, die verhindert, dass der Konsensus nicht im Nachhinein verändert werden kann.
Eine Seitenzahl ist ein anschauliches, aber primitives Beispiel für einen Blockhash. Eine Seitenzahl ermöglicht es dir sehr leicht festzustellen, ob zum Beispiel jemand versucht, im Nachhinein den Inhalt eines Buchs durch Entfernen von Inhalten zu manipulieren.
Die Seitenzahl der vorigen und der nächsten Seite erlaubt dir, das Fehlen von Information schnell zu erkennen. Doch wie kannst du dir sicher sein, dass der Inhalt einer Seite selbst nicht nachträglich manipuliert wurde?
Ein Blockhash entspricht also einer Seitenzahl, die zusätzlich noch Auskunft darüber gibt, welche Transaktionen auf dieser Seite stattgefunden haben.
Ähnlich wie die Seitenzahlen in einem Buch werden diese Blockhashes miteinander verbunden und der Blockhash stellt sicher, dass die Einzigartigkeit jeder Seite gesichert ist.
(ein nachträgliches Manipulieren eines Blocks würde einen anderen (einzigartigen) Hash ergeben, der nicht mit den anderen Blockhashes sinnvoll verbunden werden kann).
Wollte man eine Änderung zu einem älteren Zeitpunkt in der Blockchain vornehmen, muss nicht nur die Arbeit, die in diesen Block gesteckt wurde (in Form der Lösung des Rätsels) neu aufgebracht werden, sondern durch die Verkettung der Blockhashes muss dies auch für jeden weiteren Block vorgenommen werden.
Ab einen gewissen Zeitpunkt ist der Aufwand viel größer als der Nutzen und deshalb gilt die Blockchain auch als praktisch unveränderbar. Wenn also wieder einmal berichtet wird, dass Bitcoin "gehackt" wurde, wurde nicht die Blockchain selbst gehackt, sondern jemand ist über einen Hack des Endgerät oder der Software eines Nutzers (z.B. eines Laptops, einer App, oder Smartphones) an den Private Key eines Nutzers gelangt und hat diesen benutzt, um die damit verbundenen Coins an eine andere Public Address zu senden.
Das bedeutet jedoch nicht, dass eine Blockchain unangreifbar ist. Wir wollen diese und weitere Aspekte in einer anderen Sektion besprechen.
Doch nun zurück zu Miner B, dem es gelungen ist, den Block zuerst zu finden: Dafür, dass es nun Miner B gelungen ist, den Block zu finden, erhält Miner B nicht nur alle Transaktionsgebühren in diesem Block, sondern auch noch eine Belohnung - den Blockreward.
Der Blockreward ist eine bestimmte Menge an BTC. Diese Belohnung halbiert sich bei Bitcoin etwa alle 210.000 Blöcke (oder etwa alle 4 Jahre mit angefangen 50 Bitcoin pro Block). Daraus folgt (da ab einem bestimmten Zeitpunkt keine Teilung mehr möglich ist), dass es, im Gegensatz zu unendlich druckbarem Papiergeld, nur maximal etwa 21.000.000 Bitcoins geben wird.
Dadurch, dass also die Belohnung der Miner immer kleiner wird, die Energiekosten jedoch mindestens gleich bleiben oder steigen (steigender Energiepreis vs. effizientere Hardware bzw. mehr Netzwerkteilnehmer), muss der Preis eines Bitcoins steigen, damit sich der Prozess des Minings (und damit das Sichern bzw. Aufrecht erhalten des Netzwerks) auszahlt.
Auf "nerdisch" sieht das dann so aus:
Der exakte Wert für diese Formel ist laut : https://goodcalculators.com/summation-calculator/
übrigens 20999999.99755528.