© LuckyStep/Shutterstock.com
Konsensansätze für Blockchains

Auf der Suche nach Einigkeit


Die Hypeenergie beim Thema Blockchain ist gewaltig. Es ist auf jeden Fall zu empfehlen, sich vor dem Einsatz dieses Technologieansatzes sehr genau zu überlegen, ob man eine Lösung auf der Suche nach einem Problem vor sich hat oder andersherum. Dabei können eine Reihe von Kriterien helfen, zu beurteilen, ob ein Distributed Ledger für einen vorliegenden Anwendungsfall tatsächlich angemessen ist. Eines der wichtigsten dieser Kriterien ist der Aspekt der Verteilung auf eine Vielzahl (oder zumindest eine Zahl > 1) von Rechnern (Knoten) und die Notwendigkeit, dass diese Knoten sich auf eine einzige konsistente Wahrheit einigen.

Dieses Problem ist nicht neu. Ein einziges Bit, das an mehr als einer Stelle gespeichert wird, kann bereits gewaltige Kopfschmerzen verursachen, wenn man sich sicher sein will, dass alle Beteiligten sich zu jedem Zeitpunkt darüber einig sind, ob es aktuell den Wert 1 oder 0 hat. Für eine redundante Speicherung von Daten gibt es eine Vielzahl von Gründen wie z. B. Ausfallsicherheit, Performanceoptimierung oder Offlineszenarien. Daher haben sich in der Informatik sowohl die Forschungsbereiche „verteilte Systeme“ als auch „Datenbanken“ schon seit vielen Jahrzehnten mit der Thematik auseinandergesetzt und Lösungsverfahren etabliert.

Klassische Konsensverfahren

Am bekanntesten sind wahrscheinlich Two-Phase-Commit, das von den relationalen Datenbanken mehr oder weniger gut unterstützt wird, und Paxos, das zu erklären der Eine oder Andere im Informatikstudium sicher als Aufgabe kennt. All diese Verfahren sorgen mit mehr oder weniger hoher Sicherheit dafür, dass sich die Beteiligten auf eine Wahrheit einigen. In den letzten Jahren haben vor allem NoSQL-Datenbanken am CP-Ende des CAP-Theorems und Werkzeuge zum Management verteilter Systeme das Thema Konsens wieder in das Bewusstsein von Architekten und Entwicklern gerückt. Dabei zeigen sich vor allem die Systeme als erfolgreich und zuverlässig, die eine gemeinsame Weltsicht auf Basis wohlverstandener Algorithmen wie Raft (etcd), Zab (Zookeeper) oder eben Paxos mit seinen Varianten herstellen.

Eine Blockchain bzw. ein Distributed Ledger ist jedoch mehr als eine Datenbank (bzw. sollte es sein, ansonsten sollten Sie sich fragen, ob Sie wirklich einen passenden Anwendungsfall haben). Der entscheidende Unterschied ist, dass man aus Sicht des Gesamtsystems den beteiligten Partnern – den Knoten oder Nodes – nicht vertrauen kann. Man muss davon ausgehen, dass jeder einzelne im Zweifelsfall das System so...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang