Crypto · Lektion 6 von 8
Parallelität, Concurrency und State Contention
⏱ ca. 16 Minuten
Viele Transaktionen gleichzeitig sind nur dann einfach, wenn sie nicht um denselben Zustand kämpfen
Parallelität bedeutet, mehrere Arbeiten tatsächlich gleichzeitig auszuführen. Concurrency beschreibt allgemeiner, dass mehrere Vorgänge überlappend Fortschritt machen können. State Contention entsteht, wenn mehrere Vorgänge auf denselben begrenzten Zustand zugreifen und sich dabei gegenseitig beeinflussen.
Unabhängige UTXOs
Wenn Transaktion A ausschließlich UTXO A verbraucht und Transaktion B ausschließlich UTXO B, besteht zwischen diesen Inputs keine direkte Ausgabekollision. Das schafft eine klare Grundlage für parallele Verarbeitung.
Der gemeinsame UTXO als Engpass
Hält eine Anwendung ihren gesamten Zustand in genau einem UTXO, können nicht beliebig viele Nutzer diesen Output gleichzeitig konsumieren. Nur eine gültige Transition kann den konkreten Output ausgeben. Die anderen Transaktionen müssen mit dem neu entstandenen Zustand erneut gebaut oder anders koordiniert werden.
Typische eUTXO-Muster
- State Sharding: Zustand auf mehrere unabhängige Outputs verteilen
- Per-User-State: nutzerspezifische Zustände getrennt halten
- Batching: viele Nutzerabsichten gesammelt in einer effizienten Zustandsänderung abwickeln
- Read-only References: gemeinsam benötigte Informationen lesen, ohne sie für jeden Leser zu konsumieren, sofern das Protokoll solche Mechanismen unterstützt
Account Model und Parallelisierung
Auch im Account Model können zwei Transaktionen unabhängig sein, etwa wenn sie vollständig verschiedene Konten oder Speicherbereiche verwenden. Die Herausforderung besteht darin, Lese- und Schreibmengen korrekt zu erkennen und eine Reihenfolge beizubehalten, wenn Abhängigkeiten bestehen. Moderne Ausführungsmaschinen können dafür unterschiedliche Techniken einsetzen.
Throughput ist nicht dasselbe wie Parallelität
Eine Architektur kann viele unabhängige Operationen parallel behandeln und trotzdem durch Blockgröße, Netzwerkbandbreite oder Validierungsbudget begrenzt sein. Umgekehrt kann ein System hohen Durchsatz durch Batching oder spezialisierte Hardware erreichen, ohne dass jede einzelne Zustandsoperation unabhängig ist.
Die richtige Diagnose
Frage bei einer Skalierungsbehauptung immer: Welche Zustandsobjekte werden gelesen? Welche werden geschrieben oder konsumiert? Teilen viele Nutzer denselben Hotspot? Welche Koordination ist erforderlich?
Parallelisierung ist keine Eigenschaft eines Logos. Sie ist eine Eigenschaft konkreter Abhängigkeiten zwischen konkreten Zustandszugriffen.
📝 Aufgaben
Praxisaufgabe: Abhängigkeiten markieren
- Zeichne vier Transaktionen A, B, C und D.
- Lass A UTXO 1, B UTXO 2 und C ebenfalls UTXO 1 verbrauchen.
- Lass D nur einen unabhängigen Account-Speicherbereich verändern.
- Markiere, welche Vorgänge konfliktfrei parallel erscheinen und wo Contention entsteht.
- Entwirf eine Sharding- oder Batching-Idee für den gemeinsamen Zustands-Hotspot.
Mini-Schritt: Prüfe bei der nächsten TPS-Behauptung zuerst, ob sie unabhängige Transaktionen oder Zugriff auf denselben Zustand meint.
❓ Quiz · 4 Fragen
Mehrere Antworten können richtig sein. Für den Kursabschluss brauchst du insgesamt mindestens 80 %.
Melde dich an, um das Quiz zu machen und Belohnungen zu sammeln.