05 · Kaspa
Wie geht Kaspa mit Blöcken um, die parallel erzeugt werden?
Kaspa nutzt Proof of Work.
Miner suchen nach Blöcken, so wie in anderen Proof-of-Work-Netzwerken.
Information braucht aber weiterhin Zeit, um zwischen Computern auf der Welt zu reisen.
Ein Miner kann einen neuen Block finden, und bevor ein anderer Miner davon hört, kann dieser zweite Miner auch einen Block finden, der auf derselben früheren Historie aufbaut.
Jetzt gibt es zwei gültige Blöcke parallel.
Kaspa wurde entworfen, mit dieser Lage anders umzugehen als eine traditionelle Blockchain mit einer Kette.
Auf einer einzelnen Kette erzeugen zwei Blöcke zwei Zweige
In einer traditionellen Blockchain macht jeder Block von einem vorherigen Block weiter.
Wenn zwei Blöcke von derselben früheren Historie gefunden werden, erscheinen zwei Zweige.
Bei Bitcoin können beide Zweige für kurze Zeit gültig sein.
Wenn mehr Arbeit hinzukommt, folgt das Netzwerk dem gültigen Zweig mit mehr angesammeltem Proof of Work.
Der andere Zweig muss nicht gefälscht oder böswillig sein.
Er bleibt einfach nicht Teil der Hauptkette.
Kaspa kann beide Blöcke verbunden halten
Bei Kaspa kann ein neuer Block auf mehr als einen früheren Block verweisen.
Das heißt, ein späterer Block kann sich mit beiden Blöcken verbinden, die parallel erzeugt wurden.
Statt zwei gültige Blöcke sofort zu konkurrierenden Zweigen zu machen, von denen nur einer in der Haupthistorie bleibt, können beide verbunden bleiben.
Diese Struktur nennt man einen BlockDAG.
Zuerst erscheint ein früherer Block A, dann zwei unabhängig entdeckte Blöcke B und C, die jeweils auf A verweisen. Ein späterer Block D verweist sowohl auf B als auch auf C. Alle vier Blöcke bleiben verbunden. Pfeile zeigen von neueren Blöcken auf die früheren Blöcke, auf die sie verweisen.
Ein BlockDAG ist nicht eine einzelne Kette
Eine traditionelle Blockchain sieht meist aus wie eine Linie:
Block → Block → Block → Block
Ein BlockDAG kann auch parallele Blöcke enthalten, und spätere Blöcke können sich mit mehreren davon verbinden.
Die Historie sieht also eher wie ein Graph von Beziehungen zwischen Blöcken aus als wie eine gerade Linie.
Beide Blöcke zu behalten löst aber noch nicht alles.
Das Netzwerk braucht weiterhin eine vereinbarte Reihenfolge
Stell dir vor, ein Block enthält:
Emma → Liam: 30 KAS
und ein paralleler Block enthält:
Emma → Olivia: dieselben 30 KAS
Beide Blöcke können im BlockDAG bleiben.
Beide Zahlungen können aber nicht angenommen werden.
Die Nodes müssen weiterhin dieselbe Reihenfolge erreichen, damit klar ist, welche Transaktion zuerst geprüft wird.
GHOSTDAG gibt dem Netzwerk einen Weg, sich auf diese Reihenfolge zu einigen
Kaspa nutzt GHOSTDAG, um aus den Beziehungen im BlockDAG eine vereinbarte Ordnung abzuleiten.
Es schaut auf die Graphstruktur und das Proof of Work, das darin steckt.
Nodes, die dieselben Blöcke haben, können deshalb denselben Weg erreichen, sie zu ordnen.
Einfach gesagt:
BlockDAG hält Arbeit verbunden, die parallel passiert ist.
GHOSTDAG hilft zu entscheiden, wie diese verbundene Historie geordnet werden soll.
Nachdem die Reihenfolge feststeht, müssen Transaktionen weiterhin die normalen Prüfregeln bestehen.
GHOSTDAG macht eine ungültige Transaktion nicht gültig.
Was gewinnt Kaspa daraus?
Weil parallele Blöcke nicht sofort zu konkurrierenden Zweigen werden müssen, von denen nur einer in der Haupthistorie bleibt, können Blöcke häufiger erzeugt werden, während mehr der parallel geleisteten Arbeit nützlich bleibt.
Kaspa zielt aktuell auf 10 BPS – zehn Blöcke pro Sekunde.
Das ist im Schnitt ungefähr ein neuer Block alle 0.1 Sekunden.
Aber 10 BPS heißt nicht „10-mal mehr Transaktionen“
BPS sagt, wie viele Blöcke erzeugt werden.
Es sagt nicht, wie viele Transaktionen in jedem Block sind.
Verschiedene Transaktionen können verschieden viel Platz, Berechnung und Speicher verlangen.
Eine einfache Abbildung:
Die veröffentlichten Beispiele zur Transaktions-Mass von Kaspa zeigen, dass ein Block, der nur mit einer üblichen einfachen Transaktion mit einem Input und zwei Outputs gefüllt ist, etwa 245 Transaktionen fassen könnte.
Wenn alle zehn Blöcke in einer Sekunde vollständig nur mit dieser Art Transaktion gefüllt wären:
245 × 10 ≈ 2,450 Transaktionen pro Sekunde.
Das ist eine Abbildung der Beziehung zwischen BPS und TPS – kein Versprechen von 2,450 TPS in jeder Lage.
Bei Bitcoin könnte ein Block, der nur mit einfachen Transaktionen gefüllt ist, ungefähr 7,000 Transaktionen halten.
Bitcoin zielt aber im Schnitt auf ungefähr einen Block alle zehn Minuten.
Der Punkt ist, dass Netzwerke nicht allein über die Blockzahl oder allein über Transaktionen pro Block verglichen werden können.
Beides zählt – und auch die Anforderungen an die Computer, die das Netzwerk prüfen.
Mehr Blöcke heißen auch mehr Arbeit für Nodes
Wenn jede Sekunde mehr Blöcke erzeugt werden, müssen Nodes mehr Blöcke empfangen, mehr Blöcke prüfen, mehr Beziehungen verfolgen und synchron bleiben.
Die Frage ist also nicht nur:
„Wie schnell können Blöcke erzeugt werden?“
Dazu kommt auch:
„Wie viele Menschen können das Netzwerk noch selbst prüfen?“
Das führt direkt zu Dezentralisierung.
Was macht Kaspa also anders?
Miner nutzen weiterhin Proof of Work.
Blöcke müssen weiterhin geprüft werden.
Parallel erzeugte Blöcke können aber in einem BlockDAG verbunden bleiben.
GHOSTDAG gibt ihnen eine vereinbarte Reihenfolge.
Diese Struktur erlaubt Kaspa, mit einer hohen Blockrate zu arbeiten, ohne dass die ganze Welt von einem Block hören muss, bevor der nächste erzeugt werden kann.
