Zentral, Dezentral, Verteilt

Zentrale, dezentrale und verteilte Systeme

Bei der Diskussion um Cloud Computing, Blockchain basierten Technologien, Client-Server Ansätzen und „klassischen“ Computern spielen oft die Begriffe zentral, dezentral und verteilt eine Rolle.

In diesem Artikel versuche ich diese Begriffe anhand von ein paar Beispielen zu erläutern um eine Einordnung zu erleichtern.

Zentrales System

Ein zentrales System hat eine Zentrale. In dieser Zentrale wird festgelegt, wie die einzelnen Akteure innerhalb des Systems agieren. Das klassische Beispiel für ein zentrales System ist eine Armee. Es gibt den Chef, der auf der Basis von Informationen seiner Stäbe, Befehle gibt. Diese Befehle werden von den jeweils niedrigeren Rängen ausgeführt. Die Befehlsketten und die Hierarchien sind klar definiert.

So ein zentrales System hat den Vorteil, dass Befehle schnell und weitgehend ohne Rückfragen ausgeführt werden. Das ermöglicht schnelles Handeln.

Zentrale Systeme sind angreifbar in besagter Zentrale. Fällt der Oberbefehlshaber aus, gibt keiner mehr Befehle und das System kommt zum Stillstand.

Ein anschauliches Beispiel aus den Anfängen der Kommunikation über das Telefon stellt ein Problem zentraler Systeme gut dar.
1887 wurde ein Turm in Stockholm gebaut um jedem der 4,832 Anschlüsse eine Leitung aus der Zentrale legen zu können.

Phone Tower - Stockholm 1887
Phone Tower – Stockholm 1887

Quelle: When the telephone lines darkened the sun in Stockholm

Ein anderes Beispiel sind Währungen. Du und ich glauben daran, dass ein Schweizer Franken, ein Euro und ein US Dollar eine gewisse Menge Kaufkraft bieten und von unserem Gegenüber als Zahlungsmittel akzeptiert werden. Die Garantie dafür übernimmt der Herausgeber der Währung, die jeweilige Zentralbank. Sie legt als zentrale Stelle die vielen Parameter fest, um die Währung Preis- und Geldwertstabil zu halten. Durch ihre Entscheidungen wird „Geld erzeugt“ und „Geld vernichtet“. Wenn eine Zentralbank etwas ankündigt oder entscheidet, wird das sofort im Markt umgesetzt.

Ob es erfolgreich ist oder nicht, ist eine andere Frage, wie bei der Armee.

Dezentrale Systeme

Ein dezentrales System hat keine Zentrale und besteht aus mehr oder weniger eigenständigen Elementen innerhalb eines Netzes. Das Internet an sich und, vielleicht etwas greifbarer, der E-Mail Verkehr sind Beispiele für dezentrale Systeme. Da es um Nachrichten geht, die aus Zeichen bestehen, ist es möglich, die Nachricht in beliebig viele Pakete zu verpacken, mit einer Adresse zu versehen, auf den Weg zu schicken und beim Empfänger wieder zu einer Nachricht zusammen zu bauen.

Damit die einzelnen Teile des Systems wissen, was sie tun sollen, gibt es  allgemeine Anweisungen, die Protokolle. Bevor die erste E-Mail versendet wurde, einigte man sich auf die Spielregeln des E-Mail Versands. Das „Einfache E-Mail-Transportprotokoll“ (SMTP) beschreibt wie eine E-Mail theoretisch versendet werden soll. Ausser dem E-Mail Protokoll gibt es dutzende weitere Protokolle, die jeden denkbaren Schritt beschreiben. Wurde ein Schritt vergessen oder falsch beschrieben, muss neu diskutiert und das Protokoll angepasst werden.

Weder das „erfinden“, noch die Implementierung, also die Umsetzung des Protokolls in Software ist dabei verbindlich geregelt. Jeder, der Lust und Zeit hat, kann einen Baustein des Systems, beispielsweise einen E-Mail Client schreiben, zum freien Download anbieten oder natürlich auch verkaufen. Die Qualität der Software ist messbar anhand der möglichst kompletten Implementierung des Protokolls. Natürlich spielt die Benutzerfreundlichkeit auch eine Rolle, grundsätzlich muss die Software aber erstmal funktionieren. Das tut sie, wenn sie das Protokoll korrekt implementiert.

Der Vorteil eines dezentrales Systems ist die Unabhängigkeit seiner Bestandteile. Wenn weniger E-Mail „Bestandteile“ (Server) vorhanden sind, werden trotzdem noch E-Mails verschickt, es dauert nur länger, bis sie weitergeleitet werden und letztlich ankommen.

Das wohl gerade bekannteste dezentrale System ist Bitcoin, ein dezentrales Zahlungssystem. Im Jahr 2009 wurde das Bitcoin Protokoll beschrieben, das nach und nach von unterschiedlichen Akteuren implementiert wird. Wer dieses Protokoll schrieb, ist prinzipiell egal, solange es in sich schlüssig ist und tut, was es soll. Ob Bitcoin eine Währung darstellt oder nicht, ob es für die Menschen gut ist oder schlecht, wird sich im Laufe der Implementierung herausstellen (Bitcoin: A Peer-to-Peer Electronic Cash System PDF 184 Kb).

bitcoin - White Paper
bitcoin – White Paper

Verteilte Systeme

Verteilte Systeme versuchen Aufgaben parallel abzuarbeiten. Also beispielsweise anstelle von nur einen Menschen der Sand schaufelt, 1000 Menschen die Sand schaufeln zu beschäftigen. Solche Systeme haben einen gewissen Verwaltungsaufwand, da die 1000 Schaufler ja jeweils eine Schaufel benötigen und auch koordiniert werden müssen.

Die Realität

Wie könnte man eine Armee bezeichnen, in der Oberbefehlshaber seine Befehle als E-Mails verschickt, ein angeheuerter Soldat mit Bitcoin bezahlt wird und tausende Soldaten auf Abruf bereit stehen?

Informationstechnologisch betrachtet sind es mehrere Systeme, die sich für den Betrachter aber als ein System darstellen. Die Armee wäre in diesem Fall also einerseits zentral und andererseits dezentral und irgendwie, bei Bedarf, auch verteilt organisiert.

Wenn man sich in seiner Umgebung umsieht, stellt man schnell fest, dass es überall solche gemischte Systeme gibt. Die Bestandteile sind eher zentral oder eher dezentral und werden bei Bedarf noch mit einem Schuss „verteilt“ versehen.

Genauso verhält es sich auch mit den real existierenden E-Mail Systemen. Firmen wie Google übernehmen heute den Transport von sehr, sehr vielen E-Mails. Intern verarbeitet Google die Informationen verteilt. Trotzdem können du und ich auch einen E-Mail Server aufsetzen, der mit den Google Servern prinzipiell in einem Netz zusammenarbeitet. Dieser Server verschickt dann eine E-Mail an Google und Google leitet sie an den Empfänger weiter.

Beim Bitcoin verhält es sich ähnlich. Du kannst selbst einen Bitcoin Node betreiben, Transaktionen abwickeln und damit Geld verdienen, oder du überlässt es anderen Betreibern, die durch die zusätzliche Verteilung von Aufgaben unter Umständen effektiver sind als du.

Dezentrale Systeme können sehr flexibel sein, da die Anzahl der Akteure variabel ist. Wichtig ist allerdings eine Balance der Bestandteile. Wenn mehr als 50% des Systems von einem Akteur kontrolliert werden, tendiert das System zu einem zentralen Verhalten, weil dieser Akteur meistens auch das Protokoll ein wenig zu seinem Gunsten verändert.

Eine Idee im Bitcoin Protokoll ist die Kette aller Blöcke, die Blockchain. Die Kette enthält alle Transaktionen bis zurück zur ersten Buchung. Weil jeder ein Protokoll erfinden und implementieren kann, gibt es momentan einen Hype um diese Blockchain. Der Hype ist so ähnlich wie beim echten Goldrausch. Die einen schürfen Gold, sie anderen verkaufen den Schürfern die Schaufeln und andere Werkzeuge.

Die Goldschürfer sind momentan die Programmierer und Glücksritter, die dezentral täglich neue Protokolle erfinden und Implementierungen vornehmen. Die Anderen sind die Hardware Hersteller und die Stromerzeuger, die den Schürfern ihre Produkte verkaufen. Sie haben einen eher zentralen Charakter.

Ein neuer Akteur in diesem „Goldrausch“ sind die etablierten und „verteilt“ arbeitenden Cloud Anbieter. Sie bieten „Distributed Ledger Technology“, also verteilte Blockchains an (Microsoft, Oracle, SAP, IBM, Amazon, …).
Dabei läuft eine prinzipiell dezentrale Blockchain Anwendung auf einem zentralen System in der Cloud welches verteilt organisiert ist :).


tl;dr: Systeme sind sehr selten rein zentral, dezentral oder verteilt. Es handelt sich fast immer um gemischte Systeme, bei denen unterschiedliche Akteure unterschiedliche Rollen einnehmen und dem System als Ganzem je nach Zielsetzung einen zentralen, dezentralen und/oder verteilten Charakter geben.


Beitrag veröffentlicht

in

, ,

von

Schlagwörter:

Kommentare

Eine Antwort zu „Zentrale, dezentrale und verteilte Systeme“

  1. […] Blockchain Technologie ist dezentral und sie ist verteilt (siehe auch Zentrale, dezentrale und verteilte Systeme). Um so ein dezentrales, verteiltes System besser zu verstehen, müssen wir es zunächst […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert