Blockketten in Echtzeit

1

Blockchains versprechen weitreichende offene Internetanwendungen, die dezentral organisiert sind, was jedoch mit einer langsamen Performance für jede vom System verarbeitete Transaktion verbunden ist. Kryptographie-Forscher um Professor Sebastian Faust haben mit ihrem Ansatz, Echtzeit-Transaktionen mit Blockketten wie Ethereum zu ermöglichen, ein weltweites Bewusstsein geschaffen.

Die Bezahlung per Kreditkarte ist ein schneller Prozess: Der Geldtransfer ist nur wenige Sekunden nach dem Einlegen der Karte in ein Lesegerät oder der Eingabe der Daten online abgeschlossen. Dieser Prozess ermöglicht es einem zentral organisierten Unternehmen wie Visa, in Spitzenzeiten über 50.000 Transaktionen pro Sekunde abzuwickeln. Mit einer Kryptowährung wie Bitcoin, bei der Transaktionen lokal über eine Blockchain verarbeitet werden, können maximal sieben Transaktionen pro Sekunde verarbeitet werden – ein enormer Unterschied, der die Anwendbarkeit der Technologie stark beeinträchtigt. Schlimmer noch, es kann auch mehrere Minuten dauern, bis eine einzelne Transaktion bearbeitet wird. Diese Nachteile gelten nicht nur für Bitcoin. Noch komplexere Anwendungen, die mit Smart Contracts über Ethereum abgewickelt werden, sind teuer und auch langsam.

Dennoch ist die Blockchain für genau diese Fälle ausgelegt. Jeder Benutzer kann etwas über eine Blockchain hochladen und verteilen, und jeder kann Teil davon werden. Sie ist dezentralisiert, neutral und effektiv die perfekte Kombination aus Vermittler und Richter – aber sie ist auch langsam. Günstig und in Echtzeit damit zu interagieren – das ist die Vision von Sebastian Faust, Professor für Angewandte Kryptographie, und seinem Team. Die Herausforderung besteht darin, dass die Leistungssteigerung nicht auf Kosten der Sicherheit gehen darf. Die Forschung ist Teil des Sonderforschungsbereichs CROSSING, der von der Deutschen Forschungsgemeinschaft gefördert wird.

Eine Blockchain ist eine Kette von Blöcken, die den Zustand des dezentralen Systems enthält. Im Falle einer Währung wie Bitcoin wäre dies der Zahlungsverkehr: Wer bezahlt wen wie viel. Jeder Block enthält auch einen sogenannten Hash aller Daten im Block, eine Art Fingerabdruck der Daten. Wenn eine der Daten geändert wird, ändert sich der Hash-Wert. Darüber hinaus enthält jeder Block einen kryptographischen Hash des vorherigen Blocks. Dies führt zu einer verketteten Kette. Ein Netzwerkteilnehmer – bekannt als Miner – erstellt im Durchschnitt alle zehn Minuten einen neuen Bitcoin-Block. Dieser Block wird dann von allen anderen Teilnehmern überprüft und als neuer Block in der Kette akzeptiert, wenn alle Transaktionen und Berechnungen korrekt sind. Dadurch wird der Block Teil der Blockkette, auf deren Grundlage alle Miner versuchen, den nächsten Block zu finden. Wenn der Block falsch ist, wird er ignoriert. Eine Transaktion in einem Block wird nur akzeptiert, wenn sie in der Blockchain veröffentlicht und idealerweise durch mehrere Blöcke, in der Regel sechs, bestätigt wurde. Dies verhindert, dass ein Angreifer falsche Transaktionen oder Blöcke veröffentlichen kann. Während dieser Prozess starke Sicherheitsgarantien bietet, ist einer der Hauptmängel, dass die Benutzer bis zu 60 Minuten auf die Bestätigung neuer Transaktionen warten müssen.

Komplexere Transaktionen mit Smart Contracts

Smart Contracts ermöglichen es den Teilnehmern, Transaktionen durchzuführen, die wesentlich komplexer sind als einfache Zahlungen. Diese komplexen Regeln können in einer Programmiersprache geschrieben werden, in der dann je nach Ausführung des Codes Zahlungen ausgeführt werden. „Das sind Verträge, die von der Blockchain bearbeitet werden“, erklärt Sebastian Faust. „Smart bedeutet, dass die Verträge logische Bedingungen enthalten. Wenn zum Beispiel jemand eine Datei online verkaufen will, dann enthält der Smart Contract die Bedingung, dass das Geld erst nach der Lieferung der richtigen Datei bezahlt wird.“ Dies geschieht automatisch, was für beide Parteien sicher ist. Das Geld bleibt in der Blockchain, bis die Datei versendet wird, aber der Verkäufer kann es nicht anderswo ausgeben.

Ein weiteres Beispiel für Smart Contracts sind Anwendungen zur Kommunikation zwischen autonomen Fahrzeugen. Einige Lastkraftwagen sind in der Lage, autonom auf der Straße zu fahren. Sie sind jedoch teuer, weil sie eine große Menge an Sensorik erfordern. Ein teilautonomer Lastkraftwagen kann nicht selbst fahren, sondern kann von einem autonomen mitkontrolliert werden. Damit dies funktioniert, müsste der Fahrer des teilautonomen Lastkraftwagens einen Vertrag mit dem autonomen Lkw abschließen. Der Fahrer konnte während dieser Zeit schlafen, ohne eine Pause einlegen zu müssen. Ein Smart Contract könnte all dies tun, wenn es nicht das Problem gäbe, dass die Blockchain derzeit zu langsam ist, um schnelle Transaktionen auf der Straße durchzuführen.

„Unsere Idee ist es nicht, alles in die Blockkette zu verschieben“, sagt Faust. Das bedeutet, dass Verträge zunächst direkt zwischen den beteiligten Parteien abgeschlossen werden und die Parteien nur im Streitfall den teuren Blockchain-Mechanismus nutzen.“ „Es ist ein bisschen wie vor Gericht“, sagt Faust. „Da die Prozesse vor Gericht langsam und kostspielig sind, gehen die Parteien nur hin, wenn sie sich nicht einigen können.“ Der Vorteil dieses Ansatzes ist die Skalierbarkeit. Da Streitigkeiten eine Ausnahme im normalen Alltag sind, könnten Tausende von Verträgen in Echtzeit ausgeführt werden, was die Belastung der Blockkette deutlich reduziert.

Komplexe Computerprogramme können auch fatale Sicherheitsprobleme enthalten. „Smart Contracts werden oft falsch umgesetzt, was es schwierig macht, zu garantieren, dass sie nach der Integration in ein größeres System korrekt funktionieren“, sagt Sebastian Faust. Ein prominentes Beispiel ist der Smart Contract „The DAO“. In „The DAO“ konnte ein Hacker mit einem Programmierfehler Kryptowährungen im Wert von 50 Millionen US-Dollar stehlen. Eines der Hauptziele der Forschung an der TU Darmstadt ist es, die Effizienz von Blockchain-Systemen zu verbessern und gleichzeitig hohe Sicherheitsgarantien zu bieten.

Die Entwicklung der kryptographischen Protokolle für diese Prozesse ist ein komplexes Unterfangen. Die Forscher müssen die Protokolle der verschiedenen Parteien sowie die zugrunde liegenden Smart Contracts definieren. Eine besondere Herausforderung besteht darin, die Interaktion mit der Blockchain zu minimieren und gleichzeitig die Sicherheit des Protokolls zu gewährleisten. Mit formalen Modellen aus der Kryptographie haben die Forscher die Sicherheit der Protokolle bestätigt. Die nächsten Schritte sind nun die Freigabe des Perun-Systems als Open-Source-Software und die Integration von Blockchain-Systemen, die sich von Ethereum unterscheiden.

Das System heißt Perun – nach dem slawischen Gott des Donners und des Lichts. Und sie zeigten Wirkung: Die Ergebnisse fanden große Beachtung, sowohl in der akademischen Sicherheitsgemeinschaft als auch bei Unternehmen wie Bosch und der Ethereum Foundation, deren Blockchain Smart Contracts unterstützt.

Mehr Informationen:
Stefan Dziembowski, Lisa Eckey und Sebastian Faust: PERUN: Virtuelle Zahlungsknoten über Kryptowährungen. In: 40. IEEE-Symposium zu Sicherheit und Datenschutz (S&P), 2019

Stefan Dziembowski, Sebastian Faust und Kristina Hostakova: Generalisierte staatliche Kanalnetze. In: 25. ACM-Konferenz zur Computer- und Kommunikationssicherheit (CCS), 2018

tekk.tv

Share.