Blockchain jenseits des Hypes

Geschrieben von Lorenz Sommer

 

wega Informatik ist einer der führenden Pharma- und Life Science IT-Dienstleister der Schweiz. Wega betreibt mehrere Initiativen, um das Potenzial neuer Technologien zu erforschen. Dieser Artikel befasst sich mit dem Hype um Blockchain-basierte Systeme. Wir haben Smart-Contracts-basierte Anwendungen für die Ethereum-Blockchain implementiert, um die Nutzung von Blockchain-basierten Anwendungen besser zu verstehen und auch für pharmabezogene Anwendungsfälle.

Ziel dieses Artikels ist es, Ihnen eine Einführung in einige Grundsätze von Blockchain-basierten Systemen zu geben. So können Sie entscheiden, unter welchen Bedingungen und für welche Anwendungsfälle Blockchain sinnvoll sein kann und wo nicht. Ich habe diesen Artikel mit der Absicht geschrieben, eine Diskussion anzustoßen. Wenn Sie etwas Bestimmtes vermissen, machen Sie sich keine Sorgen - wir haben einige Folgeartikel geplant, die tiefer in bestimmte Bereiche eintauchen werden. Ich werde nicht die Blockchain-Datenstruktur selbst erklären, da es bereits unzählige Artikel zu diesem Thema gibt. Stattdessen möchte ich in diesem Artikel die Philosophie hinter Blockchain-Systemen hervorheben und erläutern, warum sie mit einem bestimmten Design im Hinterkopf aufgebaut sind.

 

Ich weiß nicht, wie vertraut Sie mit einigen Prinzipien der Software-Architektur sind, daher werde ich in diesem Text einige vereinfachte Analogien verwenden. Außerdem werde ich dies anhand eines Haushalts und einer Heizungsanlage demonstrieren.

 

Erster Grundsatz: Das Haushaltsmodell vs. Betriebs-/Schichtmodell für Software

Das Haushaltsmodell

Lassen Sie uns diese Reise mit einer kleinen Geschichte beginnen:

Ich habe zwei Freunde, Alex und Carla. Als wir noch Studenten waren, lebten wir alle in einer Wohngemeinschaft. Nachdem sie ihren Abschluss gemacht und angefangen hatten zu arbeiten, zogen sie in ihre eigene Mietwohnung. Und ich bin in meine eigene Wohnung gezogen, in der ich seither glücklich lebe. Alex und Carla spielten mehrere Jahre lang Lotto und hatten das Glück, zu gewinnen. Deshalb konnten sie es sich leisten, ein Haus zu kaufen.

Diese Geschichte mag zwar recht gewöhnlich klingen, doch lassen Sie uns fortfahren und die Unterschiede zwischen den Haushaltsmodellen herausstellen.

Alex und Carla lebten in verschiedenen Haushaltsmodellen, jedes Modell ist in einem bestimmten Fall sinnvoll und hängt von bestimmten Aspekten ab. Die meisten Menschen fühlen sich wohl in einem Privathaushalt oder in einem Miethaushalt. Wohngemeinschaften sind nicht so häufig anzutreffen. Wenn man einer Wohngemeinschaft beitritt, ist die Privatsphäre viel geringer als in einem Privathaushalt. Und in einem Privathaushalt ist es einfacher, eine Entscheidung zu treffen, da niemand involviert sein muss, während es in einer Gemeinschaft komplizierter ist, etwas zu ändern, da man einen Konsens zwischen allen Parteien finden muss.

 

Wenn Sie sich für ein bestimmtes Haushaltsmodell entscheiden müssen, können Sie diese Skizze verwenden:

 

Aber wie verhält sich das Haushaltsmodell zu den Blockchain-basierten Systemen?

Das Betriebs-/Schichtenmodell für Software

Für die Schichtung und den Betrieb von Software wird ein ähnliches Modell verwendet. Wenn Sie die volle Kontrolle über Ihr System haben wollen, werden Sie sich hauptsächlich für eine private Infrastruktur entscheiden (Ihr eigenes Haus). Software as a Service (SaaS) ist wie eine Miete, da Sie die Software nicht besitzen müssen, aber Sie haben immer noch Ihre Privatsphäre und können leicht mit jedem zusammenarbeiten, Beispiele: Dropbox, Office 365, G Suite und so weiter.

 

Aber was ist aus der gemeinsamen Gemeinschaft / dem gemeinsamen Eigentum geworden?

Blockchain ist ein Spezialfall eines verteilten Softwaresystems, ein Peer-to-Peer-Netzwerk (P2P). Solche Systeme werden oft gebaut, um Eigentum und Zentralisierung zu beseitigen. Außerdem ermöglicht es uns, Daten ohne (rechtliche) Einschränkungen mit jedem zu teilen. Beispiele sind Bittorent, Shareaza, eMule, Gnutella, Vuze, Limeware, Kazaa usw. Die meisten dieser Beispiele sind P2P-Netzwerke für den Dateiaustausch und basieren auf einer verteilten Hash-Datenbank (DHT). Im Vergleich dazu verwendet die Blockchain eine verteilte Blockchain-Datenstruktur.

 

Peer-to-Peer-Software ist sinnvoll für Gemeinschaften oder Konsortien, in denen Daten gemeinsam genutzt werden sollen. Die Entscheidungsfindung in einem privaten Softwaresystem, das sich in vollem Besitz befindet, ist einfacher als in einem gemeinschaftsgesteuerten verteilten Blockchain-System, da in letzterem Fall alle Parteien einen Konsens finden müssen. Der Konsens ist das Schlüsselelement beim Einsatz der Blockchain-Technologie.

 

Das in ein Betriebs-/Schichtmodell umgewandelte Haushaltsmodell ist in dieser Skizze dargestellt:

 

Denken Sie also daran, dass die Wahl des Softwaremodells/der Schichtung, das/die für Ihre Bedürfnisse am besten geeignet ist, viel mit Ihrer persönlichen Meinung und Ihrer Privatsphäre zu tun hat. Blockchains sind so aufgebaut, dass sie transparent sind, so dass jeder die Transaktionshistorie überprüfen kann.

 

Zweiter Grundsatz: Das Heizsystem im Haushalt vs. Datenmanagementsystem

Das Heizungssystem im Haushalt

Kehren wir also zu unserer vorherigen Geschichte mit Alex und Carla zurück. Sie kauften ein Grundstück und setzten sich mit einer Baufirma in Verbindung. Sie hatten mehrere Besprechungen über die verschiedenen Möglichkeiten, ihr Haus zu bauen. Ein Thema war die Heizungsanlage, die wir in diesem Beispiel als Analogie verwenden werden.

In Kanada kann die Winterzeit hart und kalt sein. Deshalb ist die Wahl des richtigen Heizsystems so wichtig. Der Architekt schlägt drei verschiedene Heizsysteme vor:

  • Solar (thermisch, elektrisch)
  • Wärmepumpen (Luft-zu-Luft/Luft-zu-Wasser)
  • Fossiles Heizsystem (Gas, Öl, Holz)

Alle verschiedenen Heizungslösungen lösen das gleiche Problem. Sie verwenden nur eine andere Umsetzung und sind (mehr oder weniger) austauschbar. Es ist natürlich nicht der optimale Ansatz, aber man kann ein Haus in Kanada mit Solartechnik heizen. Die Verbrennung von Holz als Heizquelle ist dagegen - zumindest in Kanada - eine viel wirtschaftlichere Lösung.

 

In einem anderen Land könnte die Entscheidung anders ausfallen.

 

 

Wenn Sie sich für ein bestimmtes Heizsystem entscheiden müssen, können Sie diese Skizze verwenden:

 

Aber wie passt das Heizungsmodell zu den Blockchain-basierten Systemen?

Das Datenverwaltungssystem

Nun, eine zentrale Komponente in einem Computersystem ist das Datenverwaltungssystem, das ist der Ort, an dem alle Ihre Daten gespeichert werden. In unserer Analogie könnte man das Datenverwaltungssystem als das Heizungssystem eines Hauses betrachten. So wie es verschiedene Heizungssysteme gibt, gibt es auch verschiedene bekannte Datenmanagementsysteme, um Daten zu speichern. In der Datenmanagement-Landschaft kann Blockchain als ein sehr spezieller Fall gesehen werden.

Das in ein Datenverwaltungsmodell umgewandelte Heizungsanlagenmodell ist in dieser Skizze zu sehen:

 

 

Blockchain ist ein sehr spezielles Datenverwaltungssystem, das bestimmte Eigenschaften aufweist:

  • Daten können nur angehängt werden
  • Die Daten sind unveränderlich und durch Kryptographie gesichert
  • Die Daten sind transparent und für die Gemeinschaft nachvollziehbar
  • Daten werden validiert und sind für die Gemeinschaft zugänglich
  • Mit jedem erzeugten Block steigt die Wahrscheinlichkeit, dass die Transaktion gültig ist, aber die Erzeugung von Blöcken kostet Zeit und Energie, was letztlich Geld bedeutet.

 

Aber man kann die meisten Anforderungen nachbilden/erfüllen, indem man andere Datenverwaltungssysteme anpasst. Es ist ein bisschen so, als hätte man verschiedene Heizungssysteme. Alle Systeme können verwendet werden, um ein gemeinsames Problem zu lösen, sie unterscheiden sich nur in der Implementierung. Die Datenstruktur der Blockchain kann auch in einer relationalen Datenbank gespeichert werden und es ist sogar möglich, diese Systeme zu verteilen (z.B. mit NewSQL). Aber ohne ein spezialisiertes verteiltes Netzwerk (P2P) verliert man die verteilte Validierung oder Ausfallsicherheit, die bei traditionellen Systemen anders gelöst werden muss.

Einige weitere Diskussionspunkte

Blockchain als Dienstleistung (Baas)

Cloud-Service-Anbieter wie Amazon, Google und Microsoft haben einen neuen Service für ihre Cloud-Umgebungen eingeführt: Blockchain as a Service (BaaS). Mithilfe von BaaS können Sie private Blockchain-Knoten in der Cloud betreiben. Das hört sich zunächst gut an (vor allem für die Umsatzprognose der Dienstanbieter), aber durch die Nutzung eines Anbieters zentralisieren Sie Ihre Knotenpunkte. Dadurch verlieren Sie die Ausfallsicherheit des Verteilungsaspekts. Wenn Ihre Cloud-Umgebung ein Problem hat, wird Ihre gesamte private Blockchain ausfallen. Zum Beispiel hatte Amazon im Jahr 2013 eine Ausfallzeit von 68 Stunden und Microsoft Azure von 272 Stunden, wie in diesem Artikel beschrieben: Downtime Statistics of Current Cloud Solutions.

Um dies zu vermeiden, müssen Sie zumindest einige Knoten an einem anderen Ort betreiben. Die Nutzung von BaaS unterscheidet sich dann nicht mehr so sehr von einem herkömmlichen Datenverwaltungssystem, wenn Sie nur einen oder einige wenige Knoten eines Blockchain-Systems betreiben.

Blockchain-basierte Anwendungen

Blockchain-basierte Anwendungen unterscheiden sich nicht so sehr von herkömmlichen Anwendungen. Die High-Level-Architektur einer Blockchain-basierten Anwendung ist dem traditionellen 3-Tier-Anwendungsdesign sehr ähnlich, wobei einfach ein anderes Konzept der Datenspeicherung an mehreren Orten verwendet wird. Ein zusätzlicher Speicherort wird verwendet, um Daten mit der Fähigkeit zu speichern, alle Änderungen zu verfolgen, und es ermöglicht Ihnen zu beweisen, wann und von wem sie geändert wurden. Es könnten auch kleine Codeteile in der Blockchain gespeichert werden, z. B. Smart-Contracts als Interaktionspunkte zwischen Ihrer Anwendung und dem Blockchain-System. Da der Blockspeicherplatz begrenzt ist und die Nutzung Kosten verursacht, werden Sie gezwungen sein, einen zweiten Speicherplatz für Daten oder Dateien einzurichten, die nicht in die Blockchain aufgenommen werden sollen. Am Ende wird man eine Mischung aus einem traditionellen Aufbau für die Anwendungsschicht und der Persistenzschicht mit Blockchain haben. Die Blockchain selbst sichert nur einen relevanten Teil der Daten. Der Rest der Anwendung wird alle Vorteile und Probleme eines herkömmlichen Systems haben.

Die Verwendung von Blockchain im Backend verursacht höhere Komplexität und Kosten. Aber für die in der Blockchain gespeicherten Daten erhalten Sie Validierung und Transparenz, wenn Sie sie gegenüber Mitarbeitern oder Behörden nachweisen müssen. Blockchain ist eine Plattform, die das Vertrauen zwischen den Beteiligten stärkt.

 

Zusammenfassung

Die Verwendung eines verteilten Peer-to-Peer-Netzwerks für die gemeinsame Nutzung der Blockchain-Struktur ist für Kryptowährungen sehr sinnvoll. Da es sich um einen gemeinschaftsgetriebenen Anwendungsfall handelt, gibt es eine starke Motivation, zentralisiertes Eigentum zu vermeiden, und es ist entscheidend, vollständige Transparenz zu gewährleisten.

Aber die gleichen Grundsätze auf Unternehmensanwendungen anzuwenden, ist vielleicht nicht der richtige Ansatz. Die Verfolgung von Änderungen oder der Historie in privaten Anwendungen ist nichts Neues und wurde bereits in vielen Implementierungen umgesetzt und etabliert. Einige Beispiele sind die Temporal Patterns, die direkte Unterstützung in Datenbanken wie SQL-Sever, oder SCD Manangement Methodologies Typ 4.

Wenn Sie eine Blockchain-basierte Webanwendung erstellen, verlieren Sie die Ausfallsicherheit, da die Webanwendung auf einem herkömmlichen Webserver ausgeführt wird. Wenn Sie nur einen Webserver haben, führen Sie einen einzigen Fehlerpunkt ein, und wenn Ihr Webserver ausfällt, können Ihre Benutzer nicht mehr arbeiten, selbst wenn die Blockchain dahinter ausfallsicher ist. Die Rückkehr zu einem Webserver bringt alle Techniken zurück, die dort verwendet werden, um Ihre Anwendung auf traditionelle Weise ausfallsicher zu machen, mit mehreren Webservern, Proxies und Load-Balancern.

 

Der nächste Artikel wird lauten: "Kann Blockchain in der Pharmazie und im Gesundheitswesen eingesetzt werden?

 

Ich bin Consultant bei der wega Informatik AG in Basel. wega Informatik ist einer der führenden Pharma- und LifeScience-IT-Dienstleister in der Schweiz.

Ich hoffe, dieser Artikel war interessant und hat Ihnen eine andere Perspektive auf die gesamte Blockchain-Technologie-Diskussion eröffnet. Wenn Sie Fragen haben, zögern Sie nicht, mich unter lorenz.sommer@wega-it.com zu kontaktieren.