01 · Von null anfangen
Wie führen wir eine Aufzeichnung, wer wem gezahlt hat – ohne dass eine Organisation sie verwaltet?
Emma möchte Liam 30 USD schicken.
Wenn wir über eine Bank zahlen, prüft die Bank die Zahlung und aktualisiert ihre Aufzeichnung.
Muss aber eine Organisation diese Aufzeichnung behalten und verwalten?
Jede Zahlung verändert die Aufzeichnung
Angenommen, Emma hat 50 USD und schickt Liam 30 USD.
Nach der Zahlung sollte die Aufzeichnung zeigen, dass Emma 20 USD übrig hat und Liam 30 USD mehr hat.
Vor der Zahlung
- Emma
- 50 USD
- Liam
- 0 USD
Nach der Zahlung
- Emma
- 20 USD
- Liam
- 30 USD
Das zählt, weil wir beim nächsten Mal, wenn Emma zahlen möchte, wissen müssen, wovon sie startet. Wenn die Aufzeichnung falsch ist, können wir nicht wissen, wie viel sie wirklich ausgeben kann.
So eine Aktion nennt man eine Transaktion.
Wenn eine Organisation die Aufzeichnung verwaltet, aktualisiert sie sie auch
Wenn Emma und Liam eine Bank nutzen, prüft die Bank, dass Emma genug Geld hat, und aktualisiert die Aufzeichnung.
Emma: 50 → 20 Liam: 0 → 30
Wenn sich alle auf dieselbe Organisation verlassen, ist klar, welche Aufzeichnung als richtig gilt.
Das ist nicht automatisch ein Problem. Es ist einfach ein Weg, die Information zu verwalten.
Ohne eine Organisation können viele Computer auf der Welt Kopien der Aufzeichnung behalten
Statt dass eine Organisation die Aufzeichnung behält, können unabhängige Computer an verschiedenen Orten jeweils ihre eigene Kopie behalten.
Jeder Computer kann behalten, was er schon weiß, und Zahlungsanfragen, von denen er hört, selbst prüfen.
Wenn ein Computer nur seine eigene Kopie ändert, ändert das die anderen nicht.
Eine Kopie zu ändern macht die Änderung nicht wahr.
Wenn jemand zahlen möchte, geht die Anfrage durch das Netzwerk
Wenn Emma Liam 30 USD schicken möchte, wird die Zahlungsanfrage an andere Computer im Netzwerk geschickt.
Diese Computer geben die Anfrage weiter, sodass mehr Computer davon hören und sie prüfen können.
Jeder Computer kann ansehen, was schon in seiner Kopie steht, und eine einfache Frage stellen:
Hat Emma genug Geld für diese Zahlung?
Wenn ja, kann die Anfrage diese Prüfung bestehen. Wenn nein, wird sie abgelehnt.
Ein Computer, der Information aus dem Netzwerk empfängt, eine Kopie behält und sie gegen die Regeln prüft, heißt Node.
Das Problem: Nicht alle hören jede Zahlung zur selben Zeit
Information bewegt sich von Computer zu Computer durch das Netzwerk, also braucht sie Zeit, um anzukommen.
Angenommen, Emma hat 50 USD und versucht fast gleichzeitig, Liam 30 USD und Olivia 30 USD zu schicken. Für beide Zahlungen zusammen hat sie nicht genug Geld.
Ein Computer hört vielleicht zuerst von der Zahlung an Liam. Auf diesem Computer besteht Liams Zahlung die Prüfung, Emma bleiben 20 USD, also wird Olivias Anfrage abgelehnt.
Ein anderer Computer hört vielleicht zuerst von Olivia und kommt zum gegenteiligen Ergebnis.
Dieselbe Ausgangsaufzeichnung
- Emma
- 50
- Liam
- 0
- Olivia
- 0
Computer 1 hat zuerst von Liam gehört
- Emma
- 50
- Liam
- 0
- Olivia
- 0
- Emma → Liam 30Besteht die Prüfung
- Emma → Olivia 30Abgelehnt – nur 20 bleiben
Lokales Ergebnis
- Emma
- 20
- Liam
- 30
- Olivia
- 0
Computer 2 hat zuerst von Olivia gehört
- Emma
- 50
- Liam
- 0
- Olivia
- 0
- Emma → Olivia 30Besteht die Prüfung
- Emma → Liam 30Abgelehnt – nur 20 bleiben
Lokales Ergebnis
- Emma
- 20
- Liam
- 0
- Olivia
- 30
Dieselbe Ausgangsaufzeichnung. Dieselbe Prüfung. Andere Ankunftsreihenfolge. Anderes Ergebnis.
Vertiefung nach Wahl
Eine echte Bank behält natürlich nicht alle Information auf einem physischen Computer. Die Bank nutzt viele Systeme, Server und Sicherungen.
Wenn wir sagen „eine Organisation verwaltet die Aufzeichnung“, meinen wir, dass eine Organisation die Autorität hat zu entscheiden, welche Aufzeichnung die gültige ist.
Und in einem dezentralen Netzwerk stimmen viele Computer nicht einfach per Kopfzahl über die Wahrheit ab. Eine Person kann viele Computer betreiben oder viele Identitäten erzeugen.
Also brauchen wir mehr als „die Mehrheit hat das gesagt“.