Wie funktioniert Bitcoin? – einfach erklärt

David Eggert
15/04/24
Um zu verstehen, wie Bitcoin wirklich funktioniert, schauen wir uns die einzelnen Technologien an, auf denen Bitcoin aufgebaut ist. Die wahre Innovation liegt nämlich in der Kombination aus dem, was schon Jahrzehnte vor Bitcoin bekannt war.
Das Wichtigste zusammengefasst:
So viel zum kurzen Überblick. Nun schauen wir uns diese Zusammenhänge & Funktionsweise etwas genauer an. Eine allgemeinere Einführung, was Bitcoin überhaupt ist, findest du im Artikel „Was ist Bitcoin?“.
Das Bitcoin-Netzwerk
Du kannst dir Bitcoin als eine riesige, globale Maschine vorstellen, die auf Tausenden Computern auf der ganzen Welt läuft. Diese Computer werden als Knoten oder auf Englisch „Nodes“ bezeichnet und tauschen sich untereinander über die gespeicherten Bitcoin-Daten aus. Wenn zum Beispiel jemand Bitcoins kauft und diese an jemand anderen sendet, wird das in der Bitcoin-Datenbank gespeichert.
Das Besondere an Bitcoin ist, dass sich alle Rechner untereinander über den Stand dieser Bitcoin-Datenbank austauschen, ohne dass sie einen zentralen Server, eine Bank oder eine ähnliche Zwischenstelle benötigen. Man sagt zum Bitcoin-Netzwerk daher auch Peer-to-Peer-Netzwerk.
Peer-to-peer (P2P)
Ein Peer heißt im Englischen so etwas wie Ebenbürtiger oder Gleichstehender. Das bedeutet, dass die Computer im Bitcoin-Netzwerk gleichgestellt sind und es keine Hierarchien gibt. Jeder teilnehmende Rechner lädt den Stand der Bitcoin-Datenbank herunter und gibt diesen dann an die anderen Teilnehmer (seine Peers) weiter.
Ein Netzwerk, das nach dem gleichen Prinzip funktioniert hat, war Napster. Hier konnte man Musik downloaden und hat diese beim Downloaden direkt wieder anderen zum Herunterladen angeboten. Somit konnte man Peer-to-Peer (P2P) Musik miteinander tauschen. Der Download an sich war zwar nicht illegal, aber das Anbieten zum Download für andere im Netzwerk (Weiterverbreiten) stellte eine Urheberrechtsverletzung dar. Daher wurden diese Tauschbörsen verboten.
Peer-to-Peer-Systeme haben zwar den großen Vorteil, dass sich die Daten gut im Netzwerk verbreiten, da es viele Teilnehmer gibt. Wenn sich aber alle Computer immer mit allen anderen austauschen, ist das natürlich wesentlich ineffizienter als wenn alle die Informationen von einer zentralen Stelle wie z.B. einem Server erhalten.
Dezentralität
Da Bitcoin auf keinem einzelnen Server läuft oder von einem einzelnen Unternehmen betrieben wird, gibt es auch keinen zentralen Angriffspunkt – das gesamte Netzwerk gehört zu Bitcoin. Man sagt daher auch, dass Bitcoin dezentral ist und ähnlich dem Internet, auch nicht mehr abgeschaltet werden kann.

Abbildung 1: Wenn ein Netzwerk zentralisiert ist (linkes Bild) werden die Daten von einem Server an alle anderen Rechner verteilt. Bei einem dezentralen Netzwerk (rechtes Bild) sind alle Rechner gleichwertig und über andere Teilnehmer miteinander (peer-to-peer) verbunden.
Software
Bitcoin ist Programmcode, der auf einem Computer installiert werden kann und in dem die Regeln von Bitcoin festgehalten werden. Der Code ist Open-Source, kann also von allen Nutzern komplett eingesehen werden. Die Regeln von Bitcoin werden auch als Bitcoin-Protokoll bezeichnet. Es gibt unterschiedliche Protokolle bei Bitcoin z.B. für das Bitcoin-Mining, was wir uns aber später noch anschauen werden.
Wenn Computer bestimmten Regeln durch Programmcode folgen, um Daten miteinander auszutauschen, nennt man das Protokoll. Du hast sicherlich schon mal das HTTP im Webbrowser in der Adressleiste gesehen. HTTP (Hypertext Transfer Protocol) ist ebenfalls ein Protokoll und regelt die Übertragung der Daten, wenn du im Internet surfst.
Es gibt verschiedene Software, um an Bitcoin teilnehmen zu können. Die bekannteste ist Bitcoin Core. Damit wählt sich der Computer in das Bitcoin-Netzwerk ein und wird dann selbst als ein Knotenpunkt (Node) Teil des Netzwerks. Außerdem hat man Zugriff auf die gesamte Bitcoin-Datenbank.
Netzwerkteilnehmer
Aktuell gehören zum Bitcoin-Netzwerk über. 50.000 Nodes, von denen fast 14 % in Deutschland zu finden sind.[2]
Die Knoten (Nodes) im Bitcoin-Netzwerk können verschiedene Funktionen übernehmen. Einige sorgen nur dafür, dass die Daten auch gut an alle verteilt werden und wieder andere fügen kontinuierliche neue Daten hinzu.
Die wichtigsten dieser Nodes kann man grob folgendermaßen einteilen:

Abbildung 2: Die unterschiedliche Nodes im Bitcoin-Netzwerk bestehen aus Bitcoin-Minern, die sich entweder in einem Pool zusammenfinden oder einzeln minen, den Full Nodes, die die gesamte Blockchain speichern und Lightweight Nodes, die nur Transaktionen prüfen.
Fassen wir das Bitcoin-Netzwerk zusammen:
Doch wie stellt man sicher, dass die Zigtausend Teilnehmer im Bitcoin-Netzwerk immer die aktuelle Version der Bitcoin-Daten haben? Die Lösung dazu schauen wir uns jetzt schrittweise an.
Datenspeicherung in Bitcoin-Blöcken
Jedes Mal, wenn jemand Bitcoins verschickt, wird diese Transaktion gespeichert. Beim Austausch im Bitcoin-Netzwerk entstehen somit eine Menge an Daten. Aktuell sind das über 500 Gigabyte.[3] Wenn man davon ausgeht, dass ein gewöhnliches Selfie ca. 5 Megabyte hat, wären das weit über 100.000 Bilder.
Um diese riesige Menge an Daten möglichst effizient im Bitcoin-Netzwerk zu verwalten, gibt es ein paar Besonderheiten:
Wenn neue Daten bei Bitcoin entstehen, werden diese zu den vorhandenen Daten hinzugefügt und dann im Netzwerk verteilt. Um die großen Datenmengen gut unter den zahlreichen Bitcoin-Knoten zu synchronisieren, teilt man die Daten einfach in kleinere Teile. Diese geteilten Daten werden als Blöcke bezeichnet und haben eine Größe von etwa einem Megabyte.
Mithilfe der Einteilung in Blöcken können wir die gesamten Bitcoin-Daten Schritt-für-Schritt mit allen Teilnehmern synchronisieren. Ist ein Block mit etwa einem Megabyte voll, werden die Daten im nächsten Block gespeichert.
Um genügend Zeit für die Synchronisation des Netzwerks zu haben, darf ein neuer Block nur alle 10 Minuten hinzugefügt werden. So wird garantiert, dass wirklich alle Bitcoin-Nodes genug Zeit hatten, um sich auf den aktuellen Stand zu bringen.
Die Daten in einem Bitcoin-Block werden getrennt in einem Header und Body gespeichert und bestehen aus:

Abbildung 3: Ein Bitcoin-Block besteht aus einem Block header und einem Block body. Zusätzlich zu den Bitcoin-Transaktionen werden dort noch viele weitere Informationen gespeichert, die für die Funtionsweise der Bitcoin Blockchain notwendig sind.
Wir haben jetzt die Daten in Blöcke aufgeteilt und können diese so einfacher im Bitcoin-Netzwerk synchronisieren. Allerdings ergeben sich daraus gleiche wieder neue Herausforderungen:
Wie das geregelt ist, schauen wir uns direkt im Anschluss an.
Verkettung zur Bitcoin-Blockchain
Um zu gewährleisten, dass Blöcke nicht nachträglich manipuliert werden können, kommt eine geniale Idee bei Bitcoin zum Einsatz:
Man verkettet die einzelnen Blöcke nachfolgend aneinander, sodass bei kleinsten Änderungen in einem älteren Block, die Kette aufreißen würde und für alle sichtbar ist, dass etwas manipuliert wurde.
Um diese Verkettung zu erreichen, werden zuerst durch sogenanntes Hashing ein digitaler Fingerabdruck der Bitcoin-Blöcke erstellt.
Hashing
Zuerst werden alle Daten aus einem Block zusammengefasst. Dieses Zusammenfassen wird mithilfe eines Hash (von den englischen Verben zerhacken oder zerteilen) realisiert. Dabei werden alle Daten zuerst in kleinere Einheiten geteilt und dann so wieder zusammengesetzt, dass der resultierende Hash folgende Eigenschaften hat:
Durch diese Eigenschaften wird ein Hash sozusagen zu einem Fingerabdruck der verwendeten Daten.

Muss man wissen
Es wird oft behauptet, dass Bitcoin bzw. die Bitcoin-Blockchain verschlüsselt sei. Das ist aber nicht korrekt. Die Daten sind immer transparent für alle einsehbar. Das Hashen ist keine Verschlüsselung, da der resultierende Hash nicht wieder in den Ausgangswert zurückgerechnet werden kann. Gerade dieses Zurückrechnen (Entschlüsseln) ist aber essenziell bei einer Verschlüsselung.
Es gibt dabei verschiedene Verfahren, einen Hash zu erstellen. Der Standard bei Bitcoin ist SHA-256. Dieser gehört zu den Secure Hash Algorithm (sichere Hash-Algorithmen) der 2. Generation und wurden bereits Jahre vor Bitcoin entwickelt.
Verkettung
Bei Bitcoin wird ein Block zu einem Hash umgewandelt und dann im nächsten Block (innerhalb des Block header) gespeichert. Der nächste Block wird dann ebenfalls wieder zu einem Hash umgewandelt. Der darauffolgende Block wird dann erneut zu einem Hash und so setzt sich dieses Muster immer weiter fort. Die Verbindung der Blöcke entsteht somit dadurch, dass der gesamte Inhalt eines vorherigen Blockes als Fingerabdruck (Hash) in darauffolgenden Block gespeichert wird.
Es entsteht eine aufeinanderfolgende Kette aus Blöcken. Daher kommt auch der Name „Blockchain“ oder auf Deutsch: Blockkette bzw. Kette aus Blöcken. Die Daten bei Bitcoin befinden sich also in einer Kette aus Datenblöcken – der Bitcoin-Blockchain.

Abbildung 4: Die Verkettung der einzelnen Blöcke wird durch den digitalen Fingerabdruck (Hash) des vorherigen Blocks gewährleistet, der immer im nachfolgenden Block gespeichert wird. So enthält Block Nummer 103 den Hash vom vorherigen Block 102 und die eigenen Daten. Der Fingerabdruck vom Block 103 wird dann Teil vom folgenden Block #104.
In dieser Bitcoin-Blockchain werden alle Daten, hauptsächlich die gesamten Bitcoin-Transaktionen, manipulationssicher gespeichert. Die schauen wir nachher noch genauer an, da sie viel interessanter sind, als man erwarten würde. Da die Transaktionen für alle offen einsehbar sind, sagt man zur Bitcoin-Blockchain auch öffentliches Kassenbuch oder auf Englisch „ledger“.
Wenn ich an einer Stelle im Kassenbuch einen älteren Block nachträglich verändern würde, ändert sich auch der jeweilige Fingerabdruck (Hash) dieses Blockes. Dadurch unterscheidet er sich von dem Hash, der im nachfolgenden Block eingetragen wurde und es fällt sofort auf, an welche Stelle die Kette nicht mehr zusammenpasst. Diese manipulierte Version des Bitcoin-Kassenbuchs würde dann vom Bitcoin-Netzwerk schnell erkannt und als ungültig erklärt werden.
Fassen wir kurz die Bitcoin-Blockchain zusammen:
Das Bitcoin-Mining
Um sicherzustellen, dass nicht jeder einfach einen neuen Block zur Bitcoin-Blockchain hinzufügt, gibt es Regeln, die alle befolgen müssen:
Die Rechner im Netzwerk können dabei verschiedene Rollen einnehmen und die, die bei diesem Puzzle mitmachen, nennen wir Bitcoin-Miner. Der Prozess an sich wird als Bitcoin-Mining bezeichnet.
Das Puzzle an sich ist einem echten Puzzle sehr ähnlich – du musst alle Teile aneinanderlegen und schauen, ob sie zusammenpassen. Du kannst also nicht einfach voraussagen, wie das Puzzle gelöst wird. Die Puzzleteile bestehen aus dem Fingerabdruck des vorherigen Blocks und den Daten wie z.B. den Bitcoin-Transaktionen des aktuellen Blocks.
Die Bitcoin-Miner versuchen, diese Daten so zusammenzusetzen, dass ein bestimmtes Muster entsteht. Sie hashen alles einmal, schauen, ob das Puzzle das gewünschte Muster hat. Wenn nicht, ändern sie ein kleines Detail an den Daten des aktuellen Blocks und hashen dann erneut. Dabei stehen alle Miner im Wettbewerb zueinander, da nur der erste mit der Lösung das Privileg erhält, die Bitcoin-Blockchain zu erweitern.
Indem man so lange probiert, bis das Puzzle gelöst ist, zeigt man, dass wirklich Arbeit in Form von Computerrechenleistung investiert wurde. Es gibt nämlich keine Möglichkeit, die Lösung zu berechnen – die Bitcoin-Miner müssen durch Probieren so lange Rechenleistung aufbringen, bis eine Lösung gefunden wurde. Dieser Nachweis wird daher auch als Proof-of-Work (auf Deutsch: Arbeitsnachweis) bezeichnet.
Der Proof-of-Work-Mechanismus (PoW) ist für Bitcoin von entscheidender Bedeutung. Er sorgt dafür, dass eine riesige Anzahl an Teilnehmern entscheiden kann, wer neue Daten in die Bitcoin-Blockchain schreiben darf.[4] Denn wer am meisten Arbeit in Form von Rechenleistung investiert, findet auch schneller die Lösung und kann so schneller neue Blöcke erstellen und verketten.
Somit ist die längste Kette auch der Beweis für die meiste Arbeit. Da diese Arbeit eine physikalische Größe ist, die niemand aus dem Nichts erschaffen werden kann, hat bis heute auch niemand geschafft, den PoW-Mechanismus zu überlisten.
Du fragst dich vielleicht: Warum sollte man als Bitcoin-Miner diesen Arbeitsnachweis erbringen wollen? Es kostet doch Rechenleistung und damit auch Strom, Zeit und Anschaffungskosten für die Hardware.
Der Grund ist einfach:
Wer das Puzzle zuerst löst, darf den neuen Block der Blockchain erstellen und wird mit Bitcoins belohnt. Aktuell sind das pro Block etwa 3 Bitcoins und die Chance das Puzzle zu lösen, hat man ca. alle 10 Minuten. Somit könnte man beim aktuellen Kurs von Bitcoin pro Stunde über eine Million Euro durch Mining verdienen.
Daher gibt es auch einen großen Wettbewerb darum, wer als Erster den neuesten Block erstellen darf. Diese hohe Belohnung ist der Anreiz, der die Leute dazu bringt, bei dem Wettbewerb mitzumachen und das Bitcoin-Netzwerk am Laufen zu halten.
Fassen wir das Bitcoin-Mining zusammen:
Bitcoins versenden
Wir haben bereits einen Blick darauf geworfen, wie Bitcoin funktioniert. Zur Funktionsweise von Bitcoin gehört allerdings auch die Frage zu beantworten, wie man die Bitcoins nun an andere versenden kann. Wir werden den gesamten Prozess in einer vereinfachten Form darstellen. Wenn du dennoch tiefer in die Materie eintauchen möchtest, empfehle ich dir den ausführlichen Artikel über Bitcoin-Transaktionen.
Quellen
2. Bitnodes Daten über die Anzahl der Nodes von Bitcoin, die im Netzwerk nach erreichbaren Nodes aber einer bestimmten Version von Bitcoin suchen und schätzen, wie viele es noch weiterhin gibt, die sich nicht erreichen.
3. Bitcoin-Blockchain Größe laut Statista.
4. Nakamoto, S. (2008). Bitcoin: A peer-to-peer electronic cash system.

Über den Autor
Hi, ich bin David und schreibe hier über meine eigenen Erfahrungen zum Thema Krypto, Blockchain und Bitcoin. Mehr erfährst du auf der „Über uns“-Seite.

