Die vorherigen beiden Schritte haben den Zweck der Blockchain im Allgemeinen aufgezeigt und ihre Bedeutung für rein verteilte Peer-to-Peer-Systeme im Speziellen hervorgehoben. Sie haben gelernt, dass der Hauptzweck der Blockchain in dem Erhalten von Integrität in verteilten Systemen besteht. Aber warum stellt es überhaupt ein Problem dar, die Integrität in verteilten Systemen und in rein verteilten Peer-to-Peer-Systemen zu erhalten? Dieser Schritt beantwortet diese Frage, indem er die subtile Beziehung zwischen Vertrauen und Integrität in rein verteilten Peer-to-Peer-Systemen aufdeckt. So vertiefen Sie Ihr Verständnis für die Bedeutung der Integrität und erkennen das Hauptproblem, das die Blockchain lösen soll. Abschließend beschreibt dieser Schritt die Umgebung, in der der größte Nutzen von der Blockchain zu erwarten ist.
In vielen Sprachen gibt es Redewendungen, die das Bemühen um Organisation in einer chaotischen Gruppe von Individuen beschreiben. Im Deutschen sprechen wir davon, »einen Sack Flöhe zu hüten«. Das veranschaulicht die Probleme, mit denen man es zu tun bekommt, wenn eine Gruppe eigensinniger und kaum fassbarer Tiere keine zentrale Autorität anerkennt oder überhaupt erkennt. Erinnert Sie die Metapher der Individuen, die als Gruppe keine zentrale Autorität anerkennen oder erkennen, an irgendetwas? Tatsächlich beschreibt sie ganz genau die Lage in einem rein verteilten Peer-to-Peer-System, das aus individuellen und unabhängigen Knoten ohne jede Art zentraler Kontrolle oder Koordinierung besteht. Dieser Schritt beschreibt eine der größten Herausforderungen in rein verteilten Peer-to-Peer-Systemen und verrät, was diese mit der Blockchain zu tun hat.
Vertrauen und Integrität sind zwei Seiten derselben Medaille. Im Kontext von Softwaresystemen ist Integrität ein nichtfunktionaler Aspekt eines Systems, das sicher, vollständig, einheitlich, korrekt und mangel- sowie fehlerfrei sein soll. Vertrauen ist die feste Überzeugung von Menschen in die Zuverlässigkeit, Wahrheit oder Fähigkeit einer Person oder Sache, ohne dass es dafür Beweise, Nachweise oder Untersuchungen gibt. Es wird im Voraus gewährt und wächst oder nimmt ab – abhängig von den Ergebnissen der laufenden Interaktionen.
Bezogen auf Peer-to-Peer-Systeme bedeutet dies, dass Menschen einem System beitreten und dazu beitragen, sofern sie ihm ihr Vertrauen schenken und die Ergebnisse der Interaktionen mit dem System dieses auch fortlaufend bestätigen oder verstärken. Die Integrität des Systems wird benötigt, um die Erwartungen der Anwender zu erfüllen und ihr Vertrauen in das System zu rechtfertigen. Wird es seitens des Systems infolge eines Mangels an Integrität nicht bestärkt, verlassen die Anwender das System, was letztlich zu seinem Ende führen wird. Da Vertrauen so wichtig für die Existenz von Peer-to-Peer-Systemen ist, stellt sich natürlich die überaus wichtige Frage: Wie erreichen und erhalten wir Integrität in einem rein verteilten Peer-to-Peer-System?
In rein verteilten Systemen ist beides von einer Reihe von Faktoren abhängig. Die wichtigsten davon sind:
Kenntnis von der Anzahl der Knoten oder Peers
Kenntnis von der Vertrauenswürdigkeit der Peers
Die Chancen, in einem verteilten Peer-to-Peer-System Integrität zu erzielen, sind höher, wenn die Anzahl der Knoten und deren Vertrauenswürdigkeit bekannt sind. Dies lässt sich mit einem privaten Klub vergleichen, der hohen moralischen Werten folgt und strenge Maßstäbe für die Aufnahme neuer Mitglieder anlegt. Im Gegensatz dazu stellt eine unbekannte Anzahl von Knoten mit unbekannter Vertrauenswürdigkeit eine denkbar schlechte Voraussetzung für das Erreichen von Integrität in einem verteilten Peer-to-Peer-System dar. Das ist der Fall, wenn ein rein verteiltes Peer-to-Peer-System im Internet allen offensteht.
Der Einfachheit halber kann man zwischen zwei großen Bedrohungen der Integrität in Peer-to-Peer-Systemen unterscheiden:
Peer-to-Peer-Systeme bestehen aus den Einzelcomputern der Anwender, die über ein Netzwerk kommunizieren. Alle Hardware- und Softwarekomponenten eines Computersystems sowie sämtliche Komponenten des Netzwerks unterliegen dem innewohnenden Risiko eines Ausfalls oder von Fehlern. Daher besteht bei einem verteilten System immer die Gefahr, dass seine Komponenten versagen oder zufällig falsche Ergebnisse liefern.
Böswillige Mitglieder stellen die zweite Bedrohung der Integrität in Peer-to-Peer-Systemen dar. Diese Quelle der Unglaubwürdigkeit ist kein technisches Problem, sondern ein Problem, das durch die Ziele der Individuen verursacht wird, die das System für ihre eigenen Zwecke ausnutzen möchten. Man könnte sagen, dass diese Bedrohung eher mit der Soziologie und Gruppendynamik zu tun hat und weniger mit der Technologie. Unehrliche und böswillige Peers stellen die größte Bedrohung für das Peer-to-Peer-System dar, denn sie greifen das Fundament an, auf dem jedes Peer-to-Peer-System aufgebaut ist: Vertrauen. Sobald die Anwender ihren Peers nicht mehr vertrauen können, wenden sie sich ab und tragen nicht mehr zu den Berechnungsressourcen des Systems bei. Somit nimmt die Anzahl der Mitglieder ab und das Gesamtsystem verliert für die verbleibenden Mitglieder an Attraktivität, was wiederum den Niedergang des Systems beschleunigt, sodass es letztendlich brachliegt.
Bei besten Bedingungen ist das Erreichen von Integrität und Vertrauen einfach. Die wahre Herausforderung liegt jedoch darin, unter den schlechtesten denkbaren Bedingungen in einem verteilten System Integrität und Vertrauen zu erzielen. Und genau diese Problemstellung soll die Blockchain lösen. Das Kernproblem, das die Blockchain löst, ist das Erreichen und Erhalten von Integrität in einem rein verteilten Peer-to-Peer-System, das aus einer unbekannten Anzahl von Peers mit unbekannter Zuverlässigkeit und Vertrauenswürdigkeit besteht. Dieses Thema ist übrigens nicht neu. Tatsächlich ist es ein allgemein bekanntes und viel diskutiertes Problem in der Informatik. Es wird unter Bezugnahme auf eine militärische Legende als »Problem der byzantinischen Generäle« bezeichnet.[1]
In diesem Schritt wurde die Wichtigkeit von Integrität und Vertrauen in Peer-to-Peer-Systemen aufgezeigt. Außerdem wurde das Kernproblem, das durch die Blockchain gelöst werden soll, unterstrichen und herausgestellt, welche Bedeutung dem Erreichen von Integrität und Vertrauen in Peer-to-Peer-Systemen zukommt. Allerdings haben wir den Begriff Blockchain noch immer nicht definiert. Dies ist Thema des nächsten Schritts.
Integrität und Vertrauen sind in Peer-to-Peer-Systemen von hoher Wichtigkeit.
Menschen treten einem Peer-to-Peer-System bei und tragen dazu bei, wenn sie ihm vertrauen und die Ergebnisse der Interaktionen mit dem System dieses Vertrauen fortlaufend bestätigen oder verstärken.
Sobald Menschen das Vertrauen in ein Peer-to-Peer-System verlieren, verlassen sie es, was letztendlich das Ende für das System bedeutet.
Die großen Bedrohungen der Integrität in Peer-to-Peer-Systemen sind:
Technisches Versagen
Böswillige Peers
Das Erreichen von Integrität in einem Peer-to-Peer-System ist abhängig von:
der Kenntnis von der Anzahl der Peers
der Kenntnis von der Vertrauenswürdigkeit der Peers
Das Kernproblem, das die Blockchain löst, ist das Erreichen und Erhalten von Integrität in einem rein verteilten Peer-to-Peer-System, das aus einer unbekannten Anzahl von Peers mit unbekannter Zuverlässigkeit und Vertrauenswürdigkeit besteht.
[1] Lamport, Leslie; Shostak, Robert und Pease, Marshall. The Byzantine generals problem. ACM Transactions on Programming Languages and Systems (TOPLAS) 4.3 (1982):382–401.