Blockchain, Bitcoin, Smart Contracts

Die Blockchain im Überblick: Was ist das, was kann das, was soll das?

Die Blockchain im Überblick: Was ist das, was kann das, was soll das?

Blockchain, Bitcoin, Smart Contracts

Die Blockchain im Überblick: Was ist das, was kann das, was soll das?


Die Blockchain – meist fällt einem dabei zuerst oder auch ausschließlich Bitcoin ein. Aber eigentlich ist eine Blockchain zunächst einmal nur eine dezentral gespeicherte, beliebig erweiterbare Liste von Datensätzen, die kryptographisch so gesichert sind, dass sie nach der Speicherung nicht verändert oder gelöscht werden können.

Die Datensätze, die in der Blockchain gespeichert werden, können aus allem Möglichen bestehen und sind bei Weitem nicht auf Transaktionen einer Kryptowährung beschränkt. Aber fangen wir am Anfang an, die Blockchain ist ja nicht vom Himmel gefallen, sondern baut auf vorherigen Entwicklungen auf.

Ein bisschen Geschichte

1991 veröffentlichten Stuart Haber und W. Scott Stornetta ein Verfahren, um über Zeitstempel sicherzustellen, dass der Veröffentlichungstermin bzw. der Zeitpunkt der letzten Änderung digitaler Daten weder rück- noch vordatiert werden kann. 1992 erweiterten Dave Bayer, Stuart Haber und W. Scott Stornetta dieses Verfahren durch den Einsatz von Hash-Bäumen (die nach ihrem Erfinder teilweise auch Merkle-Bäume genannt werden) so, dass verschiedene Dokumente in einem Block zusammengefasst werden können, der dann einen Zeitstempel erhält.

Hash-Bäume bestehen, wie der Name nahelegt, aus Hash-Werten. Die Blätter sind Hash-Werte von Datenblöcken wie z. B. Dateien. Knoten weiter oben im Baum sind Hash-Werte ihrer Kinder; die Wurzel des Hash-Baums wird als Root-Hash, Top-Hash oder Master-Hash bezeichnet. Mit Hilfe dieses Root-Hashs kann geprüft werden, ob ein vorliegender Baum unverändert ist. Sofern der Root-Hash aus einer vertrauenswürdigen Quelle stammt, kann der Rest des Baums auch von einer nicht vertrauenswürdigen Quelle bezogen werden; stimmt der Root-Hash des Baums nicht mit dem vertrauenswürdigen Wert überein, wurde der Baum manipuliert und darf nicht verwendet werden. Der Vorteil des Hash-Baums gegenüber einer Hash-Liste besteht darin, dass jeder Zweig des Baums einzeln auf Integrität geprüft werden kann.

1996 stellte Ross J. Anderson den „Eternity Service“ vor, mit dem die Zensur elektronischer Dokumente verhindert werden kann. Die Idee: Die Dokumente werden über eine große Anzahl Rechner, z. B. das Internet, verteilt. Über Kryptoverfahren werden Manipulationen an den Kopien erkannt. 1998 haben Bruce Schneier und John Kelsey ein Verfahren beschrieben, um mittels Kryptoverfahren sichere Logs auf nicht vertrauenswürdigen Rechnern zu führen.

2008 wurden dann das Konzept von Bitcoin und der Blockchain als verteiltes Datenbankmanagementsystem in einem Paper beschrieben. Ob es sich beim Autor des Papers, Satoshi Nakamoto, um eine reale Person, ein Pseudonym oder auch eine Gruppe von Menschen handelt, ist nicht bekannt. Die erste Implementierung der Bitcoin-Software und damit die erste eingesetzte Blockchain wurde im Jahr darauf veröffentlicht.

Die Blockchain im Überblick

Eine Blockchain ist wie schon erwähnt eine Datenbank, in die zwar jederzeit neue Daten eingetragen werden können, die vorhandenen Daten aber weder verändert noch gelöscht werden können. Wie der Name Blockchain schon verrät, besteht diese Datenbank aus Blöcken, die die Daten enthalten. Im Fall von z. B. Bitcoin sind das Transaktionsdaten wie „Alice hat 1,23 Bitcoin an Bob gezahlt“; es könnten z. B. aber auch Logfile-Einträge o. Ä. sein. Jeder Block kann mehrere Einträge enthalten. Wenn ein Block voll ist, kommen die weiteren Daten in den nächsten Block, usw.

Ist der Block n voll, wird für die Daten darin ein Hash-Baum berechnet und im Header des Blocks gespeichert. Außerdem wird im Header der Hash-Wert des Headers des vorhergehenden Blocks n-1 abgelegt. Jeder Header besteht also aus dem Hash-Baum der zugehörigen Daten und dem Hash-Wert des vorhergehenden Headers. Dann wird der Hash-Wert des Headers berechnet und im Header des folgenden Blocks n+1 gespeichert (Abb. 1).

Zusätzlich kann der Header noch einen Zeitstempel und einen Wert enthalten, der für die Entscheidung benötigt wird, wer diesen Block zur Blockchain hinzufügen darf, aber dazu komme ich gleich. Dieser Wert wird manchmal als Nonce bezeichnet, was aber irreführend ist. In der Kryptographie ist ein Nonce eine „Number used once“, eine Zufallszahl, die in bestimmten Protokollen als eine Art Einmalkennwort oder Replay-Schutz verwendet wird. In der Blockchain dient der Wert dazu, eine bestimmte Bedingung zu erfüllen und kann durchaus mehrfach verwendet werden.

Abb. 1: Die Blöcke und die daraus gebildete Blockchain

Die Sicherheit der Blockchain

Dadurch, dass jeder Block den Hash-Wert des Headers seines Vorgängers enthält, sind die Blöcke untereinander verknüpft und schützen sich gegenseitig sowohl vor zufälligen Änderungen, z. B. durch Speicher- oder Übertragungsfehler, als auch vor gezielten Manipulationen. Wenn sich die in einem Block gespeicherten Daten nachträglich ändern, ändert sich dadurch auch sein Hash, wodurch er nicht mehr zum im nächsten Block gespeicherten Wert passt.

Außerdem ist der Vorgänger-Hash Teil des Headers und fließt dadurch auch in die Berechnung des eigenen Hash-Werts ein, der im Header des nächsten Blocks gespeichert wird. Um die Daten in einem vorhandenen Block unbemerkt manipulieren zu können, müsste daher die gesamte Blockchain ab diesem Block neu berechnet werden. Das ist zwar theoretisch möglich, aber zum einen würde das in einer dezentralen Blockchain auffallen, und zum anderen ist das umso aufwendiger, je weiter der zu manipulierende Block in der Historie der Blockchain zurückliegt.

Konsens im Netzwerk herstellen

Die Blockchain baut auf einen P2P-Netzwerk auf. Daher muss es eine Regelung geben, über die festgelegt wird, wie ein neuer Block an die Kette angehängt wird. Es wäre ja ziemlich ungünstig, wenn mehrere Leute gleichzeitig einen neuen Block an ihre lokale Version der Blockchain anhängen und diese dann verbreiten. Welche Version wäre dann die richtige? Und was passiert mit den „falschen“? Für das Anhängen neuer Blöcke wird daher ein Konsensverfahren verwendet. Das bekannteste ist der sogenannte Proof of Work, der nebenbei auch noch die Sicherheit erhöht.

Proof of Work

Beim Proof of Work darf derjenige einen bestimmten Block beisteuern, der eine Aufgabe, i. A. ein kryptografisches Rätsel, als erster löst. Dazu wird beispielsweise gefordert, dass der Hash-Wert eines gültigen Blocks einer bestimmten Regel gehorcht, z. B. dass er nicht größer als eine festgelegte Obergrenze ist. Nun ist der Hash-Wert über die gespeicherten Hash-Werte und den Zeitstempel immer gleich. Und an dieser Stelle kommt der Nonce-Wert ins Spiel: Der muss so lange geändert werden, bis der Hash-Wert, der mit jedem neuen Nonce-Wert neu berechnet wird, die Regel erfüllt. Sofern der verwendete Hash-Algorithmus keine Schwachstelle enthält, besteht die einzige Möglichkeit zum Berechnen eines gültigen Blocks (= Hash-Wert) darin, so lange Werte durchzuprobieren, bis es passt. Wer als erstes einen gültigen Hash-Wert präsentiert, darf den Block an die Blockchain anhängen – und bekommt meist eine Belohnung dafür.
Gültig ist immer die Version der Blockchain, in die die meiste Arbeit geflossen ist.

Der 51-Prozent-Angriff

Beim Proof of Work gibt es einen möglichen Angriff, um einen vorhandenen Block zu manipulieren. Wenn der Angreifer mehr als die Hälfte der fürs Mining verwendeten Rechenleistung besitzt, kann er einen alternativen Verlauf berechnen, der dann zur Realität wird. Und dann wäre es möglich, z. B. Geld doppelt auszugeben; oder was auch immer die angegriffene Blockchain sonst für Manipulationsmöglichkeiten bietet.

Weitere Ansätze

Der Ansatz des Proof of Work hat einen großen Nachteil: Er verbraucht Unmengen an Energie. Es gibt aber auch umweltschonendere Ansätze, die im Folgenden vorgestellt werden.

Proof of Stake

Ein alternativer Ansatz, um die Berechtigung zum Erzeugen von Blöcken zu vergeben, wird als Proof of Stake bezeichnet. Dabei hängt die Wahrscheinlichkeit dafür, einen gültigen Block zu erzeugen, nicht von der eingesetzten Rechenleistung ab, sondern davon, wie lange der Benutzer Mitglied des Netzwerks ist oder wie viel von der Kryptowährung er besitzt. Wer z. B. ein Drittel aller Münzen besitzt, hat über einen Zufallsalgorithmus eine Chance von eins zu drei, einen neuen Block zu erzeugen.

Proof of Authority

Ein weiteres Konzept besteht darin, dass nur bestimmte, vertrauenswürdige Benutzer neue Blöcke erzeugen dürfen. Zum Beispiel könnten Krankenhäuser eine Blockchain verwenden, um Infektionen in einem bestimmten Gebiet nachzuvollziehen. Jedes Krankenhaus erhält dann einen eigenen Signaturschlüssel, der zum Erstellen neuer Blöcke befugt. Ärzte oder Krankenkassen könnten die Daten dann nachvollziehen, aber keine eigenen Daten an die Blockchain anfügen.
Dieser Ansatz widerspricht jedoch dem eigentlichen Konzept der Blockchain, dass es keine zentrale Stelle gibt und alles dezentral organisiert ist.

Von der Theorie zur Praxis

Das ist jetzt nur die prinzipielle Funktionsweise einer Blockchain. Für eine Anwendung fehlen noch einige wichtige Bausteine: Irgendjemand muss ja prüfen, ob die gespeicherten Daten auch korrekt sind, also ob die geforderte Transaktion zum Beispiel wirklich erfolgen soll. Und irgendjemand muss dann die Hash-Werte berechnen. Beides ist von den jeweiligen Anwendungsfällen abhängig und um den bekanntesten soll es im nächsten Abschnitt gehen.

Bitcoin und Co.

Ein grundlegendes Problem digitaler Währungen ist ihre einfache Kopierbarkeit: Digitale Daten und damit auch eine digitale Münze kann man beliebig oft kopieren. Lange Zeit bestand die Lösung für dieses Problem darin, dass eine vertrauenswürdige zentrale Instanz den Weg jeder Münze überwacht. Auf die Einführung solcher Systeme wurde i. A. verzichtet, da sie keinerlei Vorteile zum normalen Geld- und Bankensystem haben.

Bitcoin und andere Kryptowährungen – der Einfachheit halber verwende ich im Folgenden Bitcoin als Bezeichnung – sollten ohne vertrauenswürdigen Dritten auskommen. Es musste also ein Weg gefunden werden, das mehrfache Ausgeben von Geld ohne Koordinierungsstelle zu verhindern. Die Lösung ist das Führen öffentlicher Konten in der Blockchain. Die enthält alle jemals stattgefundenen Transaktionen, sodass sich daraus auch automatisch ablesen lässt, wie viele Bitcoins ein bestimmter Benutzer besitzt. Der Benutzer wird dabei nur anhand seiner Bitcoin-Adresse identifiziert. Solange er sich außerhalb des Bitcoin-Systems nicht zu erkennen gibt, ist dieser Benutzer keiner realen Person zuzuordnen.

Die Bitcoin Blockchain

Die Blockchain wird in einem Peer-to-Peer-Netzwerk gespeichert und verwaltet. Die Knoten des Netzwerks werden von den sogenannten Maintainern verwaltet. Die Nutzer der Kryptowährung, die selbst keine Maintainer sein müssen, greifen mit einem Wallet (Brieftasche) genannten Client auf das P2P-Netzwerk zu und führen dort Transaktionen aus.

Das Wallet kann entweder eine Software auf dem Rechner des Benutzers sein, oder ein davon unabhängiges Hardware-Wallet. Aber das ist auch nur ein spezialisierter Miniaturrechner, auf dem eine Wallet-Software läuft. Es gibt auch Wallets als Webanwendungen – aber warum sollte man Dritten die Verwaltung seiner Geldbörse anvertrauen?

Bei der Einrichtung erzeugt das Wallet ein Public-Key-Schlüsselpaar. Der private Schlüssel schützt dabei die im Wallet enthaltenen Bitcoins. Wer ihn besitzt, kann die Bitcoins ausgeben. Die schon erwähnte Bitcoin-Adresse ist ein Fingerprint des öffentlichen Schlüssels. Wenn ein Benutzer Bitcoins ausgeben will, sendet sein Wallet eine Transaktionsnachricht mit der Information an das Bitcoin-Netzwerk, wie viele Bitcoins er an welche Bitcoin-Adresse übertragen möchte. Damit niemand Transaktionen im Namen eines Dritten durchführen kann, kommt dabei das Public-Key-Verfahren zum Einsatz: Nur vom Benutzer mit seinem privaten Schlüssel signierte Transaktionen werden in seinem Namen ausgeführt.

Erhält ein Knoten eine Transaktionsnachricht, überprüft der Computer anhand der lokal gespeicherten Blockchain automatisch, ob der Absender wirklich im Besitz der genannten Menge Bitcoins ist. Trifft dies zu und werden einige andere Kriterien erfüllt, ist die Transaktion gültig und wird an alle erreichbaren Knoten weitergeleitet. Dieser Vorgang wiederholt sich, bis die Nachricht im gesamten Netzwerk verbreitet wurde.

Mit der Verbreitung der Transaktionsnachricht ist die Transaktion selbst aber noch nicht vollzogen. Dazu muss sie in der Blockchain festgehalten werden, erst danach kann der Empfänger über die Bitcoins verfügen. Da das einige Zeit dauern kann, eignen sich Bitcoins nur bedingt als Sofortzahlungsmittel.

So kommt die Transaktion in die Blockchain

Bestimmte Maintainer, die Miner, sammeln die Transaktionsnachrichten und fassen sie zu einem Block zusammen, der an die Blockchain angehängt wird. Weil es zu einem großen Chaos führen würde, wenn das jeder frei nach Belieben täte, muss jeder Block (wie oben beim Proof of Work beschrieben) ein Gültigkeitskriterium erfüllen, nämlich einen Hash-Wert unter einer bestimmten Obergrenze enthalten. Zurzeit wird gefordert, dass die ersten 18 Stellen des Hash-Werts 0 sind.

Dieses Kriterium macht das Mining (Schürfen) eines gültigen Datenblocks extrem aufwendig. Wer zuerst einen gültigen Hash-Wert berechnet, darf den Block an die Blockchain anhängen. Für die Berechnung des Hash-Werts werden die Miner mit einer bestimmten Anzahl neuer Bitcoins, aktuell 12,5, belohnt. Der erfolgreiche Miner hat durch seine Rechenarbeit also 12,5 neue Bitcoins „geschürft“.

Zusätzlich bekommen die Miner für die Transaktionen Transaktionsgebühren von den Auftraggebern. Dabei gilt: Je mehr der Auftraggeber für das Eintragen der Transaktion in die Blockchain bezahlt, desto schneller wird seine Transaktion verarbeitet.

Wo sind denn nun die Bitcoins?

Falls Sie sich gerade fragen, wo man die eigenen Bitcoins denn nun sehen kann, muss ich Sie enttäuschen. Es gibt sie gar nicht, jedenfalls nicht in eigenständiger Form. Es gibt auch keine Bitcoin-Konten, die das Guthaben des Benutzers ausweisen. Das „Guthaben“, das vom Wallet angezeigt wird, sind einfach nur die für die eigene Bitcoin-Adresse eingegangenen Gutschriften, die noch nicht wieder ausgegeben wurden.

Ein Beispiel für eine Transaktion

Nehmen wir mal an, Alice hat 5 Bitcoins an Bob überwiesen. Einen Teil davon, z. B. drei Bitcoins, möchte Bob nun an Carol überweisen. Dazu erstellt er eine Transaktion, die folgende Daten enthalten muss:

  • Bobs öffentlichen Schlüssel als Absender,
  • Carols Bitcoin-Adresse als Empfänger
  • und den zu übertragenden Betrag von drei Bitcoins.

Diese Transaktion signiert Bob dann mit seinem privaten Schlüssel, sodass sie nicht manipuliert werden kann. Danach sendet er sie an das Bitcoin-Netzwerk. Aus dem öffentlichen Schlüssel kann Bobs Bitcoin-Adresse berechnet werden, sodass in der Blockchain nachgesehen werden kann, ob er den zu übertragenen Betrag zuvor wirklich selbst erhalten und bisher auch noch nicht wieder ausgegeben hat.

Nachdem diese Transaktion geprüft und in die Blockchain aufgenommen wurde, kann Bob nur noch über zwei Bitcoins aus der Transaktion von Alice verfügen, dafür besitzt Carol nun drei Bitcoins aus der Transaktion von Bob.

Und was sind die Bitcoins nun wert?

Gar nichts, denn die Bitcoins haben keinen materiellen Wert. Es wird zwar viel Energie für ihre Erzeugung verschwendet, aber die ist weg, ohne dass es einen materiellen Gegenwert dafür gibt. Als Vergleich nehme ich gerne Aluminiumblöcke. Deren Erzeugung ist auch extrem energieaufwendig, aber danach hat man wenigstens etwas in der Hand, das man weiterverarbeiten kann.

Merkwürdigerweise kann man mit Bitcoins aber etwas bezahlen und sie sogar in richtiges Geld eintauschen. Also haben sie doch einen Wert. Und zwar sind sie immer so viel wert, wie jemand bereit ist, dafür zu bezahlen. Bisher funktioniert das: Es gibt immer wieder Leute, die bereit sind, mehr echtes Geld (oder Waren in entsprechendem Gegenwert etc.) für Bitcoins auszugeben, als die bisherigen Besitzer dafür bezahlt oder als Miner eingesetzt haben.

Ob das immer so bleibt, ist nicht gesagt. Kennen Sie diese mehr oder weniger bunten Papierzettel mit Wertangaben wie „1 000 Millionen Mark“, die man auf Flohmärkten kaufen kann?

Die waren auch mal etwas wert, als Notgeld während der Hyperinflation 1923. Inzwischen kann man sie meist nicht mal mehr als Schmierpapier benutzen, weil beide Seiten bedruck sind.

Warten wir bei den Bitcoins einfach ab; vielleicht setzen sie sich ja doch langfristig als Tauschobjekt durch. Denn mehr ist Geld ja eigentlich nicht, ein Tauschobjekt. Früher hat man auch schon mal mit Muscheln bezahlt, dann mit echtem Gold, jetzt mit bedrucktem Papier und Zahlen auf Kontoauszügen.

Andere Anwendungen der Blockchain

Aber kommen wir nun zu anderen Anwendungsmöglichkeiten der Blockchain. Eine Möglichkeit sind sogenannte Smart Contracts.

Smart Contracts

Allgemein versteht man unter Smart Contracts Computerprotokolle, die Verträge abbilden oder überprüfen. Smart Contracts bilden die Logik der vertraglichen Regelungen technisch ab und erlauben dadurch die automatische Überprüfung ihrer Einhaltung. Mit Smart Contracts versucht man, eine höhere Vertragssicherheit gegenüber traditionellen Verträgen zu erreichen und dabei möglichst auch noch die Kosten für die Transaktionen zu senken.

Bei Smart Contracts handelt es sich im Prinzip um ausführbaren Programmcode, meist in Form einer If-Then-Bedingung: Sobald ein Ereignis mit direktem Bezug zu einem Vertragsinhalt eingetreten ist, wird eine zugehörige Aktion ausgelöst. Ein Smart Contract für einen Autokauf könnte z. B. automatisch den digitalen Autoschlüssel für den Käufer freischalten, nachdem der vereinbarte Kaufbetrag auf dem Konto des Verkäufers eingegangen ist. Bei einer Ratenzahlung könnte beim Ausbleiben einer Zahlung der Wagen automatisch gesperrt werden, usw.

Smart Contracts für Versicherungen

Eine praktische Anwendung von Smart Contracts mit einer Blockchain sind die Versicherungen gegen Flugverspätungen, die von der Versicherung AXA unter https://fizzy.axa verkauft werden und die sich bei einer Verspätung automatisch selbst auszahlen.

Bei der Buchung der Versicherung werden alle benötigten Daten in einer Ethereum Blockchain gespeichert. Die Ist- und Solllandezeiten aller versicherter Flüge werden vom Rechner der Versicherung automatisch abgeglichen. Landet ein versicherter Flug verspätet, werden automatisch alle versicherten Passagiere ermittelt und ihnen wird der versicherte Betrag ausgezahlt. Der Versicherte muss kein Schadensformular anfordern, ausfüllen und zurückschicken, keine Bestätigungen einreichen und nicht auf die Freigabe der Entschädigung durch den Sachbearbeiter warten.

Smart Contracts mit Hintertür

Smart Contracts haben allerdings einen Nachteil: Sie sind Code, und Code kann Schwachstellen enthalten. Oder auch absichtlich eingebaute Hintertüren, die dazu führen, dass sich der Smart Contract nicht so verhält, wie die Vertragspartner es erwarten. Oder wie einer der Vertragspartner es erwartet, wenn der andere den Code so manipuliert hat, dass z. B. Entscheidungen zu seinem Vorteil getroffen werden.

2017 wurde der 1st Underhanded Solidity Coding Contest durchgeführt, bei dem ein Smart Contract formuliert werden sollte, der zwar harmlos aussieht, tatsächlich aber versteckte Funktionen enthält. Das Ergebnis waren immerhin 23 Einreichungen, die alle irgendwie dafür sorgen, dass einer der Vertragspartner Vorteile erlangt, ohne dass das auf den ersten Blick auffällt.

Supply Chain meets Blockchain

Die Blockchain könnte auch zur Überwachung von Lieferketten verwendet werden, wie eine Fallstudie zeigt. Nach dem Fang werden Fische oder Meeresfrüchte mit IoT-fähigen Sensoren versehen. Die Sensoren senden laufend Daten wie Zeit und Position sowie Temperatur an die Blockchain, außerdem werden Übergaben im Laufe der Lieferkette protokolliert; das könnte z. B. so aussehen:

  • Registrieren des Fischs nach dem Fang durch den Fischer
  • Verkauf des Fischs vom Fischer an den Fischhändler
  • Protokollierung der IoT-Telemetrie und Temperatur während des Transportwegs
  • Verkauf des Fischs vom Fischhändler an das Restaurant
  • Protokollierung der IoT-Telemetrie und Temperatur während des Transportwegs
  • Verarbeitung des Fischs, Verkauf des fertigen Fischgerichts an einen Restaurantgast

Der Gast kann dann den Weg „seines“ Fischs bis zum Fischer zurückverfolgen und dabei prüfen, dass der Fisch frisch ist und die Kühlkette an keiner Stelle unterbrochen wurde.

Genauso lässt sich auch der Weg eines Fischs vom Fang bis zum Tiefkühlfilet im Supermarkt verfolgen oder was auch immer. Und das Gleiche gilt natürlich auch für alle anderen Arten von Lieferketten. Man könnte z. B. die Verpackungen von Festplatten mit IoT-fähigen Beschleunigungssensoren versehen und so prüfen, ob sie auf dem Transportweg womöglich zu unsanft behandelt wurden und daher ein vorzeitiger Verschleiß zu erwarten ist.

Die Blockchain wird mobil

Die Autohersteller BMW, Ford, General Motors und Renault haben zusammen mit Zulieferern, Versicherungen und weiteren Unternehmen Anfang Mai 2018 ein neues Konsortium gegründet, das die Verwendung der Blockchain-Technik in Fahrzeugen und Verkehrstechnik voranbringen soll: Die mobility open blockchain initiative (mobi).

mobi hat aus meiner Sicht vor allem einen Vorteil: Wenn die Hersteller zusammenarbeiten und nicht mehr jeder sein eigenes Süppchen kocht, kommt am Ende vielleicht etwas dabei heraus, das allen Fahrern nutzt, und nicht nur denen einer bestimmten Marke. Denn Ansätze, die Blockchain im Mobilitätsbereich zu nutzen, gibt es schon mehrere. Nur waren das bisher immer Insellösungen einzelner Hersteller. So gibt es z. B. Versuche, Autos mit eigenen Wallets auszustatten, damit sie z. B. Parkgebühren oder die Ladung für E-Autos automatisch und selbständig zahlen können. Da wäre es doch extrem praktisch, wenn das überall und mit allen Fahrzeugen funktioniert, und nicht auf bestimmte Fahrzeuge auf bestimmten Parkplätzen beschränkt ist.

Läuft! Nicht richtig! Kommt drauf an!

In der Finanzbranche ist die anfängliche Euphorie über die Blockchain als Technologie inzwischen schon wieder abgeflacht. Mittelsmänner ausschalten, Transaktionen beschleunigen, Kosten senken – das funktioniert alles noch nicht so gut wie erwartet. Teilweise hat man sich auch zu viel versprochen (oder versprechen lassen), man wollte einfach beim Hype dabei sein.

Das hätte man aber auch einfacher haben können, wie der US-amerikanische Eisteehersteller Long Island Iced Tea Corporation bewiesen hat. Der hat im Dezember 2017 seinen Namen in „Long Blockchain Corporation“ geändert und angekündigt, seinen primären Fokus in Zukunft auf die Erkundung von und Investitionen in Blockchain-Technologien legen zu wollen. Das befinde sich aber alles noch in einem sehr frühen Stadium, parallel werde man die Eisteeherstellung als Tochtergesellschaft weiterbetreiben. Dieses „Wir machen dann mal was mit Blockchains, vielleicht, irgendwann und irgendwie“ reichte aus, um den Aktienkurs der Corporation in die Höhe zu treiben.

Malware in der Blockchain

Auf der Black Hat Asia 2015 haben Christian Karam vom Research and Innovation Sub-Directorate von INTERPOL und Vitaly Kamluk vom Kaspersky Lab vor Schadsoftware in der Blockchain, speziell der von Bitcoin, gewarnt. Über die Blockchain lässt sich zwar kein Schadcode einschleusen, da sie nicht ausgeführt wird (allerdings wäre es möglich, einen Exploit für eine Schwachstelle in Wallet- oder anderer Bitcoin-Software einzuschleusen), sie könnte aber z. B. als Command-and-Control-Kanal dienen, oder zur Verbreitung von Erweiterungen für bereits anderweitig auf den Rechnern eingeschleuste Schädlinge. Das Problem dabei: Da die Blöcke der Blockchain nachträglich nicht verändert werden können, können auch keine schädlichen Inhalte daraus gelöscht werden.

Schon 2014 hat ein Scherzkeks die Virussignatur des DOS-Virus Stoned in die Bitcoin-Blockchain eingeschleust, woraufhin zumindest Microsofts Antivirusprogramm Security Essentials Alarm geschlagen hat. Das war natürlich völliger Quatsch, weil das zum einen ein Bootsektorvirus war, der nur Disketten, aber keine Dateien befallen kann, und er andererseits nicht mal komplett, sondern nur als Signatur vorhanden war. Aber schön, dass die Virenscanner auch Angriffe durch 25 Jahre alte Schädlinge noch abwehren. Nichtsdestotrotz zeigt das Beispiel, dass man mit einem solchen Angriff durchaus auch die Blockchain lahmlegen könnte.

Fazit

Halten wir einmal fest: Die Blockchain ist eine spezielle Art von Datenbank, vergleichbar mit dem Hauptbuch der Buchführung, in dem alle Geldflüsse eines Unternehmens verzeichnet sind. Deshalb wird die Blockchain im Englischen mitunter auch als Ledger bezeichnet. Und man könnte sie auch als eine Art „ewiges Logbuch“ betrachten, das je nach Implementierung ohne vertrauenswürdige Zentralstelle auskommt. Und diese Datenbank ist manipulationssicher und kommt ohne vertrauenswürdige Instanz aus.

Das löst so manche Probleme, z. B. das des doppelten Ausgebens von Kryptowährungen oder der Verfolgung von Lieferketten. Anderes, wie z. B. der Schutz der Privatsphäre, wiederum aber nicht: Bitcoin-Nutzer sind zwar durch Pseudonyme geschützt, die lassen sich aber bei der Auswertung aller Transaktionen eines Benutzers unter Umständen auflösen.

Man kann sehr viele interessante Dinge mit der Blockchain realisieren. Aber inzwischen wird sie für meinen Geschmack zu oft als Allheilmittel für alle Probleme angepriesen. Manche vorgeschlagenen Lösungen sind nur dem Hype geschuldet. Man möchte halt etwas mit der Blockchain machen, weil das gerade alle machen – auch wenn es eigentlich gar nicht nötig oder sogar kontraproduktiv ist, weil es viel zu aufwendig und kompliziert wäre.

Carsten Eilers

Dipl.-Inform. Carsten Eilers war freier Berater und Coach für IT-Sicherheit und technischen Datenschutz sowie Autor einer Vielzahl von Artikeln für verschiedene Magazine und Onlinemedien.


Weitere Artikel zu diesem Thema