Definition

Konsensalgorithmus

Ein Konsensalgorithmus ist ein Prozess in der Informatik, der dazu dient, zwischen verteilten Prozessen oder Systemen eine Einigung über einen einzelnen Datenwert zu erzielen. Konsensalgorithmen wurden entwickelt, um die Zuverlässigkeit in einem Netzwerk mit mehreren unzuverlässigen Knoten zu gewährleisten. Die Lösung dieses Problems – bekannt als Konsensproblem – ist wichtig für verteilte Computer und Multiagentensysteme.

Um dieser Realität Rechnung zu tragen, gehen Konsensalgorithmen notwendigerweise davon aus, dass einige Prozesse und Systeme nicht verfügbar sind, und dass einige Kommunikationen verloren gehen werden. Infolgedessen müssen Konsensalgorithmen fehlertolerant sein. In der Regel gehen sie beispielsweise davon aus, dass nur ein Teil der Knoten antworten wird, verlangen aber eine Antwort von diesem Teil, beispielsweise mindestens 51 Prozent.

Zu den Anwendungen von Konsensalgorithmen gehören:

  • Entscheidung, ob eine verteilte Transaktion an eine Datenbank übertragen werden soll.
  • Auswahl eines Knotens zum Anführer für eine verteilte Aufgabe.
  • Synchronisierung von Repliken von Zustandsmaschinen (endliche Automaten oder Zustandsautomaten) und Sicherstellung der Konsistenz zwischen ihnen.

Konsensalgorithmen unterstützen viele reale Systeme, darunter Googles PageRank, Load Balancing (Lastausgleich), Smart Grids (intelligente Stromnetze), Uhrensynchronisierung und Drohnenkontrolle.

Blockchain
Abbildung 1: Wie die Blockchain funktioniert.

Blockchain, die Distributed-Ledger-Technologie (DLT), die am häufigsten mit Bitcoin in Verbindung gebracht wird, stützt sich ebenfalls auf Konsensalgorithmen, um eine Einigung zwischen den Knoten zu erzielen. Eine Blockchain kann man sich als eine dezentrale Datenbank vorstellen, die von verteilten Computern in einem Peer-to-Peer-Netzwerk (P2P) verwaltet wird. Jeder Peer unterhält eine Kopie des Ledgers, um einen Single Point of Failure (SPOF) zu verhindern. Aktualisierungen und Validierungen werden in allen Kopien gleichzeitig berücksichtigt.

Bitcoin verwendet den Proof-of-Work-Algorithmus (PoW), um die Sicherheit in einem nicht vertrauenswürdigen Netzwerk zu gewährleisten, indem Mechanismen integriert werden, die sicherstellen, dass der Aufwand des Mining in dem vom Miner übermittelten Block dargestellt wird.

Die Software auf den Computern der Miner greift auf deren Verarbeitungskapazität zu, um transaktionsbezogene Algorithmen zu lösen. Der Block ist ein verschlüsselter Hash Proof of Work, der in einem rechenintensiven Prozess erstellt wird. Obwohl jede Partei eine Kette von Blöcken an das Hauptbuch (Ledger) übermitteln kann, ist die Menge an Rechenressourcen, die erforderlich ist, um einen Konsens vorzutäuschen, zu groß, als dass es sich für eine unehrliche Partei lohnen würde.

Andere gängige Konsensalgorithmen sind der Practical Byzantine Fault Tolerance (PBFT) -Algorithmus, der Proof-of-Stake-Algorithmus (PoS) und der Delegated Proof-of-Stake (DPoS) -Algorithmus.

Diese Definition wurde zuletzt im Februar 2022 aktualisiert

Erfahren Sie mehr über Datenbanken

ComputerWeekly.de
Close