Smart Contract in Industrie-4.0-Anwendungen
Apr. 21, 2022
Das Thema Smart Contract wird zunehmend aktuell. Es handelt sich dabei um "intelligente" Verträge, die mithilfe einer Blockchain Transaktionen durchführen.
Ein Smart Contract ist letztlich Voraussetzung für die vollständige Umsetzung miteinander vernetzter, "smarter" Umgebungen. Gemeint ist damit ein intelligenter Vertrag, der also nicht -statisch oder dynamisch - ein reiner Container für Vertragsinhalte ist, sondern über eine eigene Logik verfügt. Diese muss in der Lage sein, nach vorher definierten Bedingungen "eigenverantwortlich" verbindliche Geschäfte abzuwickeln. Ein sehr simples Beispiel wäre ein smarter Kühlschrank, in dem Autorisierungsmerkmale für die Tätigung und Bezahlung von Bestellungen hinterlegt sind. Dieser könnte entsprechend Vorräte eigenständig wieder auffüllen, sofern diese unter eine festgelegte Mindestmenge fallen.
Bei der Industrie 4.0 geht es natürlich um mehr, als um Bestellungen von Material. Das erklärte Ziel einer Industrie-4.0-Umgebung ist es, dass Maschinen mit künstlicher Intelligenz untereinander agieren und auf diese Weise Produktionsabläufe automatisieren. Dies mit dem Ziel der Effektivitätssteigerung und der Kostenersparnis. Damit in solchen Abläufen nicht immer wieder ein Mensch eingreifen muss, ist es erforderlich, dass rechtsverbindliche Aktionen durch einen Smart Contract vorgenommen werden können. Dafür sind allerdings einige formale Voraussetzungen nötig, damit durch Maschinen getätigte Transaktionen auch tatsächlich bindend sein können. Wir möchten Ihnen wesentliche Merkmale vorstellen und aufzeigen, wie Sie beim Thema "Smart Contract" für mehr Sicherheit sorgen können.
Kein Smart Contract ohne Blockchain
Ganz wie beim klassischen Vertrag ist es erforderlich, dass relevante Transaktionen lückenlos nachvollziehbar und nicht abstreitbar sind. Zudem müssen alle beteiligten Parteien permanenten Zugriff auf die relevanten Informationen haben. Hierfür eignet sich im digitalen Kontext die Blockchain-Technologie. Bekannt ist diese vorrangig aus dem Bereich der digitalen Währungen wie der Bitcoins. Anstatt bedrucktem Papier werden dort eine endliche Anzahl an Datensätzen gehandelt. Den Wert erhalten diese, wie bei herkömmlichen Währungen auch, durch das Vertrauen und die Nachfrage der Nutzer. Für die rechtssichere Verwaltung der Währung Bitcoin dient eine ausgeklügelte Implementierung der Blockchain. In dieser werden sämtliche Transaktionen mit den Bitcoins unwiderruflich und unveränderbar gespeichert.
Blockchains sind dezentrale Datenbanken, die nach einem definierten Muster strukturiert sind und durch die Verwendung mehrerer kryptografischer Funktionen abgesichert werden. Ihren Namen tragen sie aufgrund des Aufbaus. Jede Transaktion stellt einen Block dar, der durch eine autorisierte Stelle der Datenbank unveränderlich angefügt, sozusagen damit verkettet wird. Für die Verkettung sorgen Hashwerte, die über Inhalte des vorherigen Blockes gebildet und im Header des neuen Blocks gespeichert werden. Der Hashwert ist eine Art Prüfsumme, die mittels eines komplexen kryptografischen Verfahrens über einen Datensatz gebildet werden kann und unumkehrbar ist. Dadurch stellt er eine Art digitalen Fingerabdruck dar. Da die verwendeten Algorithmen bekannt sind, kann jeder Nutzer die gesamte Kette durchlaufen und auf Korrektheit des jeweils vorherigen Elements überprüfen.
Die eigentlichen Transaktionsinhalte eines Blocks werden hingegen mit einer digitalen Signatur versehen. Hierfür kommt ein asymmetrisches Verschlüsselungsverfahren zum Einsatz, für das ein öffentlicher und ein privater Schlüssel benötigt werden. Der Nutzer signiert die Transaktion mit seinem privaten Schlüssel. Die Signatur kann dann durch jedermann anhand des öffentlichen Schlüssels verifiziert werden.
Wesentliche Merkmale und Voraussetzungen für einen Smart Contract
Bei Smart Contracts werden auch Anweisungen in Form kleiner Programme in der Blockchain hinterlegt. Manche Blockchain-Technologien bieten hierfür eine eigene Schnittstelle, die mit einer Skriptsprache angesprochen werden kann. Anstatt also nur abgeschlossene Transaktionen zu hinterlegen, können so auch bedingte Anweisungen festgehalten werden, die bei Eintritt der formulierten Voraussetzungen innerhalb des Blockchain-Netzwerks ausgeführt werden.
Manipulationen werden dadurch verhindert oder erschwert, dass zeitgleich mehrere Ausfertigungen der aktuellen Blockchain im gleichberechtigten Netzwerk (sog. Peer-to-Peer-Netzwerk) hinterlegt sind. Die Fälligkeit und korrekte Ausführung einer Transaktion ist auf diese Weise immer nachvollziehbar und von allen eingebundenen Parteien überprüfbar. Weitere Voraussetzungen sind die korrekte Implementierung der Signaturen und die sichere Verwaltung verwendeter privater Schlüssel.
Elementar ist die zudem die Konsensbildung innerhalb der Blockchain. Damit ist gemeint, dass neu erstellte Blöcke validiert werden müssen und im Zweifel eine Priorisierung notwendig sein kann, wenn zeitgleich mehrere Blöcke von unterschiedlichen Stellen angefügt werden sollen. Zur Lösung gibt es unterschiedliche Ansätze. Als robust hat sich das sogenannte Proof-of-Work-Konzept erwiesen, das zum Beispiel bei Bitcoins zur Anwendung kommt. Dort wird die Validierung künstlich verlangsamt, indem sogenannte Miner komplexe kryptografische Berechnungen von Hashwerten durchführen müssen.
Wofür können Blockchain und Smart Contract verwendet werden?
Blockchain-Technologie entfaltet insbesondere dort seine Stärken, wo Transparenz notwendig ist. So eignet sich eine Blockchain hervorragend, um die Historie von Prozessen oder den Nutzungszyklus von hochwertigen Gegenständen abzulegen. IBM etwa arbeitet nach eigenen Angaben daran, Transportketten von lebensrettenden Medikamenten in Blockchains abzubilden. Generell ist der Bereich des Handels sicherlich gut geeignet, um Informationen über gehandelte Güter und wechselnde Besitzverhältnisse auf diese Weise dynamisch festzuhalten und Prozesse zu automatisieren.
Auch als digitaler Herkunftsnachweis eignet sich die Blockchain-Technologie. Würde man beispielsweise Kraftfahrzeugzulassungen mittels einer Blockchain durchführen, könnten alle relevanten Ereignisse wie Unfälle, Wartungen und Besitzerwechsel unveränderlich hinterlegt werden, dies sogar über Ländergrenzen hinaus.
Beispiele für Smart-Contract-Anwendungen in der Industrie 4.0
Mit Smart-Contract-Anwendungen kann insbesondere ein großer Schritt in Richtung der Automatisierung von Produktionsabläufen gemacht werden. Immer dann, wenn zwei Maschinen direkt miteinander agieren, ist eine fälschungssichere Dokumentation der Transaktionen und der dafür definierten Bedingungen notwendig. Schließlich können etwa durch automatisierte Bestellungen erhebliche Kosten verursacht werden.
Aber auch die Qualitätskontrolle und Herkunftsnachweise sind mit einem Smart Contract und der dazugehörigen Blockchain nachvollziehbar. So ist es beispielsweise möglich, dass Produkte in unterschiedlichen Stadien der Herstellung im Verantwortungsbereich mehrerer Firmen verarbeitet wurden. Anhand einer Blockchain ist dauerhaft dokumentierbar, welcher Schritt wann durch welches Unternehmen durchgeführt wurde.
Risiken im Kontext von Smart Contracts
Das Fehlen einer zentralen Instanz im Blockchain-Netzwerk ist einerseits ein Sicherheitsmerkmal, da die Datensätze mehrfach redundant und grundsätzlich fälschungssicher vorhanden sind. Sensibel ist allerdings der Prozess der Validierung neuer Blöcke. Um die Integrität nicht zu gefährden, darf etwa bei einem Proof-of-Work-Konsens kein Beteiligter die absolute Mehrheit der Miner im Netzwerk kontrollieren, da er damit manipulierte Blöcke validieren könnte.
Wesentlich ist, dass innerhalb der Programmgestaltung eines Smart Contracts keine logischen Fehler gemacht werden. Zudem können Probleme entstehen, wenn parallele Prozesse auf variable Informationen zugreifen, die im Rahmen von Berechnungen verändert werden (sog. Race Conditions). Dies kann zu ungewollten Fehlern führen, aber auch für gezielte Manipulation ausgenutzt werden.
Audit und Sicherheit
Code innerhalb von Smart Contracts sollte unbedingt auf Sicherheitslücken überprüft werden. Fehler können sehr schnell teuer werden und werden möglicherweise erst spät bemerkt. Eine menschliche Interaktion - und damit eine Kontrollinstanz - ist schließlich bei einem Smart Contract explizit nicht gewollt. Es bietet sich daher an, eine Überprüfung des verwendeten Codes in Form eines Smart Contract Audits durch externe Stellen durchführen zu lassen. Dies sorgt für die notwendige Objektivität der Prüfer.