Blockchain-Technologie - Prof. Dr. Norbert Pohlmann
Blockchain-Technologie | |
![]() | Inhaltsverzeichnis Was ist eine Blockchain-Technologie?
Unterschiedliche Blickwinkel einer BlockchainDie verschiedenen Disziplinen können die Blockchain-Technologie aus sehr unterschiedlichen Blickwinkeln betrachten und bewerten. Für einen Informatiker produziert die Blockchain-Technologie eine einfache Datenstruktur, die Blockchain, die Daten als Transaktionen in einzelnen Blöcken verkettet und in einem verteilten Peer-to-Peer-Netz redundant verwalten. Die Alternative wäre eine konventionelle Datenbank, die alle Teilnehmer kontinuierlich replizieren. Für Cyber-Sicherheitsexperten bietet die Blockchain-Technologie den Vorteil, dass sie Daten als Transaktionen in den einzelnen Blöcken manipulationssicher speichert. Dadurch können die Teilnehmer der Blockchain die Echtheit, den Ursprung und die Unversehrtheit der gespeicherten Daten (Transaktionen) überprüfen. Die Alternative wäre hier zum Beispiel ein PKI-System als zentraler Vertrauensdienstanbieter. Für den Anwendungsdesigner bedeutet die Nutzung der Blockchain-Technologie eine vertrauenswürdige Zusammenarbeit zwischen verschiedenen Organisationen, und zwar ohne die Einbindung einer zentralen Instanz, eines PKI-Systems, Notars usw. Als Alternative könnte hier ein kostenintensiver Treuhänder sein, der die Zusammenarbeit und Eigentumsübertragung zwischen den verschiedenen Organisationen verwaltet und verifiziert. Da die Blockchain-Technologie diese Zusammenarbeit automatisiert, beschleunigt sie die Prozesse und macht sie deutlich effizienter. Die Blockchain-Technologie als Kollaborations-ToolGrundsätzlich erzeugt die Blockchain-Technologie eine Blockchain mit fälschungssicheren und verteilten Datenstrukturen. Dabei protokolliert sie Transaktionen in ihrer zeitlichen Reihenfolge nachvollziehbar, unveränderlich und ohne eine zentrale Instanz.
![]() Internet der WerteMit der Blockchain-Technologie werden neben der vertrauenswürdigen Zusammenarbeit auch Eigentumsverhältnisse (Digital Assets) direkter und effizienter als bislang gesichert und geregelt, da eine lückenlose und unveränderliche Datenaufzeichnung hierfür die Grundlage schafft. Alle Beglaubigungsprozesse werden schneller, sicherer und billiger. Aus diesem Grund wird die Blockchain auch als „Internet der Werte“ bezeichnet. Was sind Anwendungsbereiche einer Blockchain?Insbesondere im Bereich der Verifizierung von Zeugnissen, Berechtigungen, Beglaubigungen, … wird es in der nahen Zukunft viele Anwendungen geben, die die Digitalisierung von Verwaltungsprozessen vertrauenswürdig und sicher möglich machen. Darüber hinaus ist ein weiterer wichtiger Anwendungsbereich der Blockchain-Technologie eine vertrauenswürdige und automatisierte Zusammenarbeit zwischen verschiedenen Organisationen, die Prozesse sehr viel schneller, effektiver und kostengünstiger umsetzen lässt. Aufbau einer Blockchain-TechnologieIm Folgenden werden Elemente, Prinzipien, Strukturen und Architektur einer Blockchain-Technologie als Grundlagenwissen beschrieben. Blockchain: DatenDie Blockchain-Technologie erzeugt eine gemeinsame Blockchain, die eine einfache Datenstruktur darstellt. Dabei werden die Daten in der Blockchain in einzelnen, chronologisch miteinander verketteten Blöcken als Transaktionen verwaltet. ![]() Die grauen rechteckigen Kästchen in der Abbildung sind Transaktionen, während die gelben Quadrate die Daten in der Transaktion darstellen. Außerdem ist der grüne Schlüssel der öffentliche Schlüssel des Blockchain-Teilnehmers, der die Transaktion erstellt und signiert hat. Blockchain: BlockEin Block in einer Blockchain ist ein strukturierter Datensatz, der im Prinzip beliebige Transaktionen mit Daten enthalten kann und vor Manipulationen gesichert ist. ![]() Im Block-Header ist die „Version“ und ein „Zeitstempel“ sowie ein „Difficulty“ und „Nonce“ enthalten. „Difficulty“ und „Nonce“ sind für das Konsensfindungsverfahren wichtig. Der Hashwert „HashPrev“ realisiert die Blockverkettung und der „Merkle Hash“ sorgt für die Integrität der Transaktionsdaten in einem Block. Durch die clevere Nutzung von Hashfunktionen können interessante Cyber-Sicherheitseigenschaften umgesetzt werden.
HashPrevn+1 = Aktueller-Hashwertn = H( Blocker–Headern (… || HashPrevn || Merkle-Hashn || …) ) HashPrevn = H ( Block–Headern−1 (… || HashPrevn−1 || Merkle-Hashn−1 || …) ) HashPrevn−1 = H ( Block–Headern−2 (… || HashPrevn−2 || Merkle-Hashn−2 || …) ) . . . HashPrev2 = H ( Block–Header1 (…|| HashPrev1 || Merkle-Hash1 || …) ) Aktueller-Hashwertn = HashPrevn+1 H = One-Way-Hashfunktion Jeder Block in der Blockchain lässt sich grundsätzlich lesen und überprüfen. Die Blöcke enthalten die verschiedenen Daten in Form von Transaktionen. Blöcke können auf ihre Integrität geprüft werden, indem getestet wird, ob der aktuelle Hashwert eines Blockes (Aktueller-Hashwertn) mit dem gespeicherten Hashwert im Folgeblock (HashPrevn+1) übereinstimmt. Der erste HashPrev1 wird mit einem definierten Wert vorgegeben. Aktueller–Hashwertn = HashPrevn+1 Aktueller-Hashwertn = H (Block–Headern (…|| HashPrevn || Merkle-Hashn || …) ) H = One-Way-Hashfunktion Dies ist für jede Node ohne Weiteres möglich, da jede Node im Normalfall alle Informationen innerhalb eines Blockes lesen kann. Soll das Netzwerk einen neuen Block hinzufügen, kann es diesen nicht einfach an die Blockchain anhängen. Für jeden neuen Block muss die Richtigkeit des Blockes geprüft und validiert und mithilfe eines Konsensfindungsverfahrens bestimmt werden, welche Node des P2P-Blockchain-Netzwerkes einen Block mit ausgewählten Transaktionen hinzufügen darf, damit es nicht möglich ist, die Blockchain zu manipulieren.
![]() Der „Merkle Hash“ steht im Block-Header und kann daher für die Überprüfung der Integrität der Daten und Transaktionen in einem Block verwendet werden. Damit kann die Cyber-Sicherheitseigenschaft „Transaktionen in der Zeitfolge protokolliert nachvollziehbar, unveränderlich“ realisiert werden. Blockchain: TransaktionenAlle Daten innerhalb der Blöcke werden als Transaktionen gespeichert. Transaktionen enthalten Daten, die in der Zeitfolge protokolliert (chronologisch), nachvollziehbar, unveränderlich und ohne zentrale Instanz in der Blockchain abgebildet sind. Transaktionen werden vom Blockchain-Teilnehmer erstellt und signiert. Die Daten in den Transaktionen können Kontostände, Werte, Attribute, Zertifikate, Sensor-Daten, Industrie-Daten, Quelltexte, Merkmale usw. oder allgemein digitale Werte sein. Eine Transaktion enthält auch immer den Public-Key der entsprechenden Blockchain-Adresse sowie die Signatur des Blockchain-Teilnehmers, der die Transaktion erstellt und signiert hat. ![]() Beispiele von Daten einer Bitcoin-Transaktion: Die Transaktionen enthalten bei Bitcoin im Wesentlichen folgende Inhalte: Die Meta-Daten beinhalten die Versionsnummer, die Anzahl der eingehenden Beträge, die Anzahl der ausgehenden Beträge sowie die Transaktionsgröße in Bytes. Bei den Inputs handelt es sich um die eingehenden Beträge, das sind die Anzahl der zu verschickenden Bitcoins und die Blockchain-Adresse (Kontonummer), von der diese verschickt werden. Außerdem steht hier die vom Blockchain-Teilnehmer erstellte Signatur. Die einzelnen Outputs enthalten jeweils die Beträge, die verschickt werden und die jeweiligen Empfänger-Adressen. Signatur unter einer Transaktion Transaktionx = Daten1 || . . . || Datenn ||ÖSAm || sx sx Signatur der Transaktionx Jede Node im P2P-Blockchain-Netzwerk kann die Identität der Blockchain-Adresse, welche die Transaktion erstellt und abgesendet hat, und den Inhalt der Transaktion verifizieren. Blockchain-Adresse „m“ = fa ( ÖSAm ) fa Funktion zur Berechnung der Blockchain-Adresse Verifikation, dass die Transaktion des Eigentümers der Blockchain-Adresse „m“, Blockchain-Teilnehmer, signiert worden ist: V ( Transaktionx, sx, ÖSAm ) = true? V Verifikationsfunktion In der Abbildung unten wird eine neue und signierte Transaktion Tx vom entsprechenden Blockchain-Teilnehmer über die Node N4 über das P2P-Blockchain-Netzwerk an alle Nodes verteilt, die zu dieser Blockchain gehören. Die Nodes, die nicht direkt mit der N4 verbunden sind, bekommen die Transaktion von einer direkt verbundenen Node weitergeleitet. Alle Nodes speichern diese Transaktion in ihrem Transaktionsspeicher, bis das Konsensfindungsverfahren eine Node bestimmt, die einen neuen Block erstellen soll. Durch diese Verfahren sind im Prinzip alle Nodes in der Lage, einen neuen Block zu verifizieren, zu erstellen und zu verteilen. Jede Node, die dann den Block anhängen darf, bestimmt, welche Transaktionen in einen neuen Block aus dem Transaktionsspeicher mit aufgenommen werden.
Double-Spend bedeutet, dass ein Teilnehmer dieselben Inputs ein zweites Mal versendet und dadurch die ursprüngliche Transaktion ungültig macht. Das heißt, um eine Transaktion rückgängig zu machen, kann der Initiator der Transaktion zum Beispiel eine zweite Transaktion mit den gleichen Inputs, die er sich selbst überweist, umsetzen. Wichtig ist, dass diese zweite Transaktion höhere Gebühren enthält. Dadurch bevorzugt das Netzwerk ihre Verarbeitung vor der ursprünglichen Transaktion, sodass diese ihre Gültigkeit verliert. ![]() Blockchain: NodeJede Blockchain hat Nodes mit der entsprechenden Blockchain-Technologie, die als Peer-to-Peer-Blockchain-Netzwerk die vielfältigen Mechanismen der Blockchain-Technologie umsetzen. Dabei speichert jede Node eine aktuelle Blockchain-Version mit allen Blöcken und erweitert diese fortlaufend. Grundsätzlich besitzt jede Node, die zu einer bestimmten Blockchain gehört, die gleichen Rechte, um die Blockchain und neue Transaktionen zu speichern und neue Blöcke hinzuzufügen (validieren). ![]() P2P-Funktionen Verteilte Validierung Konsensfindung Kryptografie Sonstige Blockchain: TeilnehmerDer Blockchain-Teilnehmer ist die Instanz, die Transaktionen mithilfe der Schlüssel aus der Wallet signieren kann, weil er die Wallet besitzt oder den Zugriff darauf hat. Der Blockchain-Teilnehmer kann eine Person, aber auch ein IT-System oder ein Prozess in einem IT-System, wie Auto, Payment-System, Produktionssystem usw., sein. Blockchain: WalletEine Wallet ist eine Datenstruktur, in der die geheimen und öffentlichen Schlüssel eines Public-Key-Verfahrens eines Blockchain-Teilnehmers gespeichert sind. ![]() Aus dem öffentlichen Schlüssel wird mithilfe einer Funktion Die grünen Schlüssel-Symbole stellen den öffentlichen Schlüssel und die roten Schlüssel-Symbole den geheimen Schlüssel eines Public-Key-Verfahren einer bestimmten Blockchain-Adresse dar. Angreifer greifen häufig die Wallet an, da sie mit dem geheimen Schlüssel gültige Transaktionen manipulieren oder erstellen können. Wer den geheimen Schlüssel einer Wallet besitzt, ist in der Lage, gültige Transaktionen zu erstellen und damit zu manipulieren.
![]() Für ein portables IT-System, wie zum Beispiel ein Smartphone oder IoT-Geräte wie Autos, ist es allerdings nicht umsetzbar, eine eventuell mehrere Gigabyte große Blockchain zu speichern. Solche Nodes werden auch als „Light Node“ bezeichnet. ![]() Zudem gibt es auch noch sogenannte „Service Nodes“, welche keine direkten Teilhaber sind. Endgeräte, wie Smartphones, nutzen einen Dienst, der virtuelle Wallets anbietet. Die Aktivierung der Dienste muss bei den Service Nodes sicher umgesetzt werden, um Missbrauch zu vermeiden. ![]() Blockchain-AdresseDie Blockchain-Adresse wird durch den verwendeten öffentlichen Schlüssel, der in der Wallet und in jeder Transaktion steht, repräsentiert. Anschließend wird aus dem öffentlichen Schlüssel mithilfe einer Blockchain-Adress-Funktion – Blockchain-Adresse = fa (öffentlicher Schlüssel) – die eindeutige Kennung, Blockchain-Adresse, berechnet. Berechnung der Blockchain-Adresse ![]() Durch die Art und Weise, wie die Blockchain-Adressen berechnet werden, sind sie im Prinzip pseudonym. Solange die Blockchain-Adresse und der öffentliche Schlüssel nicht einem Blockchain-Teilnehmer zugeordnet werden können, ist es nicht möglich, diesen zu identifizieren. Blockchain-Prinzip: Keine „zentrale Instanz“Bei der Nutzung einer Blockchain-Technologie gibt es keine „zentrale Instanz“, sondern es sind verschiedene Cyber-Sicherheits- und Vertrauenswürdigkeitsmechanismen auf all ihren Nodes in einem Peer-to-Peer-Blockchain-Netzwerk verteilt. ![]() Weitere Informationen zum Begriff “Blockchain-Technologie”:
„Blockchain-Technologie unter der Lupe“ „Blockchain-Technologie revolutioniert das digitale Business“ „Blockchain als Echtheitsgarant“ „Kryptografie wird Währung – Bitcoin: Geldverkehr ohne Banken“ „Validierung digitaler Nachweise mit der Blockchain“ „Übungsaufgaben und Ergebnisse zu Kapitel 14: Blockchain-Technologie“ „Bücher im Bereich Cyber-Sicherheit und IT-Sicherheit zum kostenlosen Download“
„Vorlesung zu Blockchain-Technologie“
„Wissenschaftliche Perspektiven im Bereich Blockchain“ „BlockChain – Einführung und Einsatzmöglichkeiten“
„Master-Studiengang Internet-Sicherheit (IT-Sicherheit, Cyber-Sicherheit)“ „Marktplatz IT-Sicherheit: IT-Notfall“ „Marktplatz IT-Sicherheit: IT-Sicherheitstools“ „Marktplatz IT-Sicherheit: Selbstlernangebot“ „Marktplatz IT-Sicherheit: Köpfe der IT-Sicherheit“ „Vertrauenswürdigkeits-Plattform“ Zurück zur Übersicht Summary ![]() Article Name Blockchain-Technologie DescriptionMit Hilfe der Blockchain-Technologie werden Vertrauensdienste angeboten, die neue Möglichkeiten im Rahmen der Digitalisierung für mehr IT-Sicherheit und Vertrauenswürdigkeit anbieten. Author Prof. Norbert Pohlmann Publisher Name Institut für Internet-Sicherheit – if(is) Publisher Logo ![]() |
![]() | |

















