Zurück zum Anfang
Fünf Ideen. Fang an, wo du magst.

02 · Bitcoin

Wie lässt Bitcoin viele Computer sich einigen, was aufgezeichnet wird?

In einem Netzwerk ohne eine Organisation, die die Aufzeichnung verwaltet, können viele Computer eigene Kopien behalten und Zahlungsanfragen prüfen.

Anfragen reisen aber durch das Netzwerk und erreichen nicht jeden Computer im genau selben Moment. Wenn zwei Anfragen sich widersprechen, können verschiedene Computer vorübergehend zu verschiedenen Ergebnissen kommen.

Bitcoin nutzt eine Methode, mit der viele Computer am Ende dieselbe Aufzeichnung erreichen – ohne eine zentrale Organisation.

Jeder Computer kann eine Zahlung prüfen – wir müssen trotzdem entscheiden, was zur Aufzeichnung hinzukommt

Angenommen, Emma hat genug Geld für nur eine Zahlung.

Emma versucht, dasselbe Geld einmal zu nutzen, um Liam zu zahlen, und einmal, um Olivia zu zahlen.

Jeder Computer kann eine Anfrage selbst prüfen: Ist sie erlaubt, sind die Mittel noch verfügbar, und folgt sie den Regeln?

Wenn aber beide Anfragen dasselbe Geld nutzen, kann nur eine zur Aufzeichnung hinzugefügt werden.

Eine Transaktion zu prüfen reicht also nicht. Wir brauchen auch einen gemeinsamen Weg zu entscheiden, welche Transaktionen zur Aufzeichnung hinzugefügt werden – und in welcher Reihenfolge.

Transaktionen kommen in Blöcken in die Aufzeichnung

Eine Transaktion ist eine Anfrage, die Aufzeichnung zu ändern. Zum Beispiel: Emma schickt Liam 30 USD.

Bitcoin fügt nicht jede Transaktion einzeln zur Aufzeichnung hinzu. Mehrere Transaktionen werden zusammen gesammelt, zusammen mit Information, die sie mit dem verbindet, was schon aufgezeichnet wurde.

Dieses Paket nennt man einen Block.

Ein Block ist ein Paket, das das nächste Update der Aufzeichnung werden will.

Wenn aber kein Verwalter das nächste Update wählt, wer erzeugt es?

Miner versuchen, den nächsten Block zu erzeugen

Manche Teilnehmer betreiben Computer, die versuchen, den nächsten Block zu erzeugen. Man nennt sie Miner.

Jeder Miner bereitet einen möglichen Block vor und versucht wiederholt eine Berechnung, die damit verbunden ist.

Jeder Versuch erzeugt ein neues Ergebnis, und niemand kann im Voraus wissen, welcher Versuch die Vorgabe von Bitcoin erfüllt.

Ein Miner, der ein passendes Ergebnis findet, kann seinen Block im Netzwerk veröffentlichen.

Diese rechnerische Suche nennt man Proof of Work.

Mehr Rechenleistung heißt mehr Versuche, und das gibt eine größere Chance, ein passendes Ergebnis zu finden.

Das Ergebnis zu finden gibt dem Miner eine Chance, einen Block vorzuschlagen. Es gibt dem Miner nicht die Autorität, die Regeln zu ändern.

Nodes prüfen trotzdem jeden Block

Wenn ein Miner einen Block veröffentlicht, prüfen Nodes im Netzwerk ihn selbst.

Die Nodes prüfen, dass seine Transaktionen den Regeln folgen, dass schon ausgegebenes Geld nicht noch einmal ausgegeben wird und dass das Proof of Work gültig ist.

Wenn etwas ungültig ist, lehnen die Nodes den Block ab.

Es gibt also zwei verschiedene Rollen:

Miner versuchen, den nächsten Block zu erzeugen und vorzuschlagen.

Nodes prüfen, ob der Block angenommen werden kann.

Auch ein Miner mit sehr viel Rechenleistung kann eine ungültige Transaktion nicht gültig machen.

Jeder neue Block verbindet sich mit dem, was schon aufgezeichnet wurde

Ein neuer Block steht nicht allein.

Er enthält einen Verweis auf den Block davor. Der nächste Block verweist auf diesen, und so weiter.

Das erzeugt eine verbundene Folge von Blöcken.

Diese Folge nennt man eine Blockchain.

Einfach gesagt sagt jeder Block:

„Ich mache von hier weiter.“

Manchmal erscheinen fast gleichzeitig zwei gültige Fortsetzungen

Information braucht Zeit, um von Computer zu Computer durch das Netzwerk zu gehen.

Ein Miner kann einen Block finden und veröffentlichen.

Bevor ein anderer Miner davon hört, kann dieser Miner auch einen gültigen Block finden, der von demselben früheren Block weitergeht.

Für kurze Zeit gibt es zwei mögliche Fortsetzungen derselben Kette.

Beide Blöcke können gültig sein.

Diese vorübergehende Aufspaltung nennt man einen Fork.

Von welchem Zweig sollen die Nodes also weitermachen?

Nodes machen vom schwereren Zweig weiter

Jeder Block verlangt Proof of Work.

Wenn neue Blöcke weiter auf einem Zweig aufbauen, sammelt sich mehr Rechenarbeit hinter diesem Zweig an.

Unter gültigen Zweigen definiert Bitcoin die bevorzugte Kette als die mit mehr angesammeltem Proof of Work.

Du kannst dir das als den schwereren Zweig vorstellen.

„Schwerer“ heißt nicht unbedingt einfach mehr Blöcke. Es heißt, dass sich mehr Arbeit dahinter angesammelt hat.

Ein Block auf dem anderen Zweig war nicht unbedingt gefälscht oder ungültig. Er ist einfach nicht Teil der Hauptkette geblieben, von der das Netzwerk weitergemacht hat.

Eine orangefarbene Bitcoin-Kette spaltet sich kurz in zwei gültige Zweige. Ein Zweig sammelt mehr Proof of Work an und geht orange weiter. Der andere Block bleibt sichtbar, wird grau und rückt zur Seite. Der bevorzugte Zweig ergibt sich aus angesammelter Arbeit, nicht einfach aus der Zahl der Blöcke.

Ein gedanklicher Vergleich angesammelter Arbeit, keine Zählung von Blöcken.

Je mehr Arbeit sich ansammelt, desto schwerer wird es, die Vergangenheit zu ändern

Angenommen, Emmas Zahlung ist schon in einem Block auf der Kette, der das Netzwerk folgt.

Danach baut mehr Arbeit auf, und dann noch mehr.

Um diese Historie zu ersetzen, reicht es nicht, eine alte Aufzeichnung zu bearbeiten. Eine alternative Historie bräuchte genug Proof of Work, um die Historie zu überholen, der das Netzwerk schon folgt.

Je mehr Arbeit sich also nach einer Zahlung ansammelt, desto mehr wächst das Vertrauen in diese Zahlung im Allgemeinen.

Daher kommt auch die Idee der Bestätigungen.

Es gibt keine magische Zahl, die eine Zahlung zu 100% unmöglich umkehrbar macht. Vertrauen wächst nach und nach.

Was tut Bitcoin also?

Nodes prüfen Transaktionen und Blöcke selbst.

Miner konkurrieren über Proof of Work um die Chance, den nächsten Block vorzuschlagen.

Blöcke verbinden sich miteinander zu einer Blockchain.

Und wenn vorübergehend zwei gültige Fortsetzungen erscheinen, machen Nodes von dem Zweig mit mehr angesammelter Arbeit weiter.

So können viele Computer am Ende auf dieselbe Aufzeichnung zusteuern – ohne dass eine Organisation sie verwaltet.

Was, wenn das Netzwerk mehr tun soll, als aufzuzeichnen, wer wem gezahlt hat?

Bisher haben die Regeln Zahlungen geprüft und geholfen zu entscheiden, in welcher Reihenfolge sie aufgezeichnet werden.

Was aber, wenn wir auch im Voraus entscheiden könnten, was mit Geld passieren soll, wenn eine Bedingung erfüllt ist?

Zum Beispiel:

Menschen schicken Geld an ein Projekt. Wenn bis zu einem bestimmten Datum 10,000 USD zusammenkommen, geht das Geld an das Projekt. Wenn das Ziel nicht erreicht wird, geht das Geld an die Menschen zurück, die es geschickt haben.

Was, wenn Computer im Netzwerk diese Regel selbst ausführen könnten?

Weiter: Ethereum
Vertiefung nach Wahl

Ein Modell ausgabefähigen Werts

Die USD-Beträge sind ein Lehrbeispiel, keine Beschreibung davon, Dollar auf Bitcoin zu schicken. Intern führt Bitcoin keine Kontostände wie eine Bank: Eine Transaktion nutzt verfügbare Outputs aus früheren Transaktionen.

Wie wird die Erlaubnis geprüft?

Eine digitale Signatur lässt andere prüfen, dass eine Anfrage erlaubt ist, ohne den privaten Schlüssel offenzulegen.

Beide Zweige können gültig sein

Ein konkurrierender Block ist nicht unbedingt betrügerisch. Unter gültigen Zweigen hängt die Bevorzugung von angesammeltem Proof of Work ab, nicht von der rohen Blockzahl.

Bestätigungen bauen Vertrauen nach und nach auf

Keine feste Zahl von Bestätigungen macht eine Änderung der Historie mathematisch unmöglich. Vertrauen hängt auch von der Rechenleistung eines Angreifers und von Kommunikationsannahmen ab.

Quellen

Externe Quellen sind auf Englisch.