Kryptographie
Der Begriff der Kryptographie stammt aus dem altgriechischen: "kryptós" (geheim, verborgen) und "gráphein" (schreiben). Dies bedeutet, dass innerhalb der Kryptographie Methoden angewandt werden, um Informationen so zu verändern, dass sie auf den ersten Blick nicht mehr verstanden werden können.
Das Ziel der wissenschaftlichen Disziplin besteht darin, Nachrichten, Datenbestände und sensible Informationen zu schützen. Um das zu gewährleisten, müssen vier Grundsätze beachtet werden:
Vertraulichkeit | Dieser Grundsatz beinhaltet, dass nur berechtigte Personen verschlüsselte Informationen wieder entschlüsseln und lesen dürfen. Dies kann zum Beispiel durch den Einsatz asymmetrischer Kryptographie erreicht werden. |
Integrität | Dieser Grundsatz besagt, dass die übermittelten Informationen vollständig unverändert sein müssen, wenn sie übermittelt werden. Dies kann etwa durch eine Prüfsumme sichergestellt werden. |
Authentizität | Dieser Grundsatz besagt, dass die empfange Nachricht auch tatsächlich vom entsprechenden Absender stammt und der Empfänger dies überprüfen kann, etwa durch eine Signatur. |
Verbindlichkeit | Die versendete Nachricht muss so gestaltet werden, dass der Urheber nicht abstreiten kann, dass er auch der Urheber der Nachricht ist. |
Im Bereich der Blockchain-Technologie wird mit bewährten Algorithmen gearbeitet, um Informationen zu chiffrieren. Setzt beispielsweise Alice eine Transaktion ab, um Bob Bitcoins zu übermitteln, so erkennen Bitcoin Nodes die Transaktion und überprüfen diese. Dabei wird auf den SHA256-Algorithmus zurückgegriffen, bei dem verschiedene Informationen zu einer Hexadezimalzahl zusammengefasst werden, unter anderem:
Der Absender
Der Empfänger
Die Menge der zu überweisen Bitcoins
...
Der Algorithmus gewährleistet nach den vier Grundsätzen der Kryptographie, dass die oben genannten Information nur von berechtigten Bitcoin-Nodes innerhalb des Netzwerks gelesen und korrekt verarbeitet werden können. Würde Bitcoin keine kryptografischen Hashfunktionen nutzen, wäre es unmöglich, neue Bitcoins zu erzeugen, die Kommunikation zwischen einzelnen Nodes zu gewährleisten und Transaktionen durchzuführen.
Von einem Blockchain-Engineer wird daher erwartet, dass dieser ein Grundwissen von kryptographischen Algorithmen besitzt und weiß, wann er welche Algorithmen anwendet.
Fazit
Blockchain ist eine junge und sich noch schnell verändernde Technologie. Ein Blockchain-Engineer muss sich stets über die neusten Entwicklungen auf dem Laufenden halten und ein umfangreiches Wissen im Bereich verteilter Systeme und der Kryptographie aufbauen. Das bedeutet, er oder sie informiert sich größtenteils selbst und teilt erworbenes Wissen mit anderen Teammitgliedern. Auch wenn Blockchain ein Peer-to-Peer-System ist, so ist Blockchain auch immer ein Verbinder zwischen mehreren weiteren Systemen, wo wiederum zu großen Teilen auf Client-Server-Architektur gesetzt wird. Häufig gilt es, Proof-of-Concepts und Prototypen umzusetzen. Ein Blockchain-Engineer muss also auch Kenntnisse im Bereich Frontend, Backend und DevOps mitbringen sollte.