Zur Hauptseite  ..\..\..\                                                                       Zur Themenliste ..\..\                                                                Zur Bitcoin Übersicht  ..\ 


Warum gibt es Bitcoin, Was ist die Absicht
Der Euro als Beispiel einer schlechten Währung
Hartes Geld vs. Regierungsgeld
Blockchain: Einführung
Blockchain: Konsensmechanismus
Vorgänge im Bitcoinnetzwerk (1)
Vorgänge im Bitcoinnetzwerk (2)
Proof of Work und Transaktionen
Weitere Punkte zur Bitcoinmechanik

Bitcoin einfach erklärt

Miner, Full Nodes und Lightweight Nodes: Das Bitcoinnetzwerk (1)

Die Art der nun folgenden Beschreibungen soll ein Stück weit die Dynamik wiedergeben, die im Bitcoinnetzwerk herrscht.

11:30 Uhr: Peter, Bitcoinbenutzer

Es ist 11:30 Uhr. Peter hat auf seinem Smartphone ein Bitcoin Wallet installiert. Er ist damit einer von mehreren Millionen Lightweight Node Betreibern. Das ist ihm aber so nicht bewusst. Für Peter stellt es sich so dar: Er hat einen elektronischen Geldbeutel auf seinem Smartphone installiert, worin sich Bitcoins befinden.
Peter möchte von seinem Wallet 0,001 Bitcoin an eine andere Wallet überweisen. Dies gibt er in seiner Walletsoftware entsprechend ein, die daraufhin diese Anforderung an alle mit ihr verbundenen Full Nodes weiterleitet, die diese wiederum an ihre benachbarten Full Nodes weiterleiten, usw.
Auf diese Weise durchläuft Peters Anforderung grosse Teile des gesamten Bitcoinnetzwerkes.
Die nächsten Minuten passiert nichts, was für Peter wahrnehmbar wäre. Er wartet einfach ab.


11:30 Uhr: Alfred, Betreiber eines Full Nodes, kein Miner

Es ist 11:30 Uhr. Alfred ist einer von 10.000 Full Node Betreibern, und sein Computer ist ein gewöhnlicher PC. Albert beteiligt sich nicht am Lösen der Rechenaufgabe, denn die Rechenleistung seines PCs ist dafür viel zu klein. Die Rechenaufgabe des letzten Blocks, Nummer 621.204, wurde vor 5 Minuten, um 11:25 gelöst. Für den aktuellen Block, Nummer 621.205, existieren bereits einige  Transaktionsanforderungen, während die Rechenaufgabe noch immer nicht gelöst ist.
Ab und zu kommen von benachbarten Full Nodes weitere Transaktionsanforderungen herein, die von Bitcoin
Blockchain Benutzern aus aller Welt stammen (Lightweight Nodes), darunter auch die von Peter.
Alfreds Bitcoinsoftware
Um 11:33 wird von einem der Nodes, mit dem Alberts PC in Kontakt ist, ein Lösungsvorschlag übermittelt. Ob dieser Node selbst Miner ist, weiss Albert nicht. Sein Node könnte beispielsweise der 5. in einer Reihe innerhalb des Bitcoinnetzwerkes sein, der den Lösungsvorschlag übermittelt bekommt. Die Bitcoinsoftware auf seinem PC prüft in Bruchteilen von Sekunden, ob der Lösungsvorschlag tatsächlich die Rechenaufgabe löst. Er tut es. Plötzlich kommt ein weiterer Lösungsvorschlag von einem anderen Nachbarnode herein. Die Bitcoinsoftware stellt wieder in Sekundenbruchteilen fest, dass auch dieser Vorschlag die Rechenaufgabe löst. Daraufhin vergleicht sie die Zeitstempel der beiden übermittelten Vorschläge. Sie stellt fest, dass der zweite Lösungsvorschlag älter ist, diese Lösung also früher gefunden wurde. Alberts Bitcoinsoftware entscheidet sich für den zweiten Lösungsvorschlag, und kommuniziert diesen Vorschlag an alle benachbarten Nodes. Fast gleichzeitig kommen von den meisten Nachbarnodes Bestätigungen herein, die ebenfalls den 2. Vorschlag als Lösung anerkennen. Mit etwas Verzögerung kommen auch von den übrigen benachbarten Nodes Bestätigungen herein, die ebenfalls den 2. Vorschlag als Lösung anerkennen. Alberts Bitcoinsoftware wertet das alles aus, und kommt zu dem Schluss: Der 2. Lösungsvorschlag ist der anzuerkennende.
Alberts Bitcoinsoftware nimmt den 2. Lösungsvorschlag, und wartet ab, bis der fertig abgeschlossene Block 621205 übermittelt wird. Damit liegt aus Alberts Sicht folgender Zustand vor:
Nachdem Block 621.205 bei Alfreds Full Node eingetroffen ist, passiert folgendes:
Währenddessen kommen natürlich neue Transaktionsanforderungen herein, die auf Berechtigung geprüft werden, und ggfs. zum Transaktionspool hinzugefügt und an andere Nodes weitergeleitet werden.

11:30 Uhr: Bernd, Miner, der Pech haben wird

Es ist 11:30 Uhr. Bernd ist derjenige von einigen 100 Minern, der in wenigen Minuten die Rechenaufgabe des Blocks 621.205 als Zweiter lösen wird. Sein Computer ist in Wirklichkeit ein kleines Rechenzentrum mit einigen Dutzend Prozessoren (eigentlich ASICs, aber das spielt keine Rolle), die mit Hochdruck an der derzeitigen Rechenaufgabe arbeiten.

Ab und zu kommen von benachbarten Full Nodes neue Transaktionsanforderungen herein, die von Bitcoin Benutzern aus aller Welt stammen (Lightweight Nodes), darunter auch die von Peter.
Bernds Bitcoinsoftware tut dasselbe wie Alfreds, sie
Um 11:34 findet Bernds Rechenzentrum eine Lösung, und schickt sie mit Zeitstempel umgehend an alle benachbarten Nodes, die die Lösung überprüfen, und sie an ihre nächsten Nachbarn weiterschicken. Sofort kommen die ersten Meldungen herein, die den Lösungsvorschlag anerkennen. Nach einer Weile kommen weitere, deutlich mehr Meldungen herein, die eine andere Lösung vorschlagen. Dieser Lösungsvorschlag erweist sich ebenfalls als gültig, doch sein Zeitstempel verrät, dass er 14 Sekunden älter ist als Bernds Lösungsvorschlag. Bernds Bitcoinsoftware verwirft den eigenen Lösungsvorschlag, nimmt den 2. Lösungsvorschlag an, und wartet ab, bis der fertig abgeschlossene Block 621.205 von demjenigen Miner übermittelt werden wird, der mehr Glück hatte und die Rechenaufgabe schneller gelöst hat. Damit liegt aus Bernds Sicht folgender Zustand vor: 
Nachdem Block 621.205 bei Bernds Full Node eingetroffen ist, passiert folgendes:
Währenddessen kommen natürlich neue Transaktionsanforderungen herein, die auf Berechtigung geprüft werden, und ggfs. zum Transaktionspool hinzugefügt und an andere Nodes weitergeleitet werden.

Weiter
Datenschutzhinweise
Mai 2020