OHNE MASTER ZUM CONSENSUS

- Falk Borgmann

Über Vertrauensfragen in verteilten Infrastrukturen

In einem klassischen relationalen Datenbanksystem mit zugesicherten ACID-Transaktionen (ACID = Atomicity, Consistency, Isolation und Durability), ist immer gewährleistet, dass eine angestoßene und bestätigte Aktion auch vollständig ausgeführt ist. Das heißt, dass eine solche Transaktion nachhaltig und gültig im gesamten System vorhanden ist. Diese so genannte ACID-Zusicherung wird durch eine zentrale Masterinstanz, die relationale Datenbanksoftware, gewährleistet.

In der Blockchain kann es eine solche Masterinstanz aber per Design nicht geben.

Wie erreicht man in einer solchen Umgebung dennoch den notwendigen Konsens bezüglich eines Wertes oder einer Transaktion? Schließlich gibt es in asynchronen Netzwerken und in verteilten Systemen wie der Blockchain keinen „Bestimmer“, keinen Master. Bereits 1998 wurde diese Kernfrage durch L. Lamport (The Part-Time Parliament) untersucht und mit der Definition des so genannten Paxos beantwortet, der auch hin und wieder als der „originale Consensus“ bezeichnet wird. Für den Paxos sind drei Eigenschaften maßgebend, die ein verteiltes System zum Lösen des beschriebenen Problems erfüllen muss:

  • Ein Konsens kann nur in mehreren Schritten erreicht werden.
  • Diese Schritte sind in eine zuverlässige Reihenfolge zu bringen (ein monoton steigender Wert, um einzelne Schritte zu markieren).
  • Es wird eine Mehrheitsentscheidung der beteiligten Instanzen benötigt.

Mit dieser Maßgabe sind Nachhaltigkeit und Gültigkeit einer Transaktion auch in verteilten Systemen, also auch in der Blockchain, zu erreichen. In der Praxis haben sich unterschiedliche Ansätze etabliert, unter denen der „Proof of Work“ von Bitcoin zu den bekanntesten gehört. Um die gängigen theoretischen Grundlagen zu verinnerlichen, ist es sinnvoll, sich neben dem Paxos auch mit dem so genannten RAFT Consensus beschäftigen.

Bei öffentlichen Blockchains – wie zum Beispiel in der derzeit populärsten Anwendung, dem Bitcoin – wird klar, wie groß die Bedeutung des Consensus für die Sicherheit eines Systems ist. Denn wird ein Consensus gewählt, der einfach auszuhebeln ist, steht schnell das gesamte Vertrauen in ein System auf dem Spiel. Und zu guter Letzt befinden sich solche digitalen Infrastrukturen in einem Raum, in dem sie für eine Vielzahl von Angriffsszenarien interessant werden. Eines davon ist im Allgemeinen als „Byzantinischer Angriff“ oder „Byzantinischer Fehler“ bekannt und wird in den folgenden Beiträgen näher betrachtet.

Teilen