Alles begann damit, dass das mysteriöse Pseudonym Satoshi Nakamoto 2009 den Bitcoin veröffentlichte. Es war die erste dezentrale Währung, die es ermöglicht, Transaktionen im Peer-to-Peer-Modell zu versenden, ohne an eine zentrale Autorität gebunden zu sein. Damit erfand und implementierte Bitcoin als erster Anwendungsfall die Blockchain-Technologie. Sein Erfinder tauchte nach einiger Zeit ab und konnte bisher nicht identifiziert werden.
Heute existieren über 800 Kryptowährungen, die auf der Blockchain aufbauen. Manche davon versuchen seitdem, Bitcoin in technischen Belangen zu verbessern, andere erweitern Aspekte der Blockchain und setzen das Konzept mit ganz anderen Lösungen um. Sie tauschen Komponenten, Mechanismen und Algorithmen aus, um Bitcoins bekannte Probleme zu lösen oder eigene Anforderungen zu beantworten.
Einige davon haben nicht den Anspruch darauf, digitales Geld zu werden und Fiat-Währungen abzulösen. Sie finanzieren und betreiben digitale Produkte wie dezentralen Cloud-Speicher oder globale Supercomputer damit.
Viele Firmen beginnen damit, neue Produkte auf der Blockchain zu bauen, die neben digitalen Währungen auch weitere Anwendungsfälle darstellen.
Um die Entscheidungen dahinter zu verstehen und zu erfahren, wie die Blockchain uns helfen kann, werfen wir einen Blick auf die Konzepte und Komponenten der Blockchain. Anschließend reflektieren wir die resultierenden Vor- und Nachteile und entscheiden, ob wir die Entwicklung der Blockchain-Technologie und Wirtschaft im Auge behalten sollten.
Was ist die Blockchain?
Im Prinzip handelt es sich dabei um ein verteiltes System, das eine unveränderliche Geschichte von Transaktionen auf allen Teilnehmern des Netzwerkes aufbewahrt. Es gibt keine zentrale Instanz, die die einzige Wahrheit dieser Transaktions-Historie kennt und aufbewahrt. Daher ist eine Blockchain immer eventually consistent. Die einzelnen Teilnehmer im Netzwerk haben teilweise einen unterschiedlichen Datenstand, aber kommen an einem gewissen Punkt damit zu einer Übereinkunft der wahren Historie.
Bei der Struktur der Historie einer Blockchain handelt es sich nicht um eine gewöhnliche Datenbanktabelle. Eher kann man sich die aufbewahrten Transaktionen als ein Changelog vorstellen, das sich durch die Aufbewahrung in einer festen Struktur bis in die kleinsten Teile gegenseitig referenziert.
Um diese Struktur der Blockchain zu vervollständigen, müssen wir uns allerdings noch weitere Konzepte anschauen. Wir beginnen damit, was eigentlich eine Transaktion ist.
Was ist eigentlich eine Transaktion?
Wenn man Bitcoin als Beispiel heranzieht, ist eine Transaktion ein Ereignis im System, das den Geldtransfer zwischen zwei Teilnehmern beschreibt. Es beinhaltet Sender, Empfänger und die genaue Anzahl des Geldes, das übermittelt wird.
In anderen Anwendungsgebieten der Blockchain könnte anstatt von Geld jede andere Art von Daten zwischen zwei Parteien übertragen werden. Zum Beispiel die Verarbeitungs- und Logistikschritte von italienischem Wein, mit dem Ziel die Wertschöpfungskette zwecks Authentizität exakt aufzuzeichnen.
Transaktionen sind Events, die an die Historie einer Blockchain angehängt werden. Dabei spielt die Art und Struktur der Daten keine Rolle.
Aber wie funktioniert das? Wen fragt man, wenn eine Transaktion verarbeitet werden muss? Wie wird validiert, ob eine gewünschte Aktion auch einer validen Transaktion entspricht? Wie werden sie abgewickelt?
Wir müssen noch ein paar Konzepte betrachten, um den Funktionskreis der Blockchain schließen zu können.
Gibt es in der Blockchain denn gar keine Blöcke?
Doch, es gibt Blöcke. Ansonsten würde die Blockchain wahrscheinlich Transactionchain heißen, da nur Transaktionen miteinander verkettet würden. Dem ist aber nicht so.
Blöcke sind Container für mehrere Transaktionen mit Metainformationen, vergleichbar mit dem Header von Netzwerkprotokollen wie IP. Jeder Block enthält eine eindeutige ID, beinhaltet eine Liste von Transaktionen und referenziert den vorherigen Block.
Transaktionen werden aus mehreren Gründen zu Blöcken zusammengefasst. Abhängig von der Blockchain und ihrer individuellen Aufgabe beinhalten Blöcke eine unterschiedliche Anzahl an Transaktionen und Informationen. Um die Integrität der enthaltenen Transaktionen dauerhaft zu verifizieren, enthält jeder Block-Header eine Checksumme über die Transaktionen (der sog. merkleroot).
Dadurch, dass die Informationen im Header gehasht und dieser Hash wiederum im nächsten vorkommenden Block referenziert wird, wird die Integrität der Blockchain hergestellt.
Allerdings wissen wir jetzt noch immer nicht, wie Transaktionen validiert und bestätigt werden, damit eine Wertübertragung in Währungen wie Bitcoin möglich wird.
Was Rätsel und Blockchain gemeinsam haben
Wenn eine Transaktion erstellt wird (Absender, Empfänger und Payload enthalten), muss sie zur Bearbeitung an das Netzwerk gesendet werden. In Wirklichkeit werden sie zu einem Netzwerkknoten gesendet und von dort über Broadcast an das ganze Netzwerk verbreitet.
Leider werden Transaktionen nicht sofort verbucht, sondern müssen erst auf die Verarbeitung warten (“processing”). Sie müssen schließlich validiert, in Blöcken zusammengefasst und an die Blockchain-Historie angehängt werden.
Ohne Validierung wäre dies unmöglich, da Teilnehmer einfach vorgeben könnten, mehr Geld zu besitzen als sie es eigentlich tun. Es muss geprüft werden, ob der “Kontostand” des Senders für die Transaktion auch genügt.
Da die Blockchain diesen Kontostand nicht als feste Zahl enthält, muss er aus der Historie der Blockchain errechnet werden. Schließlich hält die Menge aller Transaktionen genau vor, wie Geldbeträge sich durch Transaktionen durch das Netzwerk bewegt haben.
Der Kontostand, also zum Beispiel Bitcoins, sind also keine Komponente im System, die zentral irgendwo existiert und auf die man zeigen kann, sondern das Ergebnis der Aggregation der kompletten Blockchain.
Aber wie ist es überhaupt zu den ersten Kontoständen gekommen? Und was hat das alles mit Rätseln zu tun?
Die Rätsel in Bitcoin und anderen Kryptowährungen sind das, was wir unter Mining verstehen. Miner oder Knoten, die in anderen Blockchain-Ausprägungen wie Bitcoin entstehen, stellen die Verfügbarkeit des Netzwerkes bereit, indem sie Transaktionen verarbeiten. Um Transaktionen zu verarbeiten und sie in Blöcken am Ende der Kette anzuhängen, müssen Blöcke erzeugt bzw. erraten werden. Die Berechnungen, die dazu nötig sind, beruhen auf einem komplexen mathematischen Problem, das pro Block gelöst werden muss.
Das Validieren und Verarbeiten von Transaktionen ist in den meisten digitalen Währungen also in Form von mathematischen Rätseln vorgesehen.
Diesen Ansatz nennt man Proof of Work (PoW) , denn die Miner müssen durch die Lösung der Rätsel nachweisen, dass sie viel Arbeit aufgewendet haben. Für die anfallenden komplexen Berechnungen wird viel Rechenleistung und damit elektrische Energie benötigt. Kryptowährungen die PoW einsetzen, belohnen die Miner für jeden errechnete Block mit einer Anzahl an Coins und schaffen damit einen Anreiz für die Arbeit. Über die Zeit hinweg erhöht sich dann die Komplexität des Netzwerkes, und es wird mehr Rechenleistung benötigt um Blöcke zu finden.
Neben PoW gibt es auch andere Ansätze wie zum Beispiel Proof of Stake oder Proof of Importance . Mit ihnen soll der hohe Energieverbrauch von PoW in Zukunft vermieden werden. Diese Ansätze setzen andere Arten von Netzwerkknoten ein und lassen Transaktionen nicht anhand von Energieverbrauch, sondern anhand ihres Anteils an Geldeinheiten oder ihrer Wichtigkeit für das Netzwerk verarbeiten.
Wofür können wir Blockchain verwenden?
Blockchains versprechen eine unveränderbare, sichere und verifizierte Historie an verarbeiteten Ereignissen. Durch die Replikation der Ereigniskette über alle Knoten des Netzwerkes besteht konzeptionell kein “Single Point of Failure”. Das Ziel ist es, kryptografisch eine Sicherheit zu schaffen, die die Veränderung von Datensätzen ohne die gleichzeitige Invalidierung von anderen Datensätzen unmöglich macht. Außerdem sind Blockchains hoch verfügbare Systeme, die von einer unbeschränkten Anzahl von Knoten betrieben werden können.
Auf der anderen Seite ist die Blockchain eine Technologie, die schwer greifbar ist und noch erheblich erforscht und verbessert wird. Sie erfordert den Einsatz von Kryptografie und verteilten Systemen, die von Natur aus eine hohe Komplexität mitbringen.
Diese Komplexitäten in ein System aufzunehmen, macht nur Sinn, wenn der Anwendungsfall von den Vorteilen der Blockchain abhängig ist oder profitiert. Auf technischer Basis müssen immer wieder viele Entscheidungen getroffen werden. Ein Beispiel dafür ist das Problem der Skalierung eines solchen Systems, in der es viele Aspekte zu beachten gibt. Kryptowährungen setzen sich momentan schmerzlich mit dem Thema auseinander und überbieten sich gegenseitig mit Lösungsansätzen.
Wie jede andere Technologie oder Architektur ist die Blockchain nicht die Lösung aller Probleme. Sie hat starke Vor- und Nachteile, die vor dem Einsatz gründlich abgewägt werden müssen. Ferner beschreibt sie nur ein Grundgerüst mit vielen möglichen Stellschrauben, die individuell auf den Anwendungsfall eingestellt werden müssen.
Kryptographische Algorithmen, Konsens-Mechanismen für verteilte Systeme und viele kleine Implementierungsdetails sind variabel und machen jede Blockchain einzigartig.
Die starken Punkte können vor allem von digitalen Währungen, Dienstleistungen und Marktplätzen ausgeschöpft werden, die zentrale Autoritäten wie Banken und Regierungen ausschließen wollen.
Auch Anwendungen, die erhöhten Wert auf Datensicherheit und Gültigkeit legen, um beispielsweise Betrug zu vermeiden und aufzudecken oder Authentizität für einen Vorgang oder ein Produkt aufzubauen, profitieren von der Blockchain.
Zusammenfassung
Blockchain ist eine sehr interessante Technologie mit einem hohen Potenzial für einige Anwendungsfälle. Immer mehr Regierungen und Institute wenden sie auch in nicht-monetären Bereichen an. Estland setzte bereits ein Identitätsmanagement mit der Blockchain um und Georgien nutzt es zur Grundstücksverwaltung . Nahezu wöchentlich werden neue fruchtbare Projekte rund um die ganze Welt angekündigt.
Besonders der Bereich rund um digitale Währungen ist sehr lebendig und fordert mit neuen Zahlungsmethoden, Plattformen und Integrationen ernsthaft die klassische Finanzindustrie heraus.
Wie alle großen Technologie-Erfindungen unserer Zeit findet aber auch ein Hype statt, und einige Firmen sehen die Blockchain als eierlegende Wollmilchsau an. Dies ist nicht der Fall, ein Einsatz muss wohlüberlegt erfolgen. Trotzdem sollte man am Puls der Zeit bleiben und das Geschehen zumindest beobachten.
Gespannt dürfen wir also die Entwicklung und Adaption dieser faszinierenden Technologie beobachten und wenn möglich daran teilnehmen.
Zum Thema Supply Chain schrieb Kai Herings vor kurzem noch: Unblocking the Supply Chain with Blockchain .
Weitere Beiträge
von Jonas Verhoelen
Dein Job bei codecentric?
Jobs
Agile Developer und Consultant (w/d/m)
Alle Standorte
Weitere Artikel in diesem Themenbereich
Entdecke spannende weiterführende Themen und lass dich von der codecentric Welt inspirieren.
Gemeinsam bessere Projekte umsetzen.
Wir helfen deinem Unternehmen.
Du stehst vor einer großen IT-Herausforderung? Wir sorgen für eine maßgeschneiderte Unterstützung. Informiere dich jetzt.
Hilf uns, noch besser zu werden.
Wir sind immer auf der Suche nach neuen Talenten. Auch für dich ist die passende Stelle dabei.
Blog-Autor*in
Jonas Verhoelen
Du hast noch Fragen zu diesem Thema? Dann sprich mich einfach an.
Du hast noch Fragen zu diesem Thema? Dann sprich mich einfach an.