Blockchain-based automation architecture for cyber security
Die vorliegende Offenbarung bezieht sich allgemein auf Prozessanlagen und Prozessleitsysteme und insbesondere auf die Verwendung von Distributed Ledgers in Prozessleitsystemen zum Aufzeichnen von Daten und Ereignissen. Dezentrale Prozessleitsysteme, wie sie in chemischen, petrochemischen oder anderen Prozessanlagen verwendet werden, beinhalten in der Regel eine oder mehrere Prozesssteuerungen, die über analoge, digitale oder kombinierte analoge/digitale Busse oder über eine drahtlose Kommunikationsverbindung oder ein drahtloses Netzwerk kommunikativ mit einem Feldgerät oder mehreren Feldgeräten gekoppelt sind. Die Feldgeräte, die beispielsweise Ventile, Ventilstellungsregler, Schalter und Transmitter (z. B. Temperatur-, Druck-, Füllstands- und Durchflusssensoren) sein können, befinden sich innerhalb der Prozessumgebung und übernehmen im Allgemeinen physische oder prozesssteuernde Funktionen wie das Öffnen oder Schließen von Ventilen, das Messen von Prozessparametern wie beispielsweise Druck, Temperatur usw. und ähnlichem zur Steuerung eines oder mehrerer Prozesse, die in der Prozessanlage oder dem System ausgeführt werden. Intelligente Feldgeräte wie beispielsweise jene, die dem bekannten Feldbus-Protokoll entsprechen, können auch Steuerungsberechnungen, Alarmfunktionen und andere in der Steuerung üblicherweise implementierte Steuerungsfunktionen ausführen. Die Prozesssteuerungen, die in der Regel ebenfalls in der Anlagenumgebung platziert sind, empfangen Signale, die von den Feldgeräten vorgenommene Prozessmessungen und/oder andere zu den Feldgeräten gehörende Informationen anzeigen, und eine Steuerungsanwendung ausführen, die zum Beispiel unterschiedliche Steuerungsmodule laufen lässt, die Entscheidungen über die Prozesssteuerung treffen, Steuersignale auf der Grundlage der empfangenen Informationen generieren und mit den Steuerungsmodulen oder -blöcken, die in Feldgeräten wie beispielsweise HART®, WirelessHART® und FOUNDATION® Feldbus-Feldgeräten ausgeführt werden, koordinieren. Die Steuerungsmodule in der Steuerung senden die Steuersignale über die Kommunikationsleitungen oder -verbindungen zu den Feldgeräten, um dadurch den Betrieb mindestens eines Teils der Prozessanlage oder des Systems zu steuern. Wie vorliegend verwendet, werden Feldgeräte und Steuerungen im Allgemeinen als „Prozesssteuerungsgeräte“ bezeichnet. Informationen von den Feldgeräten und der Steuerung werden in der Regel von den Steuerungen über eine Datenautobahn einem Hardwaregerät oder mehreren anderen Hardwaregeräten, wie beispielsweise Bedienerarbeitsplätzen, PCs oder Computergeräten, Data Historians, Berichtgeneratoren, zentralisierten Datenbanken oder anderen zentralisierten administrativen Computergeräten bereitgestellt, die in der Regel in Steuerungsräumen oder an anderen Orten entfernt von der raueren Anlagenumgebung platziert sind. Jedes dieser Hardware-Geräte ist in der Regel über die gesamte Prozessanlage oder einen Teil der Prozessanlage hinweg zentralisiert. Diese Hardwaregeräte führen Anwendungen aus, die es beispielsweise einem Bediener ermöglichen können, Funktionen in Bezug auf die Steuerung eines Prozesses und/oder den Betrieb der Prozessanlage auszuführen, wie z. B. das Ändern der Einstellungen der Prozesssteuerungsroutine, das Ändern des Betriebs der Steuerungsmodule innerhalb der Steuerungen oder der Feldgeräte, das Anzeigen des aktuellen Prozesszustands, das Anzeigen von Alarmen, die von Feldgeräten und Steuerungen generiert werden, das Simulieren des Betriebs des Prozesses zum Zwecke der Schulung von Personal oder das Testen der Prozesssteuerungssoftware, das Halten und Aktualisieren einer Konfigurationsdatenbank usw. Die von den Hardwaregeräten, Steuerungen und Feldgeräten verwendete Datenautobahn kann einen drahtgebundenen Kommunikationsweg, einen drahtlosen Kommunikationsweg oder eine Kombination aus drahtgebundenen und drahtlosen Kommunikationswegen beinhalten. Als Beispiel enthält das DeltaV™-Steuerungssystem, das von Emerson Process Management vertrieben wird, mehrere Anwendungen, die in verschiedenen Geräten an verschiedenen Orten in einer Prozessanlage gespeichert und ausgeführt werden. Eine Konfigurationsanwendung, die in einem oder mehreren Arbeitsplätzen oder Computergeräten untergebracht ist, ermöglicht Benutzern das Erstellen oder Ändern von Prozesssteuerungsmodulen und das Herunterladen dieser Prozesssteuerungsmodule über eine Datenautobahn auf dedizierte dezentrale Steuerungen. In der Regel bestehen diese Steuerungsmodule aus kommunikativ miteinander verbundenen Funktionsblöcken, die Objekte in einem objektorientierten Programmierprotokoll sind, die Funktionen innerhalb des Steuerungsschemas auf der Basis von Eingaben ausführen und die Ausgaben an andere Funktionsblöcke innerhalb des Steuerungsschemas bereitstellen. Die Konfigurationsanwendung kann es einem Konfigurationskonstrukteur auch ermöglichen, Bedieneroberflächen zu erstellen oder zu ändern, die einer Anzeigeanwendung dazu dienen, einem Bediener Daten anzuzeigen und es dem Bediener ermöglichen, Einstellungen wie beispielsweise Sollwerte innerhalb der Prozesssteuerungsroutinen zu verändern. Jede dedizierte Steuerung und in einigen Fällen ein oder mehrere Feldgeräte speichern und führen eine entsprechende Steuerungsanwendung aus, welche die ihr zugeordneten und heruntergeladenen Steuerungsmodule ausführt, um die eigentliche Prozesssteuerungsfunktionalität zu implementieren. Die Anzeigeanwendungen, die in einem oder mehreren Bedienerarbeitsplätzen (oder auf einem entfernten Computergerät oder mehreren entfernten Computergeräten in kommunikativer Verbindung mit den Bedienerarbeitsplätzen und der Datenautobahn) ausgeführt werden können, empfangen Daten von der Steuerungsanwendung über die Datenautobahn und zeigen diese Daten den Konstrukteuren, Bedienern oder Benutzern von Prozessleitsystemen über die Benutzeroberflächen an und können eine von mehreren verschiedenen Ansichten bereitstellen, wie beispielsweise eine Bedieneransicht, eine Ingenieursansicht, eine Technikeransicht usw. Eine Data Historian-Anwendung wird in der Regel in einem Data Historian-Gerät gespeichert und ausgeführt, das einige oder alle Daten sammelt und speichert, die über die Datenautobahn bereitgestellt werden, während eine Konfigurationsdatenbankanwendung in noch einem weiteren, an die Datenautobahn angeschlossenen Computer ausgeführt werden kann, um die aktuelle Konfiguration der Prozesssteuerungsroutine und die damit verbundenen Daten zu speichern. Alternativ kann die Konfigurationsdatenbank in demselben Arbeitsplatz wie die Konfigurationsanwendung platziert sein. Im Allgemeinen umfasst ein Prozessleitsystem einer Prozessanlage Feldgeräte, Steuerungen, Arbeitsplätze und andere Geräte, die durch einen Satz geschichteter Netzwerke und Busse miteinander verbunden sind. Das Prozessleitsystem kann wiederum mit verschiedenen geschäftlichen und externen Netzwerken verbunden sein, um z. B. Herstellungs- und Betriebskosten zu senken, die Produktivität und Effizienz zu steigern, einen zeitnahen Zugriff auf Prozesssteuerungs- und/oder Prozessanlageninformationen zu ermöglichen usw. Zum anderen erhöht die Verbindung von Prozessanlagen und/oder Prozessleitsystemen mit Unternehmens- und/oder externen Netzwerken und Systemen das Risiko von Cyber-Eingriffen und/oder böswilligen Cyber-Angriffen, die sich aus erwarteten Sicherheitslücken in kommerziellen Systemen und Anwendungen ergeben, wie sie beispielsweise in Unternehmens- und/oder externen Netzwerken verwendet werden. Cyber-Eingriffe und böswillige Cyber-Angriffe auf Prozessanlagen, Netzwerke und/oder Steuerungssysteme können die Vertraulichkeit, Integrität und/oder Verfügbarkeit von Informationsressourcen beeinträchtigen, bei denen es sich im Allgemeinen um Schwachstellen handelt, die denen von Allzweck-Computernetzwerken ähneln. Im Gegensatz zu Allzweck-Computernetzwerken können Cyber-Eingriffe in Prozessanlagen, Netzwerke und/oder Steuerungssysteme jedoch nicht nur zur Beschädigung, Zerstörung und/oder zum Verlust von Anlagenausrüstung, Produkten und anderen physischen Gütern, sondern auch zu Todesfällen führen. Beispielsweise kann ein Cyber-Eingriff dazu führen, dass ein Prozess außer Kontrolle gerät und dadurch Explosionen, Brände, Überschwemmungen, die Exposition gegenüber gefährlichen Materialien usw. verursachen. Daher ist die Sicherung der Kommunikation in Bezug auf Prozesssteuerungsanlagen und -systeme von größter Bedeutung. Techniken, Systeme, Apparate, Komponenten, Geräte und Verfahren werden offenbart, um einen Distributed Ledger oder eine Blockchain in Prozessleitsystemen zu verwenden. Die Techniken, Apparate, Geräte, Komponenten, Geräte und Verfahren können auf industrielle Prozessleitsysteme, Umgebungen und/oder Anlagen angewendet werden, die vorliegend austauschbar als „industrielle Steuerung“, „Prozesssteuerung“ oder „Prozess“ - Systeme, Umgebungen und/oder Anlagen bezeichnet werden. In der Regel steuern solche Systeme und Anlagen auf dezentrale Weise einen oder mehrere Prozesse, mit denen physische Materialien oder Produkte hergestellt, veredelt, umgewandelt, generiert oder hergestellt werden. Beispielsweise kann in einem Prozessleitsystem ein Distributed Ledger von Knoten verwaltet werden, die hier als „Edge-Gateways“ bezeichnet werden. Die Knoten empfangen Transaktionen, die von Feldgeräten, Steuerungen, Bedienerarbeitsplätzen oder anderen in der Prozessanlage arbeitenden Geräten an ein Distributed-Ledger-Netzwerk gesendet werden. In einigen Szenarien enthalten die Transaktionen Prozessparameterwerte für Prozessparameter, die einer Prozessanlageneinheit entsprechen. Eine Prozessanlageneinheit kann Geräte in einer Prozessanlage zur Verwendung in einem Teil des Prozesses enthalten, die physische Materialien enthalten, umwandeln, generieren oder übertragen, wie beispielsweise ein Ventil, einen Tank, einen Mischer, eine Pumpe, einen Wärmetauscher usw. Die Transaktionen können auch Produktparameterwerte umfassen, wie Eigenschaften eines von der Prozessanlage hergestellten physischen Materials oder Produkts, einschließlich einer Temperatur des Produkts, eines Volumens des Produkts, einer Masse des Produkts, einer Dichte des Produkts, einem Druck des Produkts usw. Die aufgezeichneten Prozessparameterwerte und Produktparameterwerte können dann abgerufen werden, um die Qualität eines Produkts zu überprüfen. Beispielsweise kann eine erste Prozessanlage ein Produkt herstellen, veredeln, umwandeln, generieren oder produzieren, das dann einer zweiten Prozessanlage bereitgestellt wird. Die zweite Prozessanlage kann bestimmen, dass das Produkt bestimmte Qualitätsstandards erfüllt, indem sie die aufgezeichneten Prozessparameterwerte und Produktparameterwerte aus dem Distributed Ledger abruft. Darüber hinaus können regulatorische Daten im Distributed Ledger erfasst werden. Beispielsweise können als Reaktion auf ein auslösendes Ereignis wie ein Alarm, ein Fehler, ein Leck, ein Reparaturereignis, ein Prozessmeilenstein, eine Korrekturmaßnahme usw. Prozesssteuerungselemente wie Feldgeräte oder Steuerungen Transaktionen einschließlich Daten von dem auslösenden Ereignis, wie der Zeitpunkt, an dem das Ereignis stattfindet, die Dauer des Ereignisses, Prozessparameterwerte für am Ereignis beteiligte Prozessanlageneinheiten, Produktparameterwerte für am Ereignis beteiligte Produkte usw. generieren. Die regulatorischen Daten werden dann im Distributed Ledger aufgezeichnet, damit die Aufsichtsbehörden die Daten überprüfen können. Darüber hinaus können Distributed Ledgers zum Ausführen von Smart Contracts verwendet werden, die nachstehend ausführlicher beschrieben werden. Prozessleitsysteme können Smart Contracts für den Distributed Ledger bereitstellen, um den Wert auszutauschen, z. B. nach Erhalt eines Produkts in gutem Zustand. Smart Contracts können auch für den Distributed Ledger bereitgestellt werden, damit Maschinen wie Feldgeräte ohne menschliches Eingreifen selbstständig Transaktionen durchführen können. Beispielsweise kann gemäß den Bedingungen eines Smart Contracts ein Computergerät in einer ersten Prozessanlage einem Computergerät in einer zweiten Prozessanlage automatisch einen vorbestimmten Token-Betrag bereitstellen, wenn Hinweise von einem Feldgerät oder mehreren Feldgeräten in der ersten Prozessanlage empfangen werden, dass ein Produkt aus der zweiten Prozessanlage geliefert wurde und bestimmte Qualitätsstandards erfüllt. Smart Contracts können auch in Prozessanlagen für mehrere andere Anwendungen verwendet werden, die nachstehend ausführlicher beschrieben werden. Durch die Verwendung von Distributed Ledgers und in einigen Szenarien von Smart Contracts kann jede Prozessanlage oder ein Netzwerk von Prozessanlagen eine vertrauenswürdige, sichere und unveränderliche Aufzeichnung von Transaktionen in der Prozessanlage bereitstellen. Die Sicherheit, Unveränderlichkeit und Vertrauenswürdigkeit von Distributed Ledgers ist besonders wichtig in Prozessleitsystemen, in denen Cyber-Eingriffe nicht nur zur Beschädigung, Zerstörung und/oder zum Verlust von Anlagenausrüstung, Produkten und anderen physischen Gütern, sondern auch zu Todesfällen führen können. Darüber hinaus ermöglichen Distributed Ledgers den Prozessanlagen, die Produktlinie vom Rohmaterial bis zum fertigen Produkt zu verfolgen und die Produkte nach der Herstellung weiter zu verfolgen. Wenn konkurrierende Einheiten eine gemeinsame Ressource nutzen oder übertragen, können Distributed Ledgers verwendet werden, um die Menge der von einer der Einheiten genutzten Ressource und eine angemessene Vergütung für die Nutzung der Ressource für die konkurrierende Einheit zu bestimmen. Beispielsweise kann eine Ölraffinerie Öl produzieren, das über eine Ölleitung mehreren Unternehmen oder Prozessanlagen bereitgestellt wird. Jede Prozessanlage ist dafür verantwortlich, der Ölraffinerie die Ölmenge zu vergüten, welche die Prozessanlage von der Ölpipeline erhalten hat. Distributed Ledgers können verwendet werden, um die Ölmenge aufzuzeichnen, die jede Prozessanlage von Geräten erhält, welche die Ölmenge zum Zeitpunkt der Bereitstellung des Öls messen. Aufgrund der Schwierigkeit, die aufgezeichneten Daten in den Distributed Ledgers zu ändern, müssen konkurrierende Einheiten nicht darauf vertrauen, dass die Daten zuverlässig sind. Ein Distributed Ledger ist ein Speichermechanismus für Daten, Ereignisse, Transaktionen usw., der von mehreren Teilnehmern verwaltet wird. Insbesondere ist ein Distributed Ledger ein Weg, um einen dezentralen Konsens bezüglich der Gültigkeit oder Ungültigkeit von Informationen zu erzielen, die im Distributed Ledger aufgezeichnet sind. Mit anderen Worten bietet der Distributed Ledger den Teilnehmern und Beobachtern eine dezentrale Vertrauensbasis. Im Gegensatz zu einer zentralen Autorität ist ein Distributed Ledger eine dezentrale Datenbank, in der von jedem Knoten eines Peer-to-Peer-Netzwerks ein Transaktionsprotokoll über Änderungen am Ledger verwaltet und validiert wird. Ein Typ eines Distributed Ledgers, eine Blockchain, besteht aus Gruppierungen von Transaktionen, die gemeinsam zu einem „Block“ zusammengefasst und nacheinander geordnet sind (daher der Begriff „Blockchain“). Während auf die hier diskutierten Distributed Ledgers im Kontext einer Blockchain Bezug genommen wird, ist dies nur ein Beispiel für einen Distributed Ledger. Distributed Ledgers können auch einen Tangle, ein Blockgitter oder einen anderen gerichteten azyklischen Graphen (DAG) enthalten. In jedem Fall können Knoten im Laufe der Zeit dem Blockchain-Netzwerk beitreten und dieses verlassen und Blöcke von Peer-Knoten erhalten, die während der Abwesenheit des Knotens weitergegeben wurden. Knoten können Adressen anderer Knoten verwalten und Adressen bekannter Knoten miteinander austauschen, um die Weitergabe neuer Informationen über das Netzwerk in einer dezentralen Peer-to-Peer-Weise zu erleichtern. Die Knoten, die sich den Ledger teilen, bilden das, was hier als Distributed-Ledger-Netzwerk bezeichnet wird. Die Knoten im Distributed-Ledger-Netzwerk validieren Änderungen an der Blockchain (z. B. wenn eine neue Transaktion und/oder ein neuer Block erstellt wird) gemäß einem Satz von Konsensregeln. Die Konsensregeln hängen von den Informationen ab, die von der Blockchain verfolgt werden, und können Regeln für die Chain selbst enthalten. Beispielsweise kann eine Konsensregel beinhalten, dass der Urheber einer Änderung einen Identitätsnachweis vorlegt, sodass nur genehmigte Einheiten Änderungen an der Chain vornehmen können. Eine Konsensregel kann fordern, dass die Blöcke und Transaktionen Formatanforderungen einhalten und bestimmte Meta-Informationen in Bezug auf die Änderung liefern (z. B. dass Blöcke unterhalb einer Größenbeschränkung sein müssen, Transaktionen eine Reihe von Feldern usw. enthalten müssen). Konsensregeln können einen Mechanismus umfassen, um die Reihenfolge zu bestimmen, in welcher neue Blöcke der Chain hinzugefügt werden (z. B. durch ein Proof-of-Work-System, einen Proof-of-Stake usw.). Ergänzungen zur Blockchain, welche die Konsensregeln erfüllen, werden von Knoten weitergegeben, welche die Hinzufügung zu anderen Knoten validiert haben, die dem validierenden Knoten bekannt sind. Wenn alle Knoten, die eine Änderung an der Blockchain erhalten, den neuen Block validieren, spiegelt der Distributed Ledger die auf allen Knoten gespeicherte neue Änderung wider, und es kann gesagt werden, dass ein dezentraler Konsens in Bezug auf den neuen Block und die darin enthaltenen Informationen erzielt wurde. Jede Änderung, welche die Konsensregel nicht erfüllt, wird ignoriert, indem Knoten validiert werden, welche die Änderung erhalten, und die Änderung wird nicht an andere Knoten weitergegeben. Im Gegensatz zu einem herkömmlichen System, das eine zentrale Autorität verwendet, kann eine einzelne Partei den Distributed Ledger nicht einseitig ändern, es sei denn, die einzelne Partei kann dies auf eine Weise tun, die den Konsensregeln entspricht. Die Unfähigkeit, frühere Transaktionen zu ändern, führt dazu, dass Blockchains im Allgemeinen als vertrauenswürdig, sicher und unveränderlich beschrieben werden. Die Validierungsaktivitäten von Knoten, die Konsensregeln in einem Blockchain-Netzwerk anwenden, können verschiedene Formen annehmen. In einer Implementierung kann die Blockchain als gemeinsam genutztes Arbeitsblatt betrachtet werden, das Daten, wie beispielsweise den Besitz von Vermögenswerten nachverfolgt. In einer anderen Implementierung werden die Validierungsknoten den in „Smart Contracts“ enthaltenen Code ausführen und der dezentrale Konsens wird als die Netzwerkknoten ausgedrückt, die sich auf die Ausgabe des ausgeführten Codes einigen. Ein Smart Contract ist ein Computerprotokoll, das die automatische Ausführung und/oder Durchsetzung einer Vereinbarung zwischen verschiedenen Parteien ermöglicht. Insbesondere kann der Smart Contract ein Computercode sein, der sich an einer bestimmten Adresse in der Blockchain befindet. In einigen Fällen wird der Smart Contract möglicherweise automatisch ausgeführt, wenn ein Teilnehmer der Blockchain Geld (z. B. eine Kryptowährung wie Bitcoin, Ether oder eine andere digitale/virtuelle Währung) an die Adresse sendet, in welcher der Smart Contract gespeichert ist. Darüber hinaus können Smart Contracts einen Saldo des Betrags von Geldern verwalten, der unter ihrer Adresse gespeichert ist. In einigen Szenarien, in denen dieser Saldo Null erreicht, ist der Smart Contract möglicherweise nicht mehr betriebsbereit. Der Smart Contract kann eine oder mehrere Auslösebedingungen enthalten, die, wenn sie erfüllt sind, einer Aktion oder mehreren Aktionen entsprechen. Bei einigen Smart Contracts kann die durchgeführte Aktion/können die durchgeführten Aktionen auf der Grundlage einer oder mehrerer Entscheidungsbedingungen bestimmt werden. In einigen Fällen können Datenströme an den Smart Contract weitergeleitet werden, so dass der Smart Contract möglicherweise erkennen kann, dass eine Auslösebedingung stattgefunden hat, und/oder er kann eine Entscheidungsbedingung analysieren. Blockchains können auf eine public (öffentliche), dezentralisierte und permissionless (erlaubnislose) Weise bereitgestellt werden. Dies bedeutet, dass jede Partei den Distributed Ledger sehen, neue Informationen zum Ledger hinzufügen oder dem Netzwerk als validierender Knoten beitreten kann. Andere Blockchains sind private (z. B. Permissioned Ledger), welche die Daten einer Chain innerhalb einer Gruppe von Einheiten, die zur Teilnahme am Blockchain-Netzwerk autorisiert sind, geheim halten. Andere Blockchain-Implementierungen können sowohl permissioned als auch permissionless sein, wobei die Teilnehmer möglicherweise validiert werden müssen, aber nur die Informationen, welche die Teilnehmer des Netzwerks veröffentlichen möchten, werden veröffentlicht. In einigen Implementierungen enthält ein Distributed Ledger mehrere Blockchains, wie z. B. eine Hauptblockchain, und mehrere Sidechains, die unabhängig von der Hauptblockchain arbeiten. Die Sidechains interagieren dann mit der Hauptblockchain, um einige der Transaktionsdaten von den Sidechains an die Hauptblockchain zu liefern. Auf diese Weise können die Sidechains privat sein, während die Hauptblockchain öffentlich ist oder einer größeren Anzahl von Einheiten als die Sidechains zur Verfügung steht. Nicht vertrauliche Informationen aus den Sidechains können in der Hauptblockchain geteilt werden. In einigen Implementierungen enthält ein Distributed Ledger auch mehrere Schichten oder separate Blockchains, die parallel ausgeführt werden und von denselben Validierungsknoten verwaltet werden. Einige der Transaktionsdaten aus der Blockchain für die erste Schicht können der Blockchain für die zweite Schicht bereitgestellt werden oder umgekehrt. In einem Beispiel kann ein Distributed Ledger in einem Prozessleitsystem verwaltet werden, indem Knoten validiert werden, die hier als „Edge-Gateways“ bezeichnet werden, die Daten an entfernte Systeme wie beispielsweise andere Prozessanlagen übermitteln, welche ein öffentliches und/oder privates Netzwerk oder mehrere öffentliche und/oder private Netzwerke wie z. B. ein privates Unternehmensnetzwerk, das Internet, ein zellularer Router, ein Backhaul-Internet oder eine andere Art von Backhaul-Verbindung verwenden. Die Edge-Gateways empfangen Transaktionen, die beispielsweise von Prozesssteuerungsgeräten wie Feldgeräten oder Steuerungen, die in der Prozessanlage arbeiten, an das Distributed-Ledger-Netzwerk gesendet werden. Andere Computergeräte wie Bedienerarbeitsplätze, Servergeräte oder andere Benutzeroberflächenvorrichtungen in der Prozessanlage können ebenfalls Transaktionen an das Distributed-Ledger-Netzwerk senden. Die Edge-Gateways validieren dann die gesendeten Transaktionen. In einem anderen Beispiel führen die Edge-Gateways den Code aus, der in „Smart Contracts“ enthalten ist, und die Feldgeräte fungieren als „Nachweis-Orakel“, die einen Nachweis für die Qualitätskontrolle, die Einhaltung von Vorschriften, die Lieferung oder den Empfang eines Produkts und die gelieferte/empfangene Menge usw. zur Blockchain bereitstellen. Zum Beispiel zeigt Die Steuerung 11, die beispielsweise die von Emerson Process Management vertriebene DeltaV™-Steuerungen sein kann, kann dazu betrieben werden, einen Batch-Prozess oder einen kontinuierlichen Prozess unter Verwendung von mindestens einigen der Feldgeräte 15-22 und 40-46 zu implementieren. Die Steuerung 11 ist zusätzlich zur kommunikativen Verbindung mit der Prozesssteuerungsdatenautobahn 105 auch kommunikativ mit mindestens einigen der Feldgeräte 15-22 und 40-46 verbunden, unter Verwendung einer beliebigen gewünschten Hard- und Software, die zum Beispiel mit Standard 4-20 mA-Geräten, E/A-Karten 26, 28 und/oder einem beliebigen intelligenten Kommunikationsprotokoll, wie beispielsweise dem FOUNDATION®-Feldbus-Protokoll, dem HART®-Protokoll, dem WirelessHART®-Protokoll etc., verknüpft ist. In Die Prozesssteuerung 11 von Die Steuerung 11 implementiert eine Steuerungsstrategie unter Verwendung von dem, was üblicherweise als Funktionsblöcke bezeichnet werden, wobei jeder Funktionsblock ein Objekt oder ein anderer Teil (z. B. ein Unterprogramm) einer Gesamtsteuerungsroutine ist und in Verbindung mit anderen Funktionsblöcken (über Kommunikationen, sogenannte Links) arbeitet, um Prozesssteuerungskreise innerhalb des Prozessleitsystems 10 zu implementieren. Steuerungsbasierte Funktionsblöcke führen in der Regel eine Eingabefunktion aus, wie sie beispielsweise einem Transmitter, einem Sensor oder einer anderen Prozessparameter-Messvorrichtung, einer Steuerfunktion zugeordnet ist, beispielsweise so einer Steuerfunktion, die einer Steuerroutine zugeordnet ist, welche eine PID-, Fuzzy Logik- usw. Steuerung ausführt, oder einer Ausgabefunktion, welche den Betrieb eines beliebigen Geräts, beispielsweise eines Ventils, steuert, um eine physische Funktion innerhalb des Prozessleitsystems 10 auszuführen. Natürlich existieren auch hybride und andere Arten von Funktionsblöcken. Funktionsblöcke können durch die Steuerung 11 gespeichert und ausgeführt werden, was in der Regel der Fall ist, wenn diese Funktionsblöcke für Standard 4-20 mA-Geräte und einige Typen von intelligenten Feldgeräten, wie beispielsweise HART®-Geräten, verwendet werden oder damit verknüpft werden, oder sie können in den Feldgeräten selbst gespeichert und implementiert sein, was bei FOUNDATION®-Feldbus-Geräten der Fall sein kann. Somit kann die Steuerung 11 demnach eine oder mehrere Steuerroutinen 38 enthalten, die eine oder mehrere Regelschleifen implementieren können, die durch Ausführen eines Funktionsblocks oder mehrerer Funktionsblöcke ausgeführt werden. Die drahtgebundenen Feldgeräte 15-22 können beliebige Arten von Geräten sein, wie beispielsweise Sensoren, Ventile, Transmitter, Stellungsregler usw., während die E/A-Karten 26 und 28 beliebige Arten von E/A-Geräten sein können, die einem beliebigen gewünschten Kommunikations- oder Steuerungsprotokoll entsprechen. In In Analog zu den drahtgebundenen Feldgeräten 15-22 übernehmen die drahtlosen Feldgeräte 40-16 des drahtlosen Netzwerks 70 physische Steuerungsfunktionen in der Prozessanlage 10, z. B. Öffnen oder Schließen von Ventilen oder Vornahme von Messungen von Prozessparametern usw. Die drahtlosen Feldgeräte 40 - 46 sind jedoch konfiguriert, um unter Verwendung des drahtlosen Protokolls des Netzwerks 70 zu kommunizieren. Als solche sind die drahtlosen Feldgeräte 40-46, das drahtlose Gateway 35 und andere drahtlose Knoten 52-58 des drahtlosen Netzwerks 70 Erzeuger und Verbraucher drahtloser Kommunikationspakete. In einigen Konfigurationen der Prozessanlage 10 enthält das drahtlose Netzwerk 70 auch nicht-drahtlose Geräte. So wird beispielsweise in In Das beispielhafte Prozessleitsystem 10 kann ferner eine Konfigurationsanwendung (nicht gezeigt) und eine Konfigurationsdatenbank (nicht gezeigt) enthalten, von denen jede auch kommunikativ mit der Datenautobahn 105 verbunden ist. Wie oben diskutiert, können verschiedene Instanzen der Konfigurationsanwendung (nicht gezeigt) auf einer oder mehreren Benutzeroberflächenvorrichtungen 8 ausgeführt werden, um es Benutzern zu ermöglichen, Prozesssteuerungsmodule zu erstellen oder zu ändern und diese Module auch über die Datenautobahn 105 auf die Steuerungen 11 herunterzuladen, sowie Benutzern das Erstellen oder Ändern von Bedieneroberflächen ermöglichen, über die ein Bediener Daten sehen und Dateneinstellungen innerhalb von Prozesssteuerungsroutinen ändern kann. In der Konfigurationsdatenbank (nicht gezeigt) sind die erstellten (z. B. konfigurierten) Module und/oder Bedieneroberflächen gespeichert. In einigen Konfigurationen enthält das Prozessleitsystem 10 einen oder mehrere andere drahtlose Zugangspunkte 7a, die mit anderen Geräten unter Verwendung von anderen drahtlosen Protokollen kommunizieren, wie beispielsweise Wi-Fi oder anderen IEEE 802.11-konformen drahtlosen lokalen Netzwerkprotokollen, mobilen Kommunikationsprotokollen, wie z. B. WiMAX (Worldwide Interoperability for Microwave Access), LTE (Long Term Evolution) oder andere ITU-R (International Telecommunication Union Radiocommunication Sector)-kompatiblen Protokollen, kurzwelligen Funkkommunikationen, wie z. B. NFC (Near Field Communications) und Bluetooth, oder anderen drahtlosen Kommunikationsprotokollen. In der Regel ermöglichen solche drahtlosen Zugangspunkte 7a die Kommunikation von Handheld- oder anderen tragbaren Computergeräten über ein entsprechendes drahtloses Prozesssteuerungskommunikationsnetzwerk, das sich vom drahtlosen Netzwerk 70 unterscheidet und ein anderes drahtloses Protokoll als das drahtlose Netzwerk 70 unterstützt. Beispielsweise kann eine drahtlose oder tragbare Benutzeroberflächenvorrichtung 8 ein mobiler Arbeitsplatz oder ein Diagnosetestgerät sein, das von einem Bediener in der Prozessanlage 10 verwendet wird. In einigen Szenarien kommunizieren neben tragbaren Computergeräten auch ein Prozesssteuerungsgerät oder mehrere Prozesssteuerungsgeräte (z. B. Steuerung 11, Feldgeräte 15-22, oder drahtlose Geräte 35, 40-58) unter Verwendung des von den Zugangspunkten 7a unterstützten drahtlosen Protokolls. In einigen Konfigurationen umfasst das Prozessleitsystem 10 ein Gateway oder mehrere Gateways 7b, 7c für Systeme, die sich außerhalb des unmittelbaren Prozessleitsystems 10 befinden (hierin auch als „Edge-Gateway“ bezeichnet und nachstehend ausführlicher beschrieben). In der Regel sind solche Systeme Kunden oder Lieferanten von Informationen, die vom Prozessleitsystem 10generiert oder verarbeitet werden. Zum Beispiel kann die Prozesssteuerungsanlage 10 einen Gateway-Knoten 7b enthalten, um die unmittelbare Prozessanlage 10 kommunikativ mit einer anderen Prozessanlage zu verbinden. Zusätzlich oder alternativ kann die Prozesssteuerungsanlage 10 einen Gateway-Knoten 7c enthalten, um die unmittelbare Prozessanlage 10 mit einem externen öffentlichen oder privaten System zu verbinden, wie z. B. einem Laborsystem (z. B. Laborinformations-Managementsystem oder LIMS), einer Operator-Rounds-Datenbank, einem Materialflusssystem, einem Verwaltungsmanagementsystem, einem Produktbestandssteuerungssystem, einem Produktionsplanungssystem, einem Witterungsdatensystem, einem Versand- und Handhabungssystem, einem Verpackungssystem, dem Internet, einem Prozessleitsystem eines anderen Lieferanten oder anderen externen Systemen. Es wird darauf hingewiesen, dass, obwohl Ferner wird darauf hingewiesen, dass das Prozessanlagen- bzw. - Steuerungssystem 10 der Die Back-End-Umgebung der Prozessanlage 10 enthält verschiedene Komponenten, wie z. B. Server Computergeräte 12, Bedienerarbeitsplätze 8, Datenbasen oder Datenbanken usw., die von den rauen Bedingungen und Materialien der Feldumgebung abgeschirmt und/oder vor diesen geschützt werden. Bezugnehmend auf Der Satz von Geräten 202 ist so dargestellt, dass er eine endliche Anzahl von drahtlosen Feldgeräten umfasst. Es versteht sich jedoch, dass die hierin in Bezug auf die Geräte 202 beschriebenen Konzepte und Merkmale leicht auf eine beliebige Anzahl von Feldgeräten der Prozessanlage 10 sowie auf beliebige Arten von Feldgeräten angewendet werden können. Beispielsweise können die Feldgeräte 202 ein drahtgebundenes Feldgerät oder mehrere drahtgebundene Feldgeräte 15-22 enthalten, die über ein oder mehrere drahtgebundene Kommunikationsnetzwerke der Prozessanlage 10 und/oder die Feldgeräte 202 mit den drahtlosen Gateways 205A, 205B kommunikativ verbunden sind drahtgebundene Feldgeräte 48, 50 umfassen, die mit drahtlosen Adaptern 52A, 52B gekoppelt sind. Ferner versteht es sich, dass der Satz von Geräten 202 nicht nur auf Feldgeräte beschränkt ist, sondern zusätzlich oder alternativ jedes Gerät oder jede Komponente in der Prozessanlage 10 enthalten kann, die Daten als Ergebnis davon generiert, dass die Prozessanlage 10 den Online-Prozess steuert. Beispielsweise kann der Satz von Geräten 202 ein Diagnosegerät oder eine Komponente, die Diagnosedaten generiert, ein Netzwerkroutinggerät oder eine Netzwerkroutingkomponente, die Informationen zwischen verschiedenen Komponenten der Prozessanlage 10 übermittelt, und dergleichen enthalten. In der Tat kann jede der in Das eine oder die mehreren entfernten Systeme 210 können auf jede gewünschte Art und Weise implementiert werden, beispielsweise durch eine entfernte Bank von Netzwerkservern, ein oder mehrere Cloud-Computing-Systeme, ein Netzwerk oder mehrere Netzwerke usw. Zur Vereinfachung der Diskussion wird das eine entfernte System 210 oder werden die mehreren entfernten Systeme 210 hier unter Verwendung der Singularform bezeichnet, d. h. „Fernsystem 210“, obwohl klar ist, dass sich der Begriff auf ein System, mehr als ein System oder eine beliebige Anzahl von Systemen beziehen kann. In einigen Szenarien kann das Computergerät 250, welches Prozessanlagendaten analysiert, in dem entfernten System 210 enthalten sein. Im Allgemeinen bietet die Sicherheitsarchitektur 200 eine durchgehende Sicherheit von der Feldumgebung der Prozessanlage 10, in der Geräte 202 installiert sind und betrieben werden, bis zu dem entfernten System 210, welches Anwendungen und/oder Dienste 208 bereitstellt, welche die von der Prozessanlage 10 generierten Daten verbrauchen und mit diesen Daten arbeiten. Somit können Daten, die von den Geräte 202 und anderen Komponenten der Prozessanlage 10 generiert werden, zur Verwendung durch die entfernten Anwendungen/Dienste 208 sicher zu dem entfernten System 210 transportiert werden, während die Anlage 10 vor Cyber-Angriffen, Cyber-Eingriffen und/oder anderen schädlichen Ereignissen geschützt wird. Insbesondere umfasst die Sicherheitsarchitektur 200 ein Feld-Gateway 212 und ein Edge-Gateway 218, die zwischen der Prozessanlage 10 (z. B. zwischen den drahtlosen Gateways 205A, 205B der Prozessanlage 10) und dem entfernten System 210 angeordnet sind. Daten, die aus der Prozessanlage 10 austreten und vom Eingangsport 220 zum Ausgangsport 222 übermittelt werden, können ferner durch Verschlüsselung gesichert werden. In einem Beispiel verschlüsselt das Feld-Gateway 212 Daten und liefert verschlüsselte Daten an den Eingangsport 220. Der Datenverkehr, der verschlüsselt und transportiert wird, kann in einem Beispiel UDP-Datenverkehr (User Datagram Protocol) und in einem anderen Beispiel JSON-Datenverkehr oder ein anderes Allzweck-Kommunikationsformat sein. Das Feld-Gateway 212 ist kommunikativ mit der Prozesssteuerungsanlage 10 verbunden. Wie in Zusätzlich wird die Kommunikationsverbindung 225 zwischen den drahtlosen Gateways 205A, 205B und dem Feld-Gateway 212 jeweils unter Verwendung des gleichen oder eines anderen Sicherheitsmechanismus, wie er für die Kommunikationsverbindungen 204A, 204B verwendet wird, gesichert. In einem Beispiel ist die Kommunikationsverbindung 225 durch einen TLS- (Transport Layer Security)-Wrapper gesichert. Beispielsweise generieren die drahtlosen Gateways 205A, 205B Pakete im HART-IP-Format, die durch einen TLS-Wrapper für die Übertragung zum Feld-Gateway 212 gesichert sind. Somit können, wie oben beschrieben, in einer Ausführungsform Daten oder Pakete, die von den Geräten 202 generiert wurden, für den Transit 204A, 204B zu den drahtlosen Gateways 205A, 205B unter Verwendung eines ersten Sicherheitsmechanismus gesichert werden und anschließend für den Transit 225 von den drahtlosen Gateways 205A, 205B zu dem Feld-Gateway 212 gesichert werden, wobei ein zweiter Sicherheitsmechanismus verwendet wird, und anschließend für den Transit an den Edge-Gateway 218 gesichert werden, wobei ein dritter Sicherheitsmechanismus verwendet wird. Zusätzlich oder alternativ und wie in Daten, die vom Edge-Gateway 218 zum entfernten System 210 übertragen werden, können unter Verwendung eines öffentlichen und/oder privaten Netzwerkes oder mehrerer öffentlicher und/oder privater Netzwerke wie eines privaten Unternehmensnetzwerks, des Internets, eines zellularen Routers, eines Backhaul-Internets oder einer Backhaul-Verbindung eines anderen Typs übermittelt werden. Bezeichnenderweise werden die Daten, die vom Edge-Gateway 218 zum entfernten System 210 übertragen werden, unter Verwendung eines vierten Sicherheitsmechanismus oder unter Verwendung eines der oben diskutierten Sicherheitsmechanismen gesichert. In dem entfernten System 210 wird Sicherheit über einen Domänenauthentifizierungsdienst 232 bereitgestellt. Somit können nur Benutzeroberflächenvorrichtungen 235, die über den Domänenauthentifizierungsdienst 232 authentifiziert und autorisiert sind, auf mindestens einige der Daten zugreifen, die auf dem fernen System 210 verfügbar sind, zu denen unter anderem die von den Geräten 202 generierten Daten gehören. Somit stellt die Sicherheitsarchitektur 200, wie oben beschrieben, eine Ende-zu-Ende-Sicherheit für Daten bereit, die von Geräten oder Datenquellen 202 generiert werden, während sie in der Prozessanlage 10 arbeiten, um einen Prozess zu steuern, z. B. von der Aufnahme der Daten durch die Datenquellen 202 bis zu deren Übertragung an das entfernte System 210, um von einer oder mehreren entfernten Anwendungen oder Diensten 208 bearbeitet zu werden. Es ist wichtig, dass die Sicherheitsarchitektur 200 diese Ende-zu-Ende-Sicherheit bereitstellt, während verhindert wird, dass böswillige Angriffe auf die Prozessanlage 10 auftreten. Es wird angemerkt, dass, obwohl Es wird ferner mit Bezug auf Die Prozessanlage 10 kann, falls gewünscht, von mehr als einem Feld-Gateway 212 bedient werden, und eine beliebige Anzahl von Feld-Gateways 210 kann von einem einzelnen Edge-Gateway 218 bedient werden. In einigen Ausführungsformen wird das entfernte System 210, falls gewünscht, von mehr als einem Edge-Gateway 218 bedient. Während sich das obige Beispiel auf das Computergerät 250 zum Analysieren von Prozessanlagendaten als eine Komponente des entfernten Systems 210 bezieht, kann das Computergerät 250 Prozessanlagendaten durch Kommunikation mit einer beliebigen geeigneten Kommunikationskomponente auf sichere Weise empfangen. Beispielsweise kann das Computergerät 250 kommunikativ mit den drahtlosen Gateways 205A, 205B, dem Feld-Gateway 212 oder dem Edge-Gateway 218 verbunden sein. Die Kommunikationspfade können von den Geräten 202 zu dem Computergerät 250 über Verschlüsselungstechniken, Firewalls, eine Datendiode oder mit einem anderen geeigneten Sicherheitsmechanismus gesichert werden. Sobald die Prozessanlagendaten an dem Computergerät 250 empfangen wurden, analysiert das Computergerät die Prozessanlagendaten, um Bedingungen in entsprechenden Prozessanlageneinheiten zu identifizieren. Hinweise auf die Bedingungen werden dann beispielsweise über einen Domänenauthentifizierungsdienst an die Benutzeroberflächenvorrichtung 235 übermitteln. Auf diese Weise kann ein Bediener die Bedingungen sehen, die an verschiedenen Prozessanlageneinheiten in der Prozessanlage stattfinden. Der Bediener kann dann die geeigneten Maßnahmen ergreifen, um durch diese Bedingungen verursachte Probleme zu lösen. Während in Das System 300 enthält ein Distributed Ledger 312 und mehrere Knoten 302, 304, 306, 308 und 310, die Edge-Gateways in der Prozessanlage 10 sein können, wie das Edge-Gateway 218, sie können Feldgeräte sein oder können beliebige geeignete Computergeräte sein, die in der Prozessanlage 10 oder anderen Prozessanlagen betrieben werden. Jeder Knoten verwaltet eine Kopie des Distributed Ledgers 312. Wenn Änderungen an dem Distributed Ledger 312 vorgenommen werden, empfängt jeder Knoten die Änderung über das Netzwerk 314 und aktualisiert seine jeweilige Kopie des Distributed Ledgers 312. Ein Konsensmechanismus kann von den Knoten 302-310 in dem Distributed-Ledger-System 300 verwendet werden, um zu entscheiden, ob es angebracht ist, empfangene Änderungen an dem Distributed Ledger 312 vorzunehmen. Jeder Knoten im System hat daher eine eigene Kopie des Distributed Ledgers 312, die mit jeder anderen Kopie des Distributed Ledgers 312 identisch ist, die von den anderen Knoten gespeichert wird. Das Distributed-Ledger-System 300 kann aufgrund der Dezentralität des Distributed Ledgers robuster sein als ein Datenbanksystem einer zentralen Autorität. Als solches gibt es auf dem Distributed-Ledger-System 300 keine einzelne Fehlerstelle, wie dies in einem zentralisierten System der Fall wäre. Der Blockverbreitungsfluss 400 kann mit dem Knoten A 402 beginnen, der die Transaktion 406 zum Zeitpunkt 420 empfängt. Wenn der Knoten A 402 bestätigt, dass die Transaktion 406 gültig ist, kann der Knoten A 402 die Transaktion einem neu generierten Block 408 hinzufügen. Als Teil des Hinzufügens der Transaktion 406 zu Block 408 kann der Knoten A 402 ein kryptographisches Puzzle lösen und die Lösung in den neu generierten Block 408 als Nachweis für die zum Generieren des Blocks 408 geleistete Arbeit aufnehmen. Alternativ kann ein Proof-of-Stake-Algorithmus verwendet werden, um den Block 408 zu generieren, wobei der Knoten A 402 eine Menge eines im Netzwerk verwendeten digitalen Tokens „staket“, das Netzwerk jedoch selbst den Knoten bestimmt, der den neuen Block prägt. In anderen Ausführungsformen kann die Transaktion 406 zu einem Pool von Transaktionen hinzugefügt werden, bis eine ausreichende Anzahl von Transaktionen in dem Pool existiert, um einen Block zu bilden. Der Knoten A 402 kann den neu generierten Block 408 zum Zeitpunkt 412 an das Netzwerk übermitteln. Vor oder nach der Weitergabe des Blocks 408 kann der Knoten A 402 den Block 408 zu seiner Kopie der Blockchain 418 hinzufügen. Während der Proof-of-Work und der Proof-of-Stake hierin als Konsensalgorithmen zum Auswählen eines Knotens zum Prägen eines neuen Blocks beschrieben sind, sind diese lediglich einige beispielhafte Konsensalgorithmen und sollen nicht einschränkend sein. Zusätzliche Konsensalgorithmen können verwendet werden, wie beispielsweise ein delegierter Proof-of-Stake, bei dem Knoten eine Teilmenge von Knoten auswählen, die als Delegierte bezeichnet werden, um eine Validierung durchzuführen, und die Delegierten abwechselnd neue Blöcke prägen. Konsensalgorithmen können auch den Proof-of-Authority, den Proof-of-Weight, die byzantinische Fehlertoleranz, die Konsensalgorithmen für den Tangle, das Blockgitter usw. einschließen. In jedem Fall können die Transaktionen 409A-409D Aktualisierungen einer Zustandsdatenbank 416 enthalten. Die Zustandsdatenbank 416 kann aktuelle Werte von Variablen enthalten, die durch in der Blockchain 418 bereitgestellte Smart Contracts erstellt wurden. Validierte Blöcke, wie beispielsweise der Block 408, können Transaktionen enthalten, die Zustandsvariablen in der Zustandsdatenbank 416 bewirken. Zum Zeitpunkt 422 kann der Knoten B 404 den neu erstellten Block 408 über das Netzwerk bei 412 empfangen. Der Knoten B 404 kann überprüfen, ob der Transaktionsblock 408 gültig ist, indem die Lösung des im Block 408 bereitgestellten kryptographischen Puzzles überprüft wird. Wenn die Lösung genau ist, kann der Knoten B 404 den Block 408 zu seiner Blockchain 418 hinzufügen und Aktualisierungen an der Zustandsdatenbank 416 vornehmen, wie sie von den Transaktionen in Block 408 abgelehnt wurden. Der Knoten B 404 kann dann den Block 408 zum Zeitpunkt 314 an den Rest des Netzwerks übermitteln. In anderen Ausführungsformen arbeiten die Smart Contracts 516 unabhängig von dem Blockchain-Manager 514 oder anderen Anwendungen. In einigen Ausführungsformen verfügt der Knoten 500 nicht über einen Blockchain-Manager 514 oder Smart Contracts 516, die auf dem Knoten gespeichert sind. In einigen Ausführungsformen kann der Knoten 500 zusätzliche oder weniger Komponenten als beschrieben aufweisen. Die Komponenten des Knotens 500 werden nachstehend ausführlicher beschrieben. Der Knoten 500 kann als Teil eines dezentralen Ledger-Systems 300 oder eines anderen dezentralen oder zentralen Netzwerks als Teil von Systemen verwendet werden, die mit Transaktionen interagieren und/oder diese manipulieren, welche Daten oder Ereignissen zugeordnet sind, die in einer oder mehreren Prozessanlagen stattfinden. Mit anderen Worten können die Transaktionen unter Verwendung eines kryptographischen Hash-Algorithmus, wie die oben diskutierten Algorithmen, gehasht werden, und der Hash jeder Transaktion kann in dem Baum gespeichert werden. Wenn der Baum aufgebaut ist, kann der Hash jedes benachbarten Knotens auf derselben Ebene zusammen gehasht werden, um einen neuen Knoten zu generieren, der auf einer höheren Ebene im Baum existiert. Daher hängt der Knoten am oberen Ende des Baums oder der Merkle-Wurzel vom Hash jeder Transaktion ab, die unten im Baum gespeichert ist. Jede Transaktion kann einen Datensatz enthalten. Der Datensatz kann das Identifizieren von Daten für die Transaktion und Transaktionsdaten enthalten, welche die Art der Transaktion identifizieren und was die Transaktion beinhaltet (z. B. Eingabe- und Ausgabeadressen, einen Transaktionswert, einen Dokumenten-Hashwert, einen Zeitstempel, einen Transaktionsgebührenwert, usw.). Um zu überprüfen, ob ein Block gültig ist, kann ein Knoten die Merkle-Wurzel des Blocks mit der Merkle-Wurzel desselben Blocks vergleichen, der in den Kopien der Blockchain anderer Knoten enthalten ist. Somit kann die Merkle-Wurzel als Nachweis für die im Block enthaltenen Transaktionen und als Nachweis dafür verwendet werden, dass der Inhalt des Blocks nicht manipuliert wurde, wenn die Merkle-Wurzel in der Kopie jedes Knotens des Blocks dieselbe ist. In einer Implementierung sind Dokumente, die „auf‟ einer Blockchain gespeichert sind, Dokumente, die gemäß einem kryptographischen Hashing-Algorithmus (z. B. SHA-256) gehasht wurden, und der resultierende Ausgabe-Hash wurde in eine Transaktion in einem Block aufgenommen, der von den Netzwerkknoten akzeptiert wurde, welche die Konsensregeln der Blockchain erfüllen. Als solches können die Dokumente später verifiziert oder validiert werden, indem der Hash der Dokumente mit dem in der Blockchain gespeicherten Hash verglichen wird. Wenn beispielsweise ein Satz von Dokumenten zu einem SHA-256-Hash führt, der an einem bestimmten Datum in einer Blockchain aufgezeichnet wurde, stellt die Blockchain einen kryptographischen Nachweis dafür bereit, dass die Dokumente zu diesem Datum vorhanden waren. Eine Möglichkeit zum Speichern eines Dokuments in einer Blockchain besteht darin, eine Transaktion mit einem Hash des Dokuments an das Netzwerk zu senden, das in einem Block enthalten ist, wenn die Transaktion alle Konsensregeln des Netzwerks erfüllt. In einigen Implementierungen ist die Blockchain ein Permissioned Ledger, d. h. nur autorisierte Netzwerkteilnehmer dürfen Transaktionen senden. In anderen Implementierungen können nur einige autorisierte Netzwerkteilnehmer bestimmte Transaktionen durchführen. Beispielsweise können Produktparameterdaten, die Eigenschaften eines in einer Prozessanlage 10 generierten Produkts angeben, von einem Feldgerät in die Blockchain 600 hochgeladen werden, wenn das Feldgerät die Produkteigenschaften bestimmt (z. B. eine Temperatur des Produkts, ein Volumen des Produkts, eine Masse des Produkts, eine Dichte des Produkts, einen Druck des Produkts usw.). Nur ein kryptographischer Hash der Daten kann in der Blockchain 600 enthalten sein, so dass die Daten unter Verwendung der Blockchain verifiziert werden können, selbst wenn sie von einer Partei außerhalb der Chain erhalten werden. Das Validieren von Netzwerkknoten kann überprüfen, ob die signierte Transaktion oder signierte Nachricht mit dem privaten kryptographischen Schlüssel signiert wurde, der dem veröffentlichten öffentlichen kryptographischen Schlüssel entspricht, der dem Feldgerät gehört, das die Messungen sammelt. In mindestens einer Implementierung kann ein gültiger Identitätsnachweis als Konsensregel vom Blockchain-Netzwerk angewendet werden. Daher wird jede Transaktion, die versucht, neue Produktparameterdaten ohne einen kryptographischen Identitätsnachweis hinzuzufügen, der mit einer Identität übereinstimmt, die zum Hinzufügen neuer Produktparameterdaten autorisiert ist, vom Netzwerk als nicht konform mit der Konsensregel zurückgewiesen. Jedem Feldgerät in einer Prozessanlage 10 kann ein Paar aus öffentlichem Schlüssel und privatem Schlüssel zugewiesen werden, das im Blockchain-Netzwerk als dem Feldgerät entsprechend identifiziert wird. Zusätzlich kann jedes Feldgerät autorisiert sein, bestimmte Arten von Messungen zu erfassen. Beispielsweise kann ein erstes Feldgerät autorisiert sein, Temperaturmessungen für ein Produkt zu erfassen, während ein zweites Feldgerät autorisiert sein kann, Volumenmessungen zu erfassen, die das Volumen des hergestellten Produkts anzeigen. Wenn die validierenden Netzwerkknoten eine Transaktion bezüglich Produktparameterdaten empfangen, die nicht von einem autorisierten Feldgerät stammen oder eine Art von Messung enthalten, zu deren Erfassung das Feldgerät nicht autorisiert ist, lehnen die validierenden Netzwerkknoten die Transaktion ab. In einigen Ausführungsformen wird die Hauptblockchain 660 von mehreren Prozessanlagen einschließlich der Anlagen A-D zusammen mit mehreren anderen Prozessanlagen verwaltet. In einigen Ausführungsformen interagieren die Sidechains 670, 680 auch mit der Hauptblockchain 660, um der Hauptblockchain 660 mindestens einige der Transaktionen in ihren jeweiligen Blöcken 672-676, 682-686 bereitzustellen. Auf diese Weise können die Sidechains 670, 680 Daten von Transaktionen enthalten, die sich auf die Prozessanlagen beziehen, welche sie verwalten. Die Hauptblockchain 660 kann Daten von Transaktionen enthalten, die sich auf jede der Prozessanlagen beziehen. Zusätzlich können die Sidechains 670, 680 private oder sensible Daten enthalten, die nicht außerhalb der Prozessanlagen, die eine bestimmte Sidechain verwalten, gemeinsam genutzt werden sollen. Daten von der Sidechain 670, die nicht privat oder vertraulich sind, können der Hauptblockchain 660 bereitgestellt werden, während die privaten oder vertraulichen Daten nicht der Hauptblockchain 660 bereitgestellt werden. Beispielsweise kann die Sidechain 670 einen Smart Contract zwischen der Anlage A und der Anlage B ausführen, der einen Tokenwert von der Anlage A an die Anlage B überträgt, wenn die Anlage A ein Produkt von der Anlage B erhält, das bestimmte Qualitätsstandards erfüllt. Die Anlagen A und B möchten möglicherweise nicht alle Bedingungen des Smart Contracts der Öffentlichkeit oder einer großen Gruppe von Prozessanlagen offenlegen, indem sie den Smart Contract in der Hauptblockchain 660 bereitstellen, oder möchten möglicherweise nicht, dass jede Messung der Produkteigenschaften der Öffentlichkeit oder einer großen Gruppe von Prozessanlagen zur Verfügung gestellt wird. Zusätzlich erhöht sich der Speicherbedarf für die Hauptblockchain 660, wenn der Hauptblockchain 660 mehr Transaktionen hinzugefügt werden. Dementsprechend kann es den Speicherbedarf zum Validieren von Knoten in dem Distributed-Ledger-Netzwerk reduzieren, um einige Transaktionen außerhalb der Hauptblockchain 660 zu speichern. In jedem Fall kann, wenn der Smart Contract feststellt, dass die Anlage A ein Produkt von der Anlage B erhalten hat, das die erforderlichen Qualitätsstandards erfüllt, die Transaktion, die den Tokenwert von der Anlage A an die Anlage B überträgt, der Hauptblockchain 660 bereitgestellt werden. In einigen Ausführungsformen ist die Hauptblockchain 660 eine Public Blockchain, was bedeutet, dass jede Partei den Distributed Ledger sehen, neue Informationen zum Ledger hinzufügen oder dem Netzwerk als Validierungsknoten beitreten kann. Die Sidechains 670, 680 sind Private oder Permissioned Blockchains, die Chain-Daten unter einer Gruppe von Einheiten, die zur Teilnahme an dem Sidechain-Netzwerk autorisiert sind, privat halten (z. B. kann die Sidechain 670 zwischen der Anlage A und der Anlage B privat sein). In anderen Ausführungsformen ist die Hauptblockchain 660 auch eine Permissioned Blockchain, aber die Hauptblockchain weist eine größere Anzahl von Einheiten auf, die autorisiert sind, an dem Blockchain-Netzwerk teilzunehmen, als die Sidechains 670, 680. Beispielsweise kann die Hauptblockchain 660 zwischen einer großen Anzahl von Prozessanlagen einschließlich den Anlagen A-D und mehreren anderen Prozessanlagen privat sein, wohingegen die Sidechain 670 zwischen der Anlage A und der Anlage B privat ist. Zusätzlich oder als Alternative zu Sidechains kann der Distributed Ledger 650 andere Formen von Transaktionen enthalten, die außerhalb der Chain stattfinden und nicht Teil der Hauptblockchain 660 sind. Beispielsweise können zwei Parteien wie die Anlage A und die Anlage B einen Zahlungskanal eröffnen, in dem eine anfängliche Transaktion, die einen Schwellenwertbetrag eines Tokens zwischen der Anlage A und der Anlage B austauscht, der Hauptblockchain 660 bereitgestellt wird. Dann können die Anlage A und die Anlage B miteinander Transaktionen durchführen, ohne irgendetwas in der Hauptblockchain 660 aufzuzeichnen, solange sie Teile des Schwellenwertbetrags einander hin und her senden, und keine der Transaktionen dazu führt, dass eine der Prozessanlagen mehr als den Schwellenwertbetrag aufweist. Wenn die beiden Prozessanlagen eine Transaktion miteinander abgeschlossen haben, können sie den Zahlungskanal schließen und die endgültigen Tokenbeträge für jede Prozessanlage in der Hauptblockchain 660 bereitstellen. Beispielsweise können die Anlage A und die Anlage B einen Zahlungskanal eröffnen, wenn die Anlage A zwei Token an die Anlage B sendet. Die Anlage B kann dann einen Token an die Anlage A zurücksenden, sodass jede Prozessanlage einen Token aufweist, die Anlage B kann 0,5 Token zu der Anlage A zurücksenden und so weiter, solange keine der Prozessanlagen mehr als zwei Token hat. In anderen Ausführungsformen kann der Distributed Ledger 650 mehrere Blockchain-Schichten umfassen, einschließlich separater Blockchain-Schichten, die unabhängig voneinander arbeiten. Beispielsweise kann eine erste Blockchain-Schicht Transaktionen in Bezug auf die Lieferkette aufzeichnen, während eine zweite Blockchain-Schicht Transaktionen in Bezug auf den Token-Austausch aufzeichnen kann. Die erste Blockchain-Schicht kann öffentlich sein, während die zweite Blockchain-Schicht privat ist oder umgekehrt. Zusätzlich zum Datenschutz über Sidechains oder Off-Chain-Transaktionen kann in einigen Ausführungsformen der Datenschutz in einer öffentlichen Blockchain, wie der Blockchain 600, wie sie in Wie in Wie in Wie in Um Blöcke und Transaktionen kryptographisch miteinander zu verbinden, organisiert jeder Zustandsblock 762, 764 in der Superblockchain 760 seine Transaktionen in einem Merkle-Tree. Wenn eine einzelne Transaktion in dem Zustandsblockblock manipuliert wird, würde eine andere Merkle-Wurzel generiert, da die Merkle-Wurzel eine Kombination der Hashes aller Transaktionen in dem Block ist. Die Merkle-Wurzel für jeden Zustandsblock 762, 764 ist in dem Header für den Zustandsblock 762, 764 enthalten. Die in den Wie oben beschrieben können Prozessleitsysteme Smart Contracts für den Distributed Ledger bereitstellen, um den Wert auszutauschen, beispielsweise nach Erhalt eines Produkts in gutem Zustand. Smart Contracts können auch für den Distributed Ledger bereitgestellt werden, damit Maschinen wie Feldgeräte ohne menschliches Eingreifen selbstständig Transaktionen durchführen können. Der Zustand 806 des Smart Contracts für eine Aufforderung zum sicheren Schreiben kann Datenelemente enthalten, um den Bediener, der die Aufforderung zum sicheren Schreiben absendet, das Computergerät, mit dem der Bediener die Aufforderung zum sicheren Schreiben absendet, und/oder das SIS-Gerät, welches das Ziel der Aufforderung zum sicheren Schreiben ist, zu identifizieren. In einigen Ausführungsformen kann der Bediener durch kryptographische öffentliche Schlüssel identifiziert werden, die der elektronischen Geldbörse des Bedieners zugewiesen sind. Das Computergerät des Bedieners kann durch dieselben öffentlichen kryptographischen Schlüssel wie der Bediener identifiziert werden, wenn die elektronische Geldbörse des Bedieners das Computergerät des Bedieners bedient. In anderen Ausführungsformen kann das Computergerät des Bedieners durch andere kryptographische öffentliche Schlüssel identifiziert werden, von denen bekannt ist, dass sie von den anderen Netzwerkteilnehmern zum Computergerät des Bedieners gehören. In einigen Ausführungsformen kann ein Inhaber des Contracts eine eindeutige ID für das SIS-Gerät auswählen, sodass nachfolgende Transaktionen und Daten, die an den Smart Contract gesendet werden, das SIS-Gerät anhand der ID-Nummer identifizieren können. Beispielsweise kann jedes SIS-Gerät im Smart Contract eine andere eindeutige Kennung haben. Der Inhaber des Contracts kann auch Kennungen von Bedienern und/oder Computergeräten angeben, die zum Ausführen sicherer Schreibvorgänge autorisiert sind. Nachfolgende Daten, die an den Smart Contract gesendet werden, können eine Nachricht enthalten, die von privaten Schlüsseln signiert ist, die den öffentlichen Schlüsseln entsprechen, die den Bediener und/oder das Computergerät in dem Smart Contract identifizieren, wodurch ein kryptographischer Nachweis erbracht wird, dass die Transaktion von einem autorisierten Bediener und/oder einem autorisierten Computergerät initiiert wurde. Die privaten und die öffentlichen Schlüssel können ausschließlich von den Bedienern/Computergeräten verwaltet werden, um die Angriffsfläche für Angreifer zu minimieren, die versuchen könnten, eine Transaktion zu fälschen (z. B. generieren die Bediener/Computergeräte öffentliche/private kryptographische Schlüsselpaare offline und stellen lediglich den öffentlichen Schlüssel für andere Netzwerkteilnehmer zur Verfügung). Die privaten Schlüssel eines Bedieners und/oder eines Computergeräts können gemäß einem sicher gespeicherten Startwert (z. B. auf einem Stück physischem Papier oder mehreren Kopien eines Stück Papiers) generiert werden, so dass die privaten Schlüssel im Fall von einem Datenverlust wiederhergestellt werden können. Um Parameterdaten in ein SIS-Gerät zu schreiben, kann der Zustand 806 des Smart Contracts für Aufforderungen zum sicheren Schreiben Nachweise für die Aufforderung zum sicheren Schreiben erhalten. Der Nachweis für die Aufforderung zum sicheren Schreiben kann den Namen des zu ändernden Parameters im SIS-Gerät und/oder Pfadinformationen für den Parameter enthalten. Der Nachweis kann auch einen neuen Parameterwert enthalten, und in einigen Ausführungsformen kann der Nachweis einen CRC-(Cyclical Redundancy Check)-Wert oder einen anderen Fehlerprüfwert zusammen mit dem neuen Parameterwert enthalten, um sicherzustellen, dass die Parameterinformationen intakt sind und nicht verfälscht wurden. In einigen Ausführungsformen kann der Smart Contract als Reaktion auf den Empfang der Parameterinformationen einen Bestätigungsdialog für das Computergerät des Bedieners bereitstellen, der den Namen des SIS-Geräts, den Namen und/oder den Pfad für den in dem SIS-Gerät zu ändernden Parameter, den neuen Parameterwert und eine Bestätigungstaste enthält, mit welcher der Bediener die Aufforderung zum sicheren Schreiben bestätigen kann. In diesem Szenario kann der Nachweis eine Angabe enthalten, ob der Bediener die Bestätigungsschaltfläche ausgewählt hat. Der Bediener und/oder das Computergerät des Bedieners können Transaktionen an die Blockchain 802 senden, welche den Nachweis enthält. Der Nachweis kann kryptographisch signiert sein, um einen kryptographischen Identitätsnachweis zu erbringen, dass der Nachweis von einem Bediener und/oder einem Computergerät des Bedieners stammt, der zur Ausführung einer Aufforderung zum sicheren Schreiben autorisiert ist. Dementsprechend kann der Smart Contract die bereitgestellte Identität mit einer Liste von Bedienern und/oder Computergeräten vergleichen, die autorisiert sind, Aufforderungen zum sicheren Schreiben auszuführen. In einigen Ausführungsformen kann der Smart Contract die bereitgestellte Identität mit einer Liste von Bedienern und/oder Computergeräten vergleichen, die autorisiert sind, Aufforderungen zum sicheren Schreiben für das bestimmte SIS-Gerät auszuführen, welches das Ziel der Aufforderung zum sicheren Schreiben ist. Ein weiterer Aspekt des Zustands 806 des Smart Contracts für Aufforderungen zum sicheren Schreiben sind die Daten des Smart Contracts. Daten des Smart Contracts können als private und öffentliche Daten in einem Objekt betrachtet werden, das gemäß einem objektorientierten Programmierparadigma erstellt wurde, indem die Daten des Smart Contracts direkt von außerhalb des Objekts aktualisiert werden können, oder die Daten des Smart Contracts nur begrenzt aktualisiert werden können, so wie beispielsweise durch Aufrufen eines Verfahrens des Smart Contracts. Die Daten des Smart Contracts können den Namen und/oder den Pfad für den im SIS-Gerät zu ändernden Parameter und den neuen Parameterwert enthalten. In einigen Ausführungsformen können die Daten des Smart Contracts eine Angabe enthalten, ob die Parameterinformationen intakt empfangen wurden. Beispielsweise kann die Transaktion, welche den zu ändernden Parameter und Parameterinformationen enthält, auch einen CRC-Wert oder einen anderen Fehlerprüfwert enthalten. Der Smart Contract kann einen erwarteten CRC-Wert auf der Grundlage des zu ändernden Parameters und der Parameterinformationen generieren und den erwarteten CRC-Wert mit dem empfangenen CRC-Wert vergleichen. Wenn der erwartete CRC-Wert mit dem empfangenen CRC-Wert übereinstimmt, kann der Smart Contract feststellen, dass die Parameterinformationen intakt empfangen wurden. In einigen Ausführungsformen können die Daten des Smart Contracts auch eine Angabe enthalten, ob die Aufforderung zum sicheren Schreiben bestätigt wurde. Wenn der Smart Contract beispielsweise eine Transaktion durch den Bediener und/oder das Computergerät des Bedieners empfängt, die angibt, dass der Bediener die Bestätigungsschaltfläche ausgewählt hat, kann der Smart Contract bestimmen, dass die Aufforderung zum sicheren Schreiben bestätigt wurde. Zum Beispiel können die Daten des Smart Contracts, wie in In einigen Ausführungsformen kann der Smart Contract für Aufforderungen zum sicheren Schreiben Parameterinformationen an ein Ziel-SIS-Gerät oder eine mit dem Ziel-SIS-Gerät kommunikativ gekoppelte Steuerung liefern, wenn der Bediener und/oder das Computergerät, welches die Aufforderung zum sicheren Schreiben sendet, autorisiert sind, das sichere Schreiben von Daten für das Ziel-SIS-Gerät durchzuführen, die Parameterinformationen nicht beschädigt sind, und die Aufforderung zum sicheren Schreiben bestätigt wird. In anderen Ausführungsformen bestimmt der Smart Contract für Aufforderungen zum sicheren Schreiben nicht, ob die Parameterinformationen intakt empfangen werden. Stattdessen stellt der Smart Contract für Aufforderungen zum sicheren Schreiben eine erste Instanz der Parameterinformationen, einschließlich des Parameternamens und/oder -pfads, des neuen Parameterwerts und des CRC-Werts, an das Ziel-SIS-Gerät oder die Ziel-SIS-Steuerung als Reaktion auf den Empfang der Aufforderung zum sicheren Schreiben bereit. Der Smart Contract für Aufforderungen zum sicheren Schreiben stellt dem Ziel-SIS-Gerät oder der -Steuerung auch eine zweite Instanz der Parameterinformationen als Reaktion auf den Empfang einer Bestätigung der Aufforderung zum sicheren Schreiben zur Verfügung. Die Steuerung oder das Ziel-SIS-Gerät bestimmt dann, ob die Parameterinformationen in beiden Fällen gleich sind und ob die Parameterinformationen intakt empfangen wurden. Wenn die Parameterinformationen in beiden Fällen identisch sind und die Parameterinformationen intakt empfangen wurden, schreibt die Steuerung oder das Ziel-SIS-Gerät den neuen Parameterwert für den Parameter in das Ziel-SIS-Gerät. Während In einem anderen Beispiel kann ein Smart Contract bereitgestellt werden, der Geräteinformationen für ein Gerät in der Prozessanlage 10 abruft, bei dem ein Fehler aufgetreten ist, und die Geräteinformationen einem Gerätelieferanten als Reaktion auf den Empfang einer Aufforderung zum Teilen der Geräteinformationen bereitstellt. Genauer gesagt, wenn bei einem Gerät in der Prozessanlage 10, wie beispielsweise einer Prozessanlageneinheit, ein Fehler auftritt, kann das Gerät eine Transaktion an eine Adresse für den Smart Contract übermitteln, der in dem Distributed Ledger gespeichert ist. Die Transaktion kann kryptographisch signiert sein, um einen kryptographischen Identitätsnachweis zu liefern, dass die Transaktion vom Gerät stammt. In anderen Ausführungsformen kann die Prozessanlageneinheit eine Angabe des Fehlers an eine Steuerung, ein Feldgerät oder ein anderes Prozesssteuerungsgerät übermitteln, das als Nachweis-Orakel fungiert und die Transaktion generiert. In jedem Fall kann die Transaktion Geräteinformationen für das Gerät enthalten, wie beispielsweise Identifikationsinformationen für das Gerät, Marke, Modell und Jahr des Geräts, Wartungsverlauf für das Gerät, Art des Fehlers, beschädigte Teile im Gerät, etc. In einigen Ausführungsformen übermittelt der Smart Contract die Geräteinformationen an ein Computergerät des Verwaltungspersonals in der Prozessanlage 10, damit das Verwaltungspersonal die Geräteinformationen überprüfen kann. Nach Überprüfung der Geräteinformationen kann das Verwaltungspersonal feststellen, dass die Geräteinformationen vom Gerätelieferanten überprüft werden müssen, um den Fehler weiter zu untersuchen und/oder ein Ersatzgerät oder Ersatzteile bereitzustellen. Dementsprechend kann das Computergerät des Verwaltungspersonals eine Transaktion generieren, die den Smart Contract auffordert, die Geräteinformationen an den Gerätelieferanten weiterzuleiten. Die Transaktion kann kryptographisch signiert sein, um einen kryptographischen Identitätsnachweis zu liefern, dass die Transaktion vom Verwaltungspersonal stammt. In Reaktion auf die Feststellung, dass die Aufforderung zur Bereitstellung der Geräteinformationen an den Gerätelieferanten von autorisiertem Verwaltungspersonal stammt, kann der Smart Contract die Geräteinformationen an ein Computergerät des Gerätelieferanten weiterleiten. Ein weiterer beispielhafter Smart Contract ist ein Smart Contract, der einen Tokenwert von einer ersten Prozessanlage erhält, feststellt, dass ein Produkt bestimmte Qualitätsstandards erfüllt, die von einer zweiten Prozessanlage auf die erste Prozessanlage übertragen wurden, und der zweiten Prozessanlage den Tokenwert bereitstellt. In einigen Ausführungsformen kann der Smart Contract einen Hinweis erhalten, dass das Produkt in der ersten Prozessanlage von einem Nachweis-Orakel wie einem Feldgerät in der ersten Prozessanlage empfangen wurde. Das Feldgerät kann auch Parameterdaten in Bezug auf das Produkt bereitstellen, die der Smart Contract mit einer Reihe von Qualitätsmetriken vergleicht, um zu bestimmen, ob die Produkte die Qualitätsstandards erfüllen. Wenn das Produkt die Qualitätsstandards erfüllt, stellt der Smart Contract der zweiten Prozessanlage den Tokenwert bereit. Andernfalls kann der Smart Contract den Tokenwert an die erste Prozessanlage zurückgeben. Die Distributed Ledgers des Prozessleitsystems können viele verschiedene Arten von Transaktionen enthalten, die sich auf die Prozesssteuerung beziehen. Diese Transaktionen können umfassen: 1) Transaktionen in Bezug auf die Lieferung oder den Empfang eines Produkts in einer Prozessanlage 10 und die gelieferte/erhaltene Menge; 2) Transaktionen im Zusammenhang mit Software- oder Firmware-Upgrades an Geräten in der Prozessanlage 10, wie z. B. Bedienerarbeitsplätze, Servergeräte, Steuerungen, E/A-Geräte, Netzwerkgeräte, Feldgeräte usw.; 3) Transaktionen im Zusammenhang mit der Qualitätskontrolle, der Produktion oder dem behördlichen Berichtswesen in der Prozessanlage 10; 4) Transaktionen, die Prozessanlagendaten aufzeichnen; und 5) Transaktionen, welche die Produktüberwachungskette über Produktverfolgungsdaten aufzeichnen. In einigen Szenarien werden die Transaktionen für Smart Contracts bereitgestellt, um beispielsweise einen Zustand des Smart Contracts zu ändern. In anderen Szenarien werden die Transaktionen nicht für Smart Contracts bereitgestellt und lediglich als sichere, unveränderliche und vertrauenswürdigen Aufzeichnung von Informationen, die sich auf eine Prozessanlage oder mehrere Prozessanlagen im Distributed Ledger beziehen, erfasst. Die Transaktion 906 kann eine Transaktions-ID und einen Urheber wie das Feldgerät 456 in Anlage A (identifiziert durch einen kryptographischen Identitätsnachweis) enthalten. Die Transaktion 906 kann auch Identifikationsinformationen in Bezug auf das Produkt, den Anbieter des Produkts (z. B. einen Ölproduzenten) und Informationen in Bezug auf die Menge des erhaltenen Produkts enthalten. Beispielsweise kann das Feldgerät ein Durchflusssensor sein, der das in der Anlage A über einen bestimmten Zeitraum (z. B. eine Stunde, einen Tag usw.) erhaltene Ölvolumen bestimmt und das Volumen in die Transaktion einbezieht. In anderen Ausführungsformen kann das Feldgerät mehrere Flussraten zu verschiedenen Zeitperioden in einer Reihe von Transaktionen enthalten, und die Flussraten als eine Funktion der Zeit können verwendet werden, um die in Anlage A empfangene Ölmenge zu bestimmen. Des Weiteren kann die Transaktion 906 einen kryptographischen Hash der Informationen bezüglich des Ereignisses, der Produktkennung und der Produktanbieterkennung enthalten. In einer anderen Implementierung werden die Informationen bezüglich des Ereignisses, der Produktkennung und der ProduktanbieterKennung nicht als kryptographischer Hash gespeichert, sondern es kann ein Beobachter oder ein anderer Netzwerkteilnehmer direkt auf die Informationen in Block 904 zugreifen. Während in diesem Beispiel das Feldgerät für die Prozessanlage 10, die das Produkt empfängt, eine Transaktion generiert, kann ein Feldgerät für eine Prozessanlage 10 oder eine andere Einheit, die das Produkt bereitstellt, eine Transaktion generieren. Diese Transaktion kann zusätzlich oder alternativ zu der Transaktion durch das Feldgerät für die Prozessanlage 10 generiert werden, welche das Produkt empfängt. Um zu verhindern, dass nicht autorisierte Software oder Firmware in eine Prozessanlage 10 eingeführt wird, können Software- und Firmware-Upgrades für Geräte in der Prozessanlage 10 in einem Distributed Ledger, wie den oben beschriebenen Distributed Ledgers, digital aufgezeichnet werden. Das Distributed Ledger kann Aufzeichnungen über jede Software- und Firmware-Upgrade eines Geräts in der Prozessanlage 10 verwalten, einschließlich der Zeit und des Datums der Aktualisierung, der Identität des Benutzers, der das Upgrade durchführt (über einen kryptographischen Identitätsnachweis), und Änderungen an der vorherigen Version der Software und/oder der neuen Version der Software. Ein Servergerät 12 oder ein anderes Computergerät in der Prozessanlage 10 kann kontinuierlich oder periodisch (z. B. einmal pro Sekunde, einmal pro Minute, einmal pro Stunde, einmal pro Tag usw.) aktuelle Versionen von Software und Firmware erhalten, die in Geräten in der Prozessanlage 10 ausgeführt werden. Die Servergerät 12 kann auch die Transaktionen aus dem Distributed Ledger abrufen und die aktuelle Software oder Firmware in einem Gerät mit der neuesten Version der Software oder Firmware vergleichen, die in dem Distributed Ledger aufgezeichnet ist. In einigen Ausführungsformen speichert der Distributed Ledger einen kryptographischen Hash der neuen Version der Software oder Firmware und vergleicht die aktuelle Software oder Firmware, die in dem Gerät ausgeführt wird, mit dem kryptographischen Hashwert, um sicherzustellen, dass die Software oder Firmware nicht manipuliert wurde. Wenn die aktuelle Software oder Firmware im Gerät nicht mit der neuesten Version der Software oder Firmware übereinstimmt, die im Distributed Ledger aufgezeichnet ist, kann das Servergerät 12 verhindern, dass das Gerät die aktuelle Software oder Firmware ausführt. In einigen Ausführungsformen kann das Servergerät 12 bewirken, dass die Software oder Firmware in dem Gerät auf eine vorherige Version zurückgesetzt wird, beispielsweise durch Herunterladen der vorherigen Version auf das Gerät. Auf diese Weise können nicht autorisierte Benutzer die in der Prozessanlage 10 ausgeführte Software oder Firmware nicht manipulieren. Die Transaktion 1006 kann eine Transaktions-ID und einen Urheber enthalten, der die Software oder Firmware modifiziert, wie beispielsweise John Doe (identifiziert durch einen kryptographischen Identitätsnachweis). Die Transaktion 1006 kann auch Identifikationsinformationen (Bedienerarbeitsplatz 1234) für das Gerät, das die Software oder Firmware ausführt (identifiziert durch einen kryptographischen Identitätsnachweis), eine Beschreibung einschließlich einer Versionsnummer und einer Zeit und eines Datums des Upgrades („Aktualisierung auf Version 10.3.1.4 am 15. Januar 2019 um 6: 02 Uhr morgens“). Weiterhin kann die Transaktion 1006 einen kryptographischen Hash der Softwareanweisungen für die neue Version der Software enthalten. In einer anderen Implementierung wird die neue Version der Software nicht als kryptographischer Hash gespeichert, sondern ist in Block 1004 für einen Beobachter oder einen anderen Netzwerkteilnehmer direkt zugänglich. In einigen Ausführungsformen geben die Konsensregeln an, dass nur autorisierte Benutzer Software- oder Firmware-Aktualisierungen auf dem Distributed Ledger aufzeichnen dürfen. Wenn dementsprechend die Transaktion 1006 an den Distributed Ledger gesendet wird, validieren die Validierungsknoten die Transaktion 1006, wenn der Urheber ein autorisierter Benutzer ist. Wenn der Urheber kein autorisierter Benutzer ist, ist die Transaktion 1006 nicht im Distributed Ledger enthalten, und die Aktualisierung der Software stimmt nicht mit der neuesten Version der Software überein, die im Distributed Ledger aufgezeichnet ist. In einem beispielhaften Szenario erhält eine Servergerät 12 in der Prozessanlage 10 am 15. Januar 2019 um 6: 03 Uhr morgens den Zustand der in dem Bedienerarbeitsplatz 1234 ausgeführten Software und vergleicht die Software mit dem kryptographischen Hash der Softwareanweisungen für die neue Version der Software in dem Distributed Ledger, indem beispielsweise ein kryptographischer Hash der Softwareanweisungen ausgeführt wird, die in dem Bedienerarbeitsplatz 1234 ausgeführt werden. Wenn die kryptographischen Hashes gleich sind, stellt das Servergerät 12 fest, dass die Software nicht manipuliert wurde. Wenn sich andererseits die kryptographischen Hashes unterscheiden, stellt das Servergerät fest, dass die Software manipuliert wurde, und verhindert, dass der Bedienerarbeitsplatz 1234 die Software in ihrem aktuellen Zustand ausführt. Das Servergerät 12 lädt dann den vorherigen Zustand der Software auf den Bedienerarbeitsplatz 1234 herunter, und der Bedienerarbeitsplatz 1234 setzt die Ausführung der Software in ihrem vorherigen Zustand fort. In Prozessanlagen gelten Berichterstattungs- und Aufzeichnungspflichten, um die Anforderungen von Aufsichtsbehörden wie beispielsweise der Environmental Protection Agency (EPA) zu erfüllen. Zum Beispiel die von der EPA erlassenen Vorschriften zur Lecksuche und -behebung (Leak Detection and Repair, LDAR), um die Emission entweichender flüchtiger organischer Verbindungen und gefährlicher Luftschadstoffe von zum Beispiel undichten Geräten wie Ventilen, Pumpen und Anschlüssen in Prozessanlagen zu minimieren. Zur Einhaltung der Vorschriften und zur Bereitstellung einer sicheren, unveränderlichen und vertrauenswürdigen Aufzeichnung können die regulatorischen Daten in einem Distributed Ledger aufgezeichnet werden. Beispielsweise können als Reaktion auf ein auslösendes Ereignis wie ein Alarm, ein Fehler, ein Leck, ein Reparaturereignis, ein Prozessmeilenstein, eine Korrekturmaßnahme usw. Prozesssteuerungselemente wie Feldgeräte, Steuerungen oder Prozessanlageneinheiten Transaktionen generieren, die Daten aus dem auslösenden Ereignis enthalten, wie beispielsweise den Zeitpunkt, an dem das Ereignis stattfand, die Dauer des Ereignisses, Prozessparameterwerte für am Ereignis beteiligte Prozessanlageneinheiten, Produktparameterwerte für am Ereignis beteiligte Produkte usw. Die regulatorischen Daten werden dann im Distributed Ledger erfasst, sodass die Aufsichtsbehörden die Daten überprüfen können. In einigen Ausführungsformen wird, wenn ein auslösendes Ereignis stattfindet, das auslösende Ereignis von einem der Prozesssteuerungselemente erfasst. Das Prozesssteuerungselement benachrichtigt dann andere Prozesssteuerungselemente über das auslösende Ereignis und weist dem auslösenden Ereignis eine eindeutige Kennung zu. Auf diese Weise kann jedes der Prozesssteuerungselemente Messungen in Bezug auf das auslösende Ereignis erfassen und Transaktionen an den Distributed Ledger senden, wobei jede Transaktion dieselbe eindeutige Kennung für das auslösende Ereignis enthält. In einigen Ausführungsformen werden regulatorische Daten in einer öffentlichen Blockchain aufgezeichnet, so dass jeder die regulatorischen Daten einer Prozessanlage 10 sehen kann. In anderen Ausführungsformen werden die regulatorischen Daten in einer Private oder Permissioned Blockchain aufgezeichnet, auf welche die Prozessanlage 10 und die Aufsichtsbehörde zugreifen können. In noch anderen Ausführungsformen werden die regulatorischen Daten in einer Private oder Permissioned Blockchain aufgezeichnet, auf die mehrere Prozessanlagen in einem Prozessanlagen-Netzwerk zusammen mit der Aufsichtsbehörde zugreifen können. Die Transaktion 1106 kann eine Transaktions-ID und einen Urheber (Heater Y-001) umfassen, welche die Produkt- oder Prozessparameter-Messung (identifiziert durch einen kryptographischen Identitätsnachweis) sammeln. Die Transaktion 1106 kann auch Identifikationsinformationen in Bezug auf das Produkt, Produktparameterdaten (z. B. die Produkttemperatur wurde 2 Stunden lang auf 100°C gehalten) und Prozessparameterdaten (z. B. die Temperatur in der Heizung Y-001 beträgt 120°C) enthalten. Wenn die Transaktion 1106 als Reaktion auf ein auslösendes Ereignis generiert wird, kann die Transaktion 1106 auch Identifikationsinformationen für das auslösende Ereignis und Ereignisdaten aus dem auslösenden Ereignis enthalten, wie beispielsweise den Zeitpunkt des auslösenden Ereignisses, eine Dauer des auslösenden Ereignisses und/oder eine Beschreibung des auslösenden Ereignisses. In einigen Szenarien generieren mehrere Prozessanlageneinheiten Transaktionen als Reaktion auf dasselbe auslösende Ereignis und kommunizieren miteinander, um dem auslösenden Ereignis eine eindeutige Kennung zuzuweisen. Auf diese Weise kann eine Partei, beispielsweise eine Aufsichtsbehörde, die den Distributed Ledger prüft, jede der Transaktionen sehen, die mit demselben auslösenden Ereignis verbunden sind. Darüber hinaus kann die Transaktion 1106 einen kryptographischen Hash der Produkt- und/oder Prozessparameterdaten zusammen mit Daten enthalten, die sich auf ein auslösendes Ereignis beziehen. In einer anderen Implementierung werden die Produktparameterdaten, Prozessparameterdaten und andere Daten, die sich auf ein auslösendes Ereignis beziehen, nicht als ein kryptographischer Hash gespeichert, sondern sind in Block 1104 für einen Beobachter oder einen anderen Netzwerkteilnehmer direkt zugänglich. Wie oben beschrieben, können auslösende Ereignisse Alarme, Fehler, Lecks, Reparaturereignisse, Korrekturmaßnahmen usw. umfassen. In einem beispielhaften Szenario kann das auslösende Ereignis ein Leck in der Prozessanlage 10 sein, das durch das Öffnen eines Überdruckventils verursacht wird. Das Überdruckventil kann sich öffnen, wenn der Druck in dem Prozessleitsystem einen Schwellenwertbetrag für den Druck überschreitet oder das Überdruckventil sich proportional zu dem am Ventil erfassten Druckbetrag öffnen kann. Wenn sich das Überdruckventil öffnet, kann das Überdruckventil oder ein oder mehrere andere Feldgeräte den Zeitpunkt des Öffnens, die Dauer des Öffnens, die Größe des Öffnens, den Druck im Überdruckventil beim Öffnen, die Durchflussmenge von aus dem Überdruckventil austretenden Fluid und/oder Eigenschaften des Fluids wie die Temperatur des Fluids, die Art des Fluids usw. erfassen. In einigen Ausführungsformen kann die Menge des aus dem Überdruckventil austretenden Fluids auch auf der Grundlage der Durchflussmenge, der Größe des Öffnens und der Dauer des Öffnens des Überdruckventils bestimmt werden. Dann können das Überdruckventil und/oder ein oder mehrere andere Feldgeräte Transaktionen generieren, ähnlich der Transaktion 1106, welche dieselbe eindeutige Kennung für das auslösende Ereignis und/oder dieselbe Beschreibung für das auslösende Ereignis eines Lecks enthalten, das durch das Öffnen des Überdruckventils verursacht wird. Jede der Transaktionen kann auch Prozessparameterdaten enthalten, wie den Zeitpunkt des Öffnens, die Größe des Öffnens, den Druck im Überdruckventil, die Durchflussrate des aus dem Überdruckventil austretenden Fluids usw. Die Transaktionen können auch Produktparameterdaten, wie z. B. die Eigenschaften des Fluids umfassen. Die Geräte, welche die Transaktionen generieren, leiten die Transaktionen dann an das Distributed-Ledger-Netzwerk weiter, um Knoten zu validieren, z. B. Edge-Gateways, um zu bestätigen, dass die Transaktionen gültig sind, und um die Transaktionen in den Distributed Ledger aufzunehmen. Eine Aufsichtsbehörde, die den Vorfall prüft, kann Ereignisdaten vom Distributed Ledger anfordern und abrufen, die in Transaktionen, welche die auslösende Ereigniskennung aufweisen, enthalten sind. Das Computergerät der Aufsichtsbehörde, wie beispielsweise das Computergerät 235, wie in Zusätzlich zum Aufzeichnen von Prozessparameterdaten und Produktparameterdaten in Transaktionen, die sich auf ein auslösendes Ereignis beziehen, können Prozess- und Produktparameterdaten in Transaktionen enthalten sein, die sich nicht auf ein auslösendes Ereignis beziehen, um beispielsweise genaue Aufzeichnungen der Operationen einer Prozessanlage 10 zu verwalten. Andere Arten von Prozessanlagendaten können ebenfalls in Transaktionen enthalten sein, wie beispielsweise Konfigurationsdaten, Benutzerinteraktionsdaten, Verwaltungsdaten, Inbetriebnahmedaten, Anlagennetzwerkdaten, Produktverfolgungsdaten oder andere geeignete Daten, die in einer Prozessanlage oder mehreren Prozessanlagen generiert werden oder damit zusammenhängen. Benutzerinteraktionsdaten können Operationen umfassen, die von einem Bediener oder einem Konfigurationstechniker beispielsweise an einem Bedienerarbeitsplatz ausgeführt werden. Der Bediener kann Sollwerte einstellen, auf Alarme reagieren usw., und zwar über Benutzersteuerungen an dem Bedienerarbeitsplatz, die in Transaktionen als Benutzerinteraktionsdaten enthalten sein können. Auf diese Weise kann die Prozessanlage 10, wenn eine konkurrierende Einheit die Qualität eines in der Prozessanlage 10 hergestellten Produkts in Frage stellt, Prozessanlagendaten aus dem Distributed Ledger abrufen, die sich auf das Produkt beziehen. Die Prozessanlage 10 kann dann Aufzeichnungen von jeder der Prozessanlageneinheiten, die an der Herstellung des Produkts beteiligt sind, Parameterwerte für die Prozessanlageneinheiten bei der Herstellung des Produkts, Parameterwerte für das Produkt in verschiedenen Phasen des Herstellungsprozesses überprüfen, was Ereignisse auslöst, die während der Herstellung des Produkts usw. stattgefunden haben. Dementsprechend kann die Prozessanlage 10 bestimmen, ob das Produkt ordnungsgemäß hergestellt wurde, um bestimmte Qualitätsstandards zu erfüllen, oder ob eine Abnormalität während der Produktion auftrat, die dazu führte, dass das Produkt die Qualitätsstandards nicht erfüllte. Die Prozessanlagendaten können auch verwendet werden, um eine Ursachenanalyse an Produkten durchzuführen. Beispielsweise können Produkte eine vorhergesagte Haltbarkeit aufweisen, wie beispielsweise Benzin, dessen Halbwertszeit weniger als einen Monat betragen kann. In einigen Ausführungsformen kann ein Computergerät die Haltbarkeit eines Produkts auf der Grundlage der Eigenschaften des Produkts vorhersagen, einschließlich Prozessparameterdaten und Produktparameterdaten, die im Distributed Ledger aufgezeichnet wurden, während das Produkt hergestellt wurde. Das Computergerät kann auch die Haltbarkeit des Produkts auf der Grundlage von historischen Daten für ähnliche Produkte mit ähnlichen Komponenten und/oder Prozessparameterdaten und Produktparameterdaten während der Herstellung vorhersagen. Insbesondere kann das Computergerät die Haltbarkeit eines Produkts auf der Grundlage der durchschnittlichen Haltbarkeit desselben Produkttyps (z. B. Benzin) vorhersagen. Das Computergerät kann dann die vorhergesagte Haltbarkeit von der durchschnittlichen Haltbarkeit auf der Grundlage der Qualität der Komponenten in dem Produkt erhöhen oder verringern. Beispielsweise können Komponenten als überdurchschnittlich, durchschnittlich oder unterdurchschnittlich eingestuft werden. Komponentenangaben können in einer Datenbank mit zugehörigen Rangfolgen oder Qualitätsbewertungen gespeichert werden. Komponenten mit einem Qualitätsfaktor unter einem ersten Schwellenwert oder einem Rang unter einem ersten Schwellenwert können als unterdurchschnittlich eingestuft werden. Komponenten mit einer Qualitätsbewertung über einer ersten Schwellenwertbewertung und unter einer zweiten Schwellenwertbewertung oder die über dem ersten Schwellenwert und unter einem zweiten Schwellenwert liegen, können als durchschnittlich eingestuft werden. Komponenten mit einer Qualitätsbewertung über der zweiten Schwellenwertbewertung oder die über dem zweiten Schwellenwert liegen, können als überdurchschnittlich eingestuft werden. Das Computergerät kann die vorhergesagte Haltbarkeit in Abhängigkeit von den Eigenschaften des Produkts, wie beispielsweise einer Temperatur des Produkts, einem Volumen des Produkts, einer Masse des Produkts, einer Dichte des Produkts, einem Druck des Produkts, einer Viskosität des Produkts, einer chemischen Zusammensetzung des Produkts usw. weiter erhöhen oder verringern. Beispielsweise kann das Computergerät jeder Eigenschaft eine Qualitätsbewertung zuweisen und die vorhergesagte Lagerfähigkeit auf der Grundlage von jeder der Qualitätsbewertungen anpassen. In einigen Ausführungsformen kann das Computergerät ein maschinelles Lernmodell generieren, um die Haltbarkeit eines Produkts auf der Grundlage der tatsächlichen Haltbarkeit vorheriger Produkte, der Komponenten in den vorherigen Produkten und der Eigenschaften der vorherigen Produkte vorherzusagen. Wenn die tatsächliche Haltbarkeit eines Produkts von der vorhergesagten Haltbarkeit abweicht, kann das Computergerät außerdem Prozessanlagendaten, die sich auf das Produkt beziehen, aus dem Distributed Ledger abrufen, um die Ursache zu identifizieren. Beispielsweise kann die tatsächliche Haltbarkeit aufgrund von Komponenten mit schlechter Qualität im Produkt geringer sein als die vorhergesagte Haltbarkeit. In einem anderen Beispiel kann die tatsächliche Haltbarkeit geringer als die vorhergesagte Haltbarkeit sein, da eine Heizung in der Prozessanlage 10 das Produkt auf eine unerwünschte Temperatur erwärmt. Um genaue Aufzeichnungen der Produktüberwachungskette von Produkten in einer Lieferkette zu erhalten, können Transaktionen generiert werden, die Identifikationsinformationen für die Quelle oder den Lieferanten eines Produkts und die mit dem Produkt befassten Einheiten wie Hersteller, Händler, Vertriebseinrichtungen, Einzelhändler und den Kunden, der das Produkt kauft, umfassen. Insbesondere können die Transaktionen Produktverfolgungsdaten, welche Identifikationsinformationen für das Produkt, Identifikationsinformationen für den Lieferanten/Hersteller des Produkts, Identifikationsinformationen für Hersteller/Anbieter jeder der Komponenten des Produkts, Identifikationsinformationen für Einheiten in der Lieferkette enthalten, die das Produkt erhalten und handhaben, Identifikationsinformationen für Einzelhändler, die das Produkt verkaufen, und/oder Identifikationsinformationen für Kunden, die das Produkt kaufen, enthalten. Wenn das Produkt von einer Einheit (z. B. einer Prozessanlage) an eine andere Einheit (z. B. ein Lagerhaus) geliefert wird, kann die liefernde Einheit eine Transaktion generieren, die Identifikationsinformationen für die liefernde Einheit, Identifikationsinformationen für die empfangende Einheit und eine Angabe umfasst, dass das Produkt an die empfangende Einheit übertragen wird. Dementsprechend kann ein Benutzer wie beispielsweise ein Kunde über eine Benutzeroberflächenvorrichtung jede der Transaktionen, die ein bestimmtes Produkt betreffen, aus dem Distributed Ledger unter Verwendung der Identifikationsinformationen für das Produkt abrufen. Die Benutzeroberflächenvorrichtung kann dann über eine Benutzeroberfläche Angaben des Lieferanten oder die Herkunft des Produkts und der Einheiten, die das Produkt gehandhabt haben, wie Hersteller, Händler, Vertriebseinrichtungen, Einzelhändler und den Kunden, der das Produkt kauft, anzeigen. Die Benutzeroberflächenvorrichtung kann auch Angaben der Komponenten des Produkts über die Benutzeroberfläche anzeigen. Der Benutzer kann dann jede der Transaktionen, die eine bestimmte Komponente des Produkts betreffen, aus dem Distributed Ledger unter Verwendung von Identifikationsinformationen für die Komponente abrufen. Dann kann die Benutzeroberflächenvorrichtung über die Benutzeroberfläche Angaben des Lieferanten oder der Herkunft der Komponente und der Einheiten, welche die Komponente gehandhabt haben, wie Hersteller, Händler, Vertriebseinrichtungen usw., anzeigen. In einigen Ausführungsformen kann die Produktverpackung eine Produktkennung enthalten, wie beispielsweise einen Barcode oder ein RFID- (Radio Frequency Identification)-Tag, der beim Scannen Daten aus dem Distributed Ledger für das Produkt bereitstellt. Beispielsweise kann ein Benutzer den Barcode oder das RFID-Tag über ein Mobilgerät scannen, das dann Angaben zum Lieferanten oder zur Herkunft des Produkts sowie zu den Einheiten, die das Produkt auf dem Mobilgerät gehandhabt haben, anzeigt. Bei Block 1202 werden Daten, die sich auf ein Prozesssteuerungselement beziehen, von einem Feldgerät erhalten. Das Prozesssteuerungselement kann ein Feldgerät, eine Steuerung oder eine Prozessanlageneinheit wie ein Ventil, ein Tank, ein Mischer, eine Pumpe, ein Wärmetauscher usw. sein. Die Daten können Prozessanlagendaten wie beispielsweise Prozessparameterdaten für Parameter des Prozesssteuerungselements (z. B. ein Tankfüllstand, eine Pumpendrehzahl, die Temperatur in einem Wärmetauscher) und Produktparameterdaten für ein Produkt, das in das Prozesssteuerungselement eintritt, aus diesem austritt und/oder von diesem gesteuert wird (z. B. die Temperatur eines Fluids in einem Tank, die Durchflussrate des aus einem Ventil austretenden Fluids) sein. Dann wird bei Block 1204 eine Transaktion generiert, welche die Prozessanlagendaten enthält, die sich auf das Prozesssteuerungselement beziehen. Die Einheit (z. B. ein Feldgerät), welche die Transaktion generiert, signiert die Transaktion mit einer für die Einheit eindeutigen kryptographischen Signatur (Block 1206) und ergänzt die Transaktion mit Identitätsdaten für die Einheit, wie beispielsweise einem öffentlichen kryptographischen Schlüssel, welcher der Einheit gehört (Block 1208). Beispielsweise kann die Transaktion durch einen privaten kryptographischen Schlüssel signiert werden, der dem öffentlichen kryptographischen Schlüssel entspricht, welcher der Einheit gehört. Bei Block 1210 wird die Transaktion an einen Teilnehmer in dem Distributed-Ledger-Netzwerk übermitteln. Beispielsweise kann ein Feldgerät die Transaktion an das Distributed-Ledger-Netzwerk senden. Ein Validierungsknoten wie ein Edge-Gateway kann dann bestätigen, dass die Transaktion gültig ist, die Transaktion einem Transaktionsblock hinzufügen, ein kryptographisches Puzzle lösen und die Lösung in den neu generierten Block als Nachweis für die zum Generieren des Blocks geleistete Arbeit aufnehmen. Der Validierungsknoten kann dann den neu generierten Block an jeden der anderen Validierungsknoten in dem Distributed-Ledger-Netzwerk liefern, um den neu generierten Block in deren jeweilige Kopien des Distributed Ledgers aufzunehmen. In einigen Ausführungsformen bestätigt der Validierungsknoten die Transaktion anhand eines Satzes von Konsensregeln und fügt die Transaktion einem Block hinzu, wenn die Transaktion jede der Konsensregeln erfüllt. Beispielsweise kann eine Konsensregel beinhalten, dass der Urheber einer Transaktion einen Identitätsnachweis vorlegt, so dass nur genehmigte Einheiten Transaktionen in dem Distributed Ledger verursachen können. Eine Konsensregel kann erfordern, dass die Blöcke und Transaktionen Formatanforderungen erfüllen und bestimmte Meta-Informationen in Bezug auf die Transaktion liefern (z. B. müssen Blöcke unterhalb einer Größenbeschränkung sein, Transaktionen müssen eine Reihe von Feldern usw. enthalten). Jede Transaktion, welche die Konsensregel nicht erfüllt, wird ignoriert, indem Knoten überprüft werden, welche die Transaktion empfangen, und die Transaktion wird nicht an andere Knoten weitergegeben. Der Validierungsknoten umfasst einen Transceiver zur Kommunikation mit Feldgeräten, Steuerungen oder anderen Computergeräten in der Prozessanlage 10, die Transaktionen, welche Daten des Distributed Ledgers wie Prozessanlagendaten aufweisen, senden. Zusätzlich kann der Validierungsknoten einen Speicher zum Speichern einer Kopie des Distributed Ledgers enthalten, einschließlich einer Zustandsdatenbank zum Speichern von Zuständen von Smart Contracts, die auf dem Distributed Ledger bereitgestellt sind. Ferner kann der Validierungsknoten Anwendungen enthalten, wie beispielsweise einen Prozessdatenvalidierer, der einen Satz von Konsensregeln auf die dezentralen Ledgerdaten anwendet und die Daten des Distributed Ledgers an die Kopie des Validierungsknotens des Distributed Ledgers anfügt, wenn die Daten des Distributed Ledgers die Konsensregeln erfüllen. Bei Block 1302 werden Daten, die sich auf ein Prozesssteuerungselement beziehen, von einem Feldgerät erhalten. Das Prozesssteuerungselement kann ein Feldgerät, eine Steuerung oder eine Prozessanlageneinheit wie ein Ventil, ein Tank, ein Mischer, eine Pumpe, ein Wärmetauscher usw. sein. Die Daten können Prozessanlagendaten wie beispielsweise Prozessparameterdaten für Parameter des Prozesssteuerungselements (z. B. ein Tankfüllstand, eine Pumpendrehzahl, die Temperatur in einem Wärmetauscher) und Produktparameterdaten für ein Produkt, das in das Prozesssteuerungselement eintritt, aus diesem austritt und/oder von diesem gesteuert wird (z. B. die Temperatur eines Fluids in einem Tank, die Durchflussrate des aus einem Ventil austretenden Fluids) sein. Dann wird in Block 1304 eine Transaktion generiert, welche die Prozessanlagendaten enthält, die sich auf das Prozesssteuerungselement beziehen. Die die Transaktion generierende Einheit (z. B. ein Feldgerät) signiert die Transaktion mit einer für die Einheit eindeutigen kryptographischen Signatur und ergänzt die Transaktion mit Identitätsdaten für die Einheit, z. B. einem öffentlichen kryptographischen Schlüssel, welcher der Einheit gehört. Beispielsweise kann die Transaktion durch einen privaten kryptographischen Schlüssel signiert werden, der dem öffentlichen kryptographischen Schlüssel entspricht, welcher der Einheit gehört. Bei Block 1306 wird die Transaktion an einen Teilnehmer in einem lokalen Distributed-Ledger-Netzwerk übermitteln. Es kann mehrere lokale Distributed Ledger geben, wobei jedes lokale Distributed Ledger von einer anderen Partei oder einer anderen Prozessanlage verwaltet wird. Beispielsweise kann ein lokales Distributed-Ledger-Netzwerk für die Anlage A aus Edge-Gateways in der Anlage A bestehen. Die Edge-Gateways können Transaktionen aufzeichnen, die Prozessanlagendaten enthalten, die sich auf Ereignisse und Geräte in der Anlage A beziehen. Transaktionen werden für einen bestimmten Zeitraum oder eine bestimmte Epoche dann zu dem lokalen Distributed-Ledger-Netzwerk hinzugefügt. Nachdem der Schwellenwertzeitraum abgelaufen ist (Block 1308), stellen die Validierungsknoten, die den lokalen Distributed Ledger verwalten, die Transaktionen oder Transaktionsblöcke, die während des Schwellenwertzeitraums generiert wurden, einem globalen Distributed-Ledger-Netzwerk (Block 1310) zur Verfügung. Das globale Distributed-Ledger-Netzwerk kann das Validieren von Knoten über mehrere Prozessanlagen hinweg umfassen, beispielsweise einen Cloud-Dienst mit mehreren Cloud-Computing-Systemen. Die Validierungsknoten können für jede Prozessanlage einen globalen Distributed Ledger (z. B. eine globale Blockchain) verwalten. Dann können die Validierungsknoten im lokalen Distributed-Ledger-Netzwerk Blöcke aus dem lokalen Distributed Ledger entfernen oder beschneiden, die dem globalen Distributed Ledger bereitgestellt wurden, das nicht der letzte Block ist. Die Validierungsknoten für den lokalen Distributed Ledger können weiterhin Blöcke generieren, die Blöcke nach Ablauf jeder Zeitepoche an das globale Distributed-Ledger-Netzwerk senden und lokale Kopien der Blöcke entfernen, wenn die Blöcke der globalen Blockchain hinzugefügt wurden. In einigen Ausführungsformen wird auch jede der globalen Blockchains für die jeweiligen Einheiten oder Prozessanlagen kombiniert, um eine Superblockchain, welche Zustandsblöcke aufweist, zu generieren. Jeder Zustandsblock enthält jeden der Blöcke aus den globalen Blockchains, die einem bestimmten Zeitraum oder einer bestimmten Epoche entsprechen. Bei Block 1402 wird ein auslösendes Ereignis in Bezug auf die Qualitätskontrolle durch ein Prozesssteuerungselement erfasst. Das auslösende Ereignis kann ein Alarm, ein Fehler, ein Leck, ein Reparaturereignis, ein Prozessmeilenstein, eine Korrekturmaßnahme usw. sein. In einigen Ausführungsformen wird eine Angabe des auslösenden Ereignisses einem Feldgerät, einer Steuerung oder einem anderen Computergerät in der Prozessanlage 10 bereitgestellt. In anderen Ausführungsformen erfasst das Feldgerät, die Steuerung oder ein anderes Computergerät das auslösende Ereignis. In jedem Fall werden bei Block 1404 Ereignisdaten für das auslösende Ereignis erhalten. Die Ereignisdaten können eine eindeutige Kennung für das auslösende Ereignis, einen Zeitpunkt des auslösenden Ereignisses, eine Dauer des auslösenden Ereignisses, eine Beschreibung des auslösenden Ereignisses, Identifikationsinformationen für die am auslösenden Ereignis beteiligten Prozesssteuerungselemente, Identifikationsinformationen für ein Produkt enthalten, das von den Prozesssteuerungselementen während des ausgelösten Ereignisses usw. hergestellt wird. Dann wird bei Block 1406 eine Transaktion generiert, welche die Ereignisdaten und/oder einen kryptographischen Hash der Ereignisdaten für das auslösende Ereignis enthält. Die Transaktion kann auch Identifikationsinformationen für den Urheber der Transaktion, Produktparameterdaten für das Produkt, als das auslösende Ereignis stattfand, Prozessparameterdaten für Prozesssteuerungselemente während des auslösenden Ereignisses oder andere geeignete Informationen enthalten. In einigen Ausführungsformen können mehrere Feldgeräte, Steuerungen oder andere Computergeräte in der Prozessanlage 10 Transaktionen generieren, die sich auf das auslösende Ereignis beziehen. Beispielsweise kann ein erstes Feldgerät eine Transaktion generieren, welche die Temperatur in einer Heizung zum Zeitpunkt des auslösenden Ereignisses enthält, während ein zweites Feldgerät eine Transaktion generieren kann, welche die Drehzahl einer Pumpe zum Zeitpunkt des auslösenden Ereignisses enthält. Bei Block 1408 wird die Transaktion an einen Teilnehmer in dem Distributed-Ledger-Netzwerk übermitteln. Beispielsweise kann ein Feldgerät die Transaktion an das Distributed-Ledger-Netzwerk senden. Ein Validierungsknoten wie ein Edge-Gateway kann dann bestätigen, dass die Transaktion gültig ist, die Transaktion einem Transaktionsblock hinzufügen, ein kryptographisches Puzzle lösen und die Lösung in den neu generierten Block als Nachweis für die zum Generieren des Blocks geleistete Arbeit aufnehmen. Der Validierungsknoten kann dann den neu generierten Block an jeden der anderen Validierungsknoten in dem Distributed-Ledger-Netzwerk liefern, um den neu generierten Block in deren jeweilige Kopien des Distributed Ledgers aufzunehmen. Wie oben beschrieben, kann die Transaktion einen kryptographischen Hash der Ereignisdaten für das auslösende Ereignis und/oder eine Kombination der Ereignisdaten für das auslösende Ereignis und anderer Prozessanlagendaten in Bezug auf das auslösende Ereignis enthalten. Zusätzlich zum Generieren der Transaktion kann das Feldgerät die Ereignisdaten oder andere Prozessanlagendaten, die sich auf das auslösende Ereignis beziehen, einem Servergerät 12 bereitstellen, um sie beispielsweise in einer Datenbank zu speichern (Block 1410). Dann werden zum Authentifizieren der Ereignisdaten die in der Datenbank gespeicherten Ereignisdaten mit dem kryptographischen Hash verglichen, der in dem Distributed Ledger enthalten ist (Block 1412). Wenn eine Übereinstimmung vorliegt, wurden die Ereignisdaten nicht manipuliert. Beispielsweise kann eine Aufsichtsbehörde, die einen Vorfall prüft, kryptographische Hashes von Ereignisdaten von dem Distributed Ledger anfordern und abrufen, das in Transaktionen mit der auslösenden Ereigniskennung enthalten ist. Die Ereignisdaten werden aus anderen Datenquellen wie beispielsweise einer Datenbank erhalten, die mit einem Servergerät 12 in der Prozessanlage 10 kommunikativ gekoppelt ist. Das Computergerät der Aufsichtsbehörde berechnet dann einen kryptographischen Hash der erhaltenen Ereignisdaten und vergleicht den kryptographischen Hash der erhaltenen Ereignisdaten mit dem kryptographischen Hash der Ereignisdaten aus dem Distributed Ledger. Wenn die kryptographischen Hashes identisch sind, stellt das Computergerät der Aufsichtsbehörde fest, dass die Ereignisdaten aus der Datenbank nicht manipuliert wurden. Andernfalls stellt das Computergerät der Aufsichtsbehörde fest, dass die Ereignisdaten aus der Datenbank unzuverlässig sind. In anderen Ausführungsformen ruft ein Computergerät in der Prozessanlage 10 die in der Datenbank gespeicherten Ereignisdaten und den kryptographischen Hash der Ereignisdaten aus dem Distributed Ledger ab und vergleicht die Ereignisdaten mit dem kryptographischen Hash, um die Ereignisdaten zu authentifizieren. Bei Block 1502 wird ein aktueller Zustand von Software oder Firmware erhalten, die auf einem Gerät in der Prozessanlage 10 ausgeführt werden. Beispielsweise kann ein Gerät in der Prozessanlage 10, das ein Software- oder Firmware-Upgrade erhält, die neue Version der Software oder Firmware erhalten. Das Gerät kann einen Bedienerarbeitsplatz, eine andere Benutzeroberflächenvorrichtung 8, ein Servergerät 12, eine Steuerung 11, ein E/A-Gerät 26, 28, ein Netzwerkgerät 35, ein Feldgerät 15-22, 40-46 usw. sein. Dann kann das Gerät bei Block 1504 eine Transaktion generieren, die eine Angabe des aktuellen Zustands der Software oder Firmware enthält. Beispielsweise kann die Angabe ein kryptographischer Hash der Softwareanweisungen für die neue Version der Software sein. Die Transaktion kann auch einen Urheber, der die durch einen kryptographischen Identitätsnachweis identifizierte Software oder Firmware ändert, Identifikationsinformationen für das Gerät, das die Software oder Firmware ausführt, eine Beschreibung des Upgrades, eine Uhrzeit und ein Datum des Upgrades usw. enthalten. Bei Block 1506 wird die Transaktion an einen Teilnehmer in dem Distributed-Ledger-Netzwerk übermitteln. Beispielsweise kann ein Computergerät die Transaktion an das Distributed-Ledger-Netzwerk senden. Ein Validierungsknoten wie ein Edge-Gateway kann dann bestätigen, dass die Transaktion gültig ist, die Transaktion einem Transaktionsblock hinzufügen, ein kryptographisches Puzzle lösen und die Lösung in den neu generierten Block als Nachweis für die zum Generieren des Blocks geleistete Arbeit aufnehmen. Der Validierungsknoten kann dann den neu generierten Block an jeden der anderen Validierungsknoten in dem Distributed-Ledger-Netzwerk liefern, um den neu generierten Block in deren jeweilige Kopien des Distributed Ledgers aufzunehmen. In einigen Ausführungsformen bestätigt der Validierungsknoten die Transaktion anhand eines Satzes von Konsensregeln und fügt die Transaktion einem Block hinzu, wenn die Transaktion jede der Konsensregeln erfüllt. In einigen Ausführungsformen geben die Konsensregeln auch an, dass nur autorisierte Benutzer Software- oder Firmware-Aktualisierungen auf dem Distributed Ledger aufzeichnen dürfen. Dementsprechend validieren die Validierungsknoten die Transaktion, wenn die Transaktion an den Distributed Ledger gesendet wird, wenn der Urheber ein autorisierter Benutzer ist. Wenn der Urheber kein autorisierter Benutzer ist, ist die Transaktion nicht im Distributed Ledger enthalten und die Aktualisierung der Software stimmt nicht mit der neuesten Version der Software überein, die im Distributed Ledger aufgezeichnet ist. In jedem Fall wird bei Block 1508 ein Software- oder Firmware-Zustand erhalten, der auf dem Gerät in der Prozessanlage 10 ausgeführt wird. Beispielsweise kann eine Servergerät 12 oder ein anderes Computergerät in der Prozessanlage 10 kontinuierlich oder periodisch (z. B. einmal pro Sekunde, einmal pro Minute, einmal pro Stunde, einmal pro Tag usw.) aktuelle Versionen von Software und Firmware erhalten, die auf Geräten in der Prozessanlage 10 läuft. Der Zustand der Software oder Firmware, der an dem Servergerät 12 erhalten wird, wird dann mit dem kryptographischen Hashwert für die Software oder Firmware verglichen, der in dem Distributed Ledger gespeichert ist, um sicherzustellen, dass die Software oder Firmware nicht manipuliert wurde (Block 1510). Wenn der Zustand der Software oder Firmware mit dem kryptographischen Hashwert für die Software oder Firmware übereinstimmt, der im Distributed Ledger gespeichert ist, wird die Software oder Firmware auf dem Gerät weiter ausgeführt (Block 1514). Andernfalls stellt das Servergerät 12 fest, dass die Software manipuliert wurde, und verhindert, dass das Gerät die Software in ihrem aktuellen Zustand ausführt (Block 1512). In einigen Ausführungsformen lädt das Servergerät 12 dann den vorherigen Zustand der Software auf das Gerät herunter, und das Gerät nimmt die Ausführung der Software in ihrem vorherigen Zustand wieder auf. Bei Block 1602 wird ein Smart Contract generiert, der sich auf eine oder mehrere Prozessanlagen bezieht. Beispielsweise kann der Smart Contract einen Tokenwert von der Anlage A an die Anlage B übertragen, wenn die Anlage A ein Produkt von der Anlage B erhält, das bestimmte Qualitätsstandards erfüllt. Ein anderer beispielhafter Smart Contract in einem Prozessleitsystem kann einen Smart Contract für eine Aufforderung zum sicheren Schreiben enthalten, der es dem Anlagenpersonal ermöglicht, Parameterdaten in ein SIS-Gerät in der Prozessanlage 10 zu schreiben. Noch ein weiteres Beispiel für einen Smart Contract in einem Prozessleitsystem kann einen Smart Contract für Geräteinformationen enthalten, der Geräteinformationen von einem Gerät erhält, bei dem ein Fehler aufgetreten ist, und die Geräteinformationen einem Gerätelieferanten als Reaktion auf den Empfang einer Aufforderung zum Teilen der Geräteinformationen bereitstellt. Bei Block 1604 wird der Smart Contract einer Adresse bereitgestellt, die im Distributed Ledger gespeichert ist. Der verteilte Smart Contract kann anderen Teilnehmern Verfahren und Daten im Distributed-Ledger-Netzwerk offenbaren. Einige der Daten im Zustand des Smart Contract können private Daten sein, die nur durch Aufrufen eines Verfahrens des Smart Contracts oder nur durch autorisierte Distributed Ledger-Teilnehmer geändert werden können. Eine Möglichkeit zum Ändern des Zustand des Smart Contracts besteht darin, eine Transaktion an das Distributed-Ledger-Netzwerk zu senden. Wenn die gesendete Transaktion den Konsensregeln entspricht, können Netzwerkvalidierer die Transaktion in den Distributed Ledger aufnehmen. In einigen Ausführungsformen führen Validierungsknoten, wie z. B. Edge-Gateways den in dem Smart Contract enthaltenen Code aus, und die Feldgeräte fungieren als Nachweis-Orakel und stellen Nachweistransaktionen bereit, die den Zustand des Smart Contracts ändern. Bei Block 1702 werden Ereignisdaten von einem Ereignis erhalten, das in der Prozessanlage 10 stattfindet. Ein Ereignis kann ein Produkt sein, das von einer Prozessanlage 10 geliefert oder empfangen wird, die Fertigstellung eines in der Prozessanlage 10 hergestellten Produkts, eine Änderung der Eigenschaften eines Produkts, eine Änderung eines Prozessparameterwerts, ein auslösendes Ereignis B. ein Alarm, ein Fehler, ein Leck, ein Reparaturereignis, eine Korrekturmaßnahme, eine Benutzerinteraktion, z. B. eine Aufforderung zum Schreiben auf ein SIS-Gerät, eine Aufforderung zum Bereitstellen von Geräteinformationen an einen Gerätelieferanten oder eine Aufforderung zum Übertragen eines Tokenwerts, wenn ein bestimmtes Produkt empfangen wird, oder ein anderes geeignetes Ereignis, das in der Prozessanlage 10 stattfindet. Die Ereignisdaten können Prozessparameterdaten, Produktparameterdaten, Konfigurationsdaten, Benutzerinteraktionsdaten, Verwaltungsdaten, Inbetriebnahmedaten, Anlagennetzwerkdaten, Produktverfolgungsdaten oder andere geeignete Daten in Bezug auf das Ereignis, wie z. B. Datum und Uhrzeit des Ereignisses, die Dauer des Ereignisses, eine Beschreibung des Ereignisses usw. enthalten. Dann wird bei Block 1704 eine Transaktion generiert, welche die Ereignisdaten und Identifikationsinformationen für die Einheit enthält, welche die Transaktion generiert, wie beispielsweise einen kryptographischen öffentlichen Schlüssel, welcher der Einheit zugewiesen ist. Die Transaktion kann kryptographisch signiert sein, um einen kryptographischen Identitätsnachweis der die Transaktion generierenden Einheit bereitzustellen. Bei Block 1706 wird die Transaktion an die Adresse in dem Distributed Ledger übermitteln, in dem der Smart Contract implementiert ist. Auf diese Weise ändern Validierungsknoten wie z. B. Edge-Gateways, den Zustand des Smart Contracts gemäß den in der Transaktion enthaltenen Ereignisdaten. Beispielsweise kann ein Smart Contract einen Tokenwert von der Anlage A an die Anlage B übertragen, wenn die Anlage A ein Produkt von der Anlage B erhält, das bestimmte Qualitätsstandards erfüllt. Ein Feldgerät in der Anlage A kann eine Transaktion generieren, die Ereignisdaten enthält, die sich auf die Qualität des Produkts beziehen, z. B. Identifikationsinformationen für die Anlage A, Identifikationsinformationen für das Produkt, einen Hinweis darauf, dass das Produkt von der Anlage B empfangen wurde, und Produktparameterdaten, welche Eigenschaften des Produkts beschreiben (z. B. die Temperatur des Produkts, das Volumen des Produkts, die Dichte des Produkts, die Viskosität des Produkts oder die chemische Zusammensetzung des Produkts). Das Feldgerät kann die Transaktion einer Adresse für den Smart Contract bereitstellen, und die Validierungsknoten können den Zustand des Smart Contracts so ändern, dass er die Produktparameterdaten enthält. In einigen Ausführungsformen vergleicht der Smart Contract die Eigenschaften des Produkts, die in den Produktparameterdaten enthalten sind, mit einem Satz von Mindestschwellenwertanforderungen für das Produkt, um die entsprechenden Qualitätsstandards zu erfüllen. Wenn das Produkt die Qualitätsstandards erfüllt, kann der Smart Contract den Tokenwert an die Anlage B übertragen. In einigen Ausführungsformen kann ein Feldgerät in der Anlage B eine Transaktion generieren, die Ereignisdaten enthält, die sich auf die Qualität des Produkts beziehen, wie z. B. Prozessparameterdaten, die Parameterwerte für Prozessanlageneinheiten in der Anlage B beschreiben, die an der Herstellung des Produkts beteiligt sind, wobei die Parameterwerte während der Herstellung des Produkts erfasst werden. Die Ausführungsformen der in der vorliegenden Offenbarung beschriebenen Techniken können eine beliebige Anzahl der folgenden Aspekte - entweder allein oder in Kombination - enthalten:
Wenn sie in Software implementiert sind, können beliebige der vorliegend beschriebenen Anwendungen, Dienste und Antriebe in jedem materiellen, nichtvorübergehenden computerlesbaren Speicher, beispielsweise auf einer Magnetplatte, einer Laserplatte, einer Festkörper-Speichervorrichtung, einer molekularen Speichervorrichtung oder einem anderen Speichermedium, in einem RAM oder ROM eines Computers oder Prozessors usw. gespeichert werden. Obwohl die vorliegend offenbarten beispielhaften Systeme als Systeme offenbart werden, welche unter anderem Komponenten, Software und/oder Firmware einschließen, welche auf Hardware ausgeführt wird, ist festzustellen, dass diese Systeme lediglich der Veranschaulichung dienen und nicht als einschränkend betrachtet werden sollten. Zum Beispiel wird in Betracht gezogen, dass beliebige oder alle dieser Hardware-, Software- und Firmware-Komponenten ausschließlich in Hardware, ausschließlich in Software oder in beliebiger Kombination von Hardware und Software ausgeführt werden können. Während die vorliegend beschriebenen beispielhaften Systeme als in Software implementiert beschrieben werden, die auf einem Prozessor eines Computergeräts oder mehrerer Computergeräte ausgeführt wird, werden Durchschnittsfachleute leicht erkennen, dass die bereitgestellten Beispiele nicht die einzige Möglichkeit sind, solche Systeme zu implementieren. Während die vorliegende Erfindung unter Bezugnahme auf spezifische Beispiele beschrieben wurde, die nur veranschaulichend sein sollen und die Erfindung nicht beschränken sollen, ist es für den Durchschnittsfachmann offensichtlich, dass Änderungen, Hinzufügungen oder Streichungen zu den offenbarten Ausführungsformen möglich sind, ohne vom Geist und Umfang der Erfindung abzuweichen. Um eine vertrauenswürdige, sichere und unveränderliche Aufzeichnung von Transaktionen in einer Prozessanlage bereitzustellen, werden Techniken zur Verwendung eines Distributed Ledgers in Prozessleitsystemen beschrieben. Das Distributed Ledger kann von Knoten verwaltet werden, die Transaktionen empfangen, die von Feldgeräten, Steuerungen, Bedienerarbeitsplätze oder anderen in der Prozessanlage arbeitenden Geräten gesendet werden. Die Transaktionen können Prozessanlagendaten wie Prozessparameterdaten, Produktparameterdaten, Konfigurationsdaten, Benutzerinteraktionsdaten, Verwaltungsdaten, Inbetriebnahmedaten, Anlagennetzwerkdaten und Produktverfolgungsdaten umfassen. Die Distributed Ledger können auch zum Ausführen von Smart Contracts verwendet werden, damit Maschinen wie Feldgeräte ohne menschliches Eingreifen selbstständig Transaktionen ausführen können. Auf diese Weise können aufgezeichnete Prozessparameterwerte und Produktparameterwerte abgerufen werden, um die Qualität der Produkte zu überprüfen. Darüber hinaus können regulatorische Daten als Reaktion auf auslösende Ereignisse aufgezeichnet werden, so dass die Aufsichtsbehörden die Daten überprüfen können. Verfahren für das Aufzeichnen von Zuständen von Software oder Firmware in einem Prozessleitsystem und der verbundenen Instrumentierung, welche einen Distributed Ledger verwendet, welcher durch mehrere Teilnehmer verwaltet wird, das Verfahren umfassend:
Verfahren nach Verfahren nach Verfahren nach einem der System für das Aufzeichnen von Zuständen von Software oder Firmware in einem Prozessleitsystem und der verbundenen Instrumentierung, unter Verwendung eines Distributed Ledgers, welcher durch mehrere Teilnehmer verwaltet wird und Folgendes umfasst:
System nach System nach einem der System nach einem der Validierungs-Netzwerkknoten in einer Prozessanlage auf einem Distributed-Ledger-Netzwerk, umfassend:
Validierungs-Netzwerkknoten nach Validierungs-Netzwerkknoten nach Validierungs-Netzwerkknoten nach einem der Computerlesbares Speichermedium, welches Instruktionen enthält, um mindestens einen Prozessor zu veranlassen ein Verfahren nach einem der TECHNISCHES GEBIET
HINTERGRUND
ZUSAMMENFASSUNG
Figurenliste
DETAILLIERTE BESCHREIBUNG
Distributed-Ledger-Architektur in einem Prozessleitsystem
Smart Contracts in einem Prozessleitsystem
Arten von Transaktionen, die in Distributed Ledgers in einem Prozessleitsystem erfasst werden
Transaktionen im Zusammenhang mit der Lieferung oder dem Erhalt eines Produkts und der gelieferten/erhaltenen Menge
Transaktionen im Zusammenhang mit Software- oder Firmware-Upgrades auf Geräten in der Prozessanlage
Transaktionen im Zusammenhang mit der Qualitätskontrolle, Produktion oder dem behördlichen Berichtswesen in der Prozessanlage
Transaktionen zeichnen Prozessanlagendaten auf
Transaktionen welche die Produktüberwachungskette über Produktverfolgungsdaten aufzeichnet
Erhalten, durch ein Computergerät, eines aktuellen Zustands von Software oder Firmware, die in einer Prozessanlage ausgeführt werden, welche ein Feldgerät oder mehrere Feldgeräte aufweist, die jeweils eine physische Funktion zur Steuerung eines industriellen Prozesses ausführen, wobei die Software oder Firmware in einem Netzwerk oder einer Prozesssteuerungsvorrichtung in der Prozessanlage ausgeführt werden;
Generieren einer Transaktion, die den aktuellen Zustand der Software oder Firmware einschließt, die in der Prozessanlage ausgeführt wird, wobei die Transaktion in dem Distributed Ledger gespeichert ist; und
Übermitteln der Transaktion an mindestens einen anderen Teilnehmer in einem Distributed-Ledger-Netzwerk von Teilnehmern, die den Distributed Ledger verwalten.
Erhalten von Identitätsdaten für den Benutzer;
Ergänzen der Transaktion mit den Identitätsdaten für den Benutzer bei dem einen Prozessor oder den mehreren Prozessoren;
Generieren einer kryptographischen Signatur auf der Grundlage der Transaktion bei dem einen Prozessor oder den mehreren Prozessoren; und
Ergänzen der Transaktion mit der kryptographischen Signatur bei dem einen Prozessor oder den mehreren Prozessoren, und/oder
wobei das Generieren einer Transaktion, welche den aktuellen Zustand der Software oder Firmware einschließt, welche in der Prozessanlage ausgeführt wird, das Generieren der Transaktion einschließlich einem kryptographischen Hashwert einschließt, welcher dem aktuellen Zustand der Software oder Firmware entspricht, welche in der Prozessanlage ausgeführt werden, und/oder
ferner umfassend:
Erhalten eines Zustands der Software oder Firmware, die in der Prozessanlage ausgeführt werden, von dem Netzwerk oder der Prozesssteuerungsvorrichtung, welche die Software oder Firmware ausführen; und
Vergleichen des Zustands der Software oder Firmware, die in der Prozessanlage ausgeführt werden, mit dem kryptographischen Hashwert von dem Distributed Ledger, um sicherzustellen, dass die Software oder Firmware nicht manipuliert wurden, und/oder
ferner umfassend:
als Reaktion auf das Feststellen, dass der Zustand der Software oder Firmware, die in der Prozessanlage ausgeführt werden, nicht mit dem aktuellen Zustand der Software oder Firmware übereinstimmt, die in dem Distributed Ledger gemäß dem kryptographischen Hashwert gespeichert ist, wird verhindert, dass die Software oder Firmware in der Prozessanlage ausgeführt wird, und/oder
ferner umfassend:
Veranlassen, dass die Software oder Firmware zu einem vorherigen Zustand zurückkehrt, und/oder
ferner umfassend:
als Reaktion auf das Bestimmen, dass der Zustand der Software oder Firmware, die in der Prozessanlage ausgeführt werden, mit dem aktuellen Zustand der Software oder Firmware übereinstimmt, der in dem Distributed Ledger gemäß dem kryptographischen Hashwert gespeichert ist, veranlassen, dass das Netzwerk oder die Prozesssteuerungsvorrichtung die Software oder Firmware ausführen.
Hinzufügen der Transaktion zu einem Transaktionsblock;
Lösen eines kryptographischen Puzzles auf der Grundlage des Transaktionsblocks;
Hinzufügen der Lösung des kryptographischen Puzzles zu dem Transaktionsblock; und
Übermitteln des Transaktionsblocks an mindestens einen anderen Teilnehmer im Distributed-Ledger-Netzwerk, und/oder
ferner umfassend:
Vergleichen der Identitätsdaten in der Transaktion mit mehreren Sätzen von Identitätsdaten, die Benutzern entsprechen, die autorisiert sind, den Zustand der Software oder Firmware zu aktualisieren, die in der Prozessanlage ausgeführt werden; und
Hinzufügen der Transaktion zu dem Transaktionsblock, wenn die Identitätsdaten in den mehreren Sätzen von Identitätsdaten enthalten sind.
ein Gerät oder mehrere Geräte, die in einer Prozessanlage angeordnet sind und jeweils eine physische Funktion zur Steuerung eines industriellen Prozesses ausführen; und
ein Computergerät, das in der Prozessanlage ausgeführt wird und Folgendes umfasst:
einen Prozessor oder mehrere Prozessoren;
eine Kommunikationseinheit; und
ein nichtvorübergehendes computerlesbares Medium, das mit dem einen Prozessor oder den mehreren Prozessoren und der Kommunikationseinheit gekoppelt ist und Anweisungen darauf speichert, die, wenn sie von dem einen Prozessor oder den mehreren Prozessoren ausgeführt werden, das Computergerät veranlassen:
einen aktuellen Zustand von Software oder Firmware zu erhalten, die in der Prozessanlage ausgeführt werden, wobei die Software oder Firmware in mindestens einem Gerät der in der Prozessanlage angeordneten Geräte oder einem Netzwerkgerät in der Prozessanlage ausgeführt wird;
eine Transaktion zu generieren, die den aktuellen Zustand der Software oder Firmware enthält, die in der Prozessanlage ausgeführt wird, wobei die Transaktion in dem Distributed Ledger gespeichert ist; und
die Transaktion an mindestens einen anderen Teilnehmer in einem Distributed-Ledger-Netzwerk von Teilnehmern zu übermitteln, welche den Distributed Ledger verwalten, um die Transaktion im Distributed Ledger zu validieren und aufzuzeichnen.
Identitätsdaten für den Benutzer zu erhalten;
die Transaktion mit den Identitätsdaten für den Benutzer zu ergänzen;
eine kryptographische Signatur auf der Grundlage der Transaktion zu generieren; und
die Transaktion mit der kryptographischen Signatur zu ergänzen, und/oder
wobei die Transaktion mit einem kryptographischen Hashwert generiert wird, welcher dem aktuellen Zustand der Software oder Firmware entspricht, welche in der Prozessanlage ausgeführt werden, und/oder
ferner umfassend:
ein Servergerät, welches Folgendes einschließt:
einen Prozessor oder mehrere Prozessoren;
eine Kommunikationseinheit; und
ein nichtvorübergehendes computerlesbares Medium, das mit dem einen Prozessor oder den mehreren Prozessoren und der Kommunikationseinheit gekoppelt ist und Anweisungen darauf speichert, die, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, das Servergerät veranlassen:
einen Zustand der Software oder Firmware, die in der Prozessanlage ausgeführt werden, von dem Netzwerk oder dem Prozesssteuerungsgerät, welche die Software oder Firmware ausführen, zu erhalten; und
den Zustand der Software oder Firmware, die in der Prozessanlage ausgeführt werden, mit dem kryptographischen Hashwert von dem Distributed Ledger zu vergleichen, um sicherzustellen, dass die Software oder Firmware
nicht manipuliert wurden, und/oder
wobei die Anweisungen ferner das Servergerät veranlassen:
als Reaktion auf die Feststellung, dass der Zustand der Software oder Firmware, die in der Prozessanlage ausgeführt werden, nicht mit dem aktuellen Zustand der Software oder Firmware übereinstimmt, die in dem Distributed Ledger gemäß dem kryptographischen Hashwert gespeichert ist, wird verhindert, dass die Software oder Firmware in der Prozessanlage ausgeführt werden, und/oder
wobei die Anweisungen ferner das Servergerät veranlassen:
die Software oder Firmware in einen vorherigen Zustand zurückzuversetzen, und/oder wobei die Anweisungen ferner das Servergerät veranlassen:
als Reaktion auf die Feststellung, dass der Zustand der Software oder Firmware, die in der Prozessanlage ausgeführt werden, mit dem aktuellen Zustand der Software oder Firmware übereinstimmt, der in dem Distributed Ledger gemäß dem kryptographischen Hashwert gespeichert ist, das Netzwerk oder die Prozesssteuerungsvorrichtung veranlasst werden, die Software oder Firmware auszuführen.
die Transaktion zu einem Transaktionsblock hinzuzufügen;
ein kryptographisches Puzzle auf der Grundlage des Transaktionsblocks zu lösen;
die Lösung des kryptographischen Puzzles zum Transaktionsblock hinzuzufügen; und
den Transaktionsblock an mindestens einen anderen Teilnehmer im Distributed-Ledger-Netzwerk zu übermitteln, und/oder
wobei die Anweisungen ferner das Computergerät veranlassen:
die Identitätsdaten in der Transaktion mit mehreren Sätzen von Identitätsdaten zu vergleichen, die Benutzern entsprechen, die autorisiert sind, den Zustand der Software oder Firmware zu aktualisieren, die in der Prozessanlage ausgeführt werden; und
die Transaktion zum Transaktionsblock hinzuzufügen, wenn die Identitätsdaten in den mehreren Sätzen von Identitätsdaten enthalten sind.
einen Transceiver, der konfiguriert ist, um mit einem Feldgerät oder mehreren Feldgeräten zu kommunizieren, von denen jedes eine physische Funktion zur Steuerung eines industriellen Prozesses in der Prozessanlage ausführt, und um Daten des Distributed Ledgers mit Peer-Netzwerkknoten auszutauschen, wobei die Daten des Distributed Ledgers Transaktionen umfassen, die Daten enthalten, die den aktuellen Zustand der Software oder Firmware anzeigen, die in der Prozessanlage ausgeführt wird;
ein Speichermedium, das zum Speichern einer Kopie des Distributed Ledgers konfiguriert ist; und
einen Prozessdatenvalidierer, der konfiguriert ist, um einen Satz von Konsensregeln auf die von den Peer-Netzwerkknoten empfangenen Daten des Distributed Ledgers anzuwenden, wobei der Prozessdatenvalidierer ferner konfiguriert ist, um die von den Peer-Netzwerkknoten empfangenen Daten des Distributed Ledgers an die Kopie des Distributed Ledgers anzuhängen wenn die Daten des Distributed Ledgers den Konsensregeln entsprechen.
ein kryptographisches Puzzle auf der Grundlage eines Transaktionsblocks zu lösen;
die Lösung des kryptographischen Puzzles zum Transaktionsblock hinzuzufügen;
den Transaktionsblock an die Kopie des Distributed Ledgers anzuhängen; und
den Transaktionsblock an mindestens einen der Peer-Netzwerkknoten im Distributed-Ledger-Netzwerk zu übermitteln.
Formatierungsanforderungen für Transaktionen oder Transaktionsblöcke;
einen Mechanismus zum Bestimmen, welcher der Peer-Netzwerkknoten eine nächste Transaktion oder einen nächsten Transaktionsblock zum Distributed Ledger hinzufügt; oder
ein kryptographischer Hashing-Algorithmus zum Hashing von Software- oder Firmware-Zustandsdaten, die in jeder der Transaktionen enthalten sind.
![](/ipDE102020100863A1/0.png)
![](/ipDE102020100863A1/1.png)
![](/ipDE102020100863A1/2.png)
![](/ipDE102020100863A1/3.png)
![](/ipDE102020100863A1/4.png)
![](/ipDE102020100863A1/5.png)
![](/ipDE102020100863A1/6.png)
![](/ipDE102020100863A1/7.png)
![](/ipDE102020100863A1/8.png)
![](/ipDE102020100863A1/9.png)
![](/ipDE102020100863A1/10.png)
![](/ipDE102020100863A1/11.png)
![](/ipDE102020100863A1/12.png)
![](/ipDE102020100863A1/13.png)
![](/ipDE102020100863A1/14.png)
![](/ipDE102020100863A1/15.png)
![](/ipDE102020100863A1/16.png)
![](/ipDE102020100863A1/17.png)