Verteilte Computer-, Mechanismusdesign- und Kryptografiealgorithmen bilden die heilige Dreifaltigkeit der Blockchain-Technologie. Distributed Computing nutzt ein dezentrales Computernetzwerk und existierte vor Blockchains in Form von Torrenting-Netzwerken.

Torrenting-Sites hatten jedoch keine Möglichkeit, das Verhalten der Teilnehmer zu steuern. Hier geht das Mechanismusdesign in die Blockchain ein. Es bietet den Netzwerkteilnehmern den Anreiz, sich für das Wohl des Netzwerks einzusetzen.

Kryptographie dient als Sicherheit für den Schutz dieser Anreize. In dem wegweisenden Bitcoin-Whitepaper wurde erläutert, wie diese drei wissenschaftlichen Prinzipien zusammenwirken können, um einen sicheren Peer-to-Peer-Werteaustausch zu bilden, bei dem bei Finanztransaktionen kein Dritter erforderlich ist.

Während jedes dieser Prinzipien eine eigene Erklärung verdient, konzentriert sich dieser Artikel auf die Kryptographie und darauf, wie Verschlüsselungsalgorithmen Blockchains dienen.

Eine kurze Geschichte der Kryptographie

Kryptographie in irgendeiner Form gibt es seit der Zeit des alten Ägypten. Vor dem Zeitalter des Rechnens bedeutete dies die Verwendung eines einfachen Kryptografiealgorithmus, der als Chiffre bezeichnet wird, um Nachrichten zu übertragen. Eines der am häufigsten zitierten ist das Caesar Chiffre, von Julius Caesar verwendet, um mit seinen Generälen im Römischen Reich zu kommunizieren. Die Caesar-Chiffre ersetzte jeden Buchstaben der Nachricht durch den Buchstaben, der im Alphabet drei Stellen nach ihm steht, sodass A zu D, B zu E usw. wird. Solange das zur Erzeugung des Chiffretextes verwendete System geheim bleibt, kann die Nachricht auch privat bleiben.

Julius Caesar

Caesar hat mehr als nur großartige Salate gemacht, weißt du?

Später, im 16. Jahrhundert, führte Vigenere das Konzept eines Verschlüsselungsschlüssels für Kryptografiealgorithmen ein, mit denen codierte Nachrichten entschlüsselt werden können. Verwendung der Vigenere-Chiffre, Der Nachrichtentext wurde in ein einzelnes Schlüsselwort transkribiert, das wiederholt wird, bis es mit der Zeichenlänge der ursprünglichen Nachricht übereinstimmt. Dieses Schlüsselwort generiert dann den Chiffretext mithilfe einer Tabelle.

Die entscheidende Entwicklung hierbei ist, dass die Sicherheit von Nachrichten, die mit einer Vigener-Verschlüsselung übertragen werden, von der Geheimhaltung des Schlüssels abhängt, nicht vom System selbst.

Entwicklungen des 20. Jahrhunderts

Das Problem bei diesen Arten von Codes besteht darin, dass sie durch Analyse der Buchstabenhäufigkeit leicht zerbrechlich sind. Die Deutschen benutzten die Enigma Machine ausgiebig während des Zweiten Weltkriegs, weil es in der Lage war, Chiffretexte zu generieren, die durch Analyse der Buchstabenhäufigkeit nicht gebrochen werden konnten.

Die Maschine verwendete ein System aus mehreren Rotoren, um den Chiffretext zu erzeugen. Der Buchstabe “e” in der ursprünglichen Nachricht würde also einer Reihe verschiedener Buchstaben im Chiffretext entsprechen. Der Schlüssel war die anfängliche Einstellung der Rotoren.

Enigma Machine

Die Enigma-Maschine galt als unzerbrechlich

Obwohl die Deutschen dachten, der Code sei unzerbrechlich, war es Enigma von den Polen geknackt Bereits 1932. Kryptografen, die für das britische Militär im Bletchley Park arbeiteten, einschließlich des mittlerweile legendären Alan Turing selbst, fanden später einen Weg, die von den Deutschen verwendeten täglichen Schlüssel herauszufinden.

Die Morgendämmerung des Rechnens

Nach dem Krieg nahmen die Anforderungen an die Verschlüsselung im Geschäfts- und Geschäftsbereich zu, um Unternehmensgeheimnisse zu schützen. In den 1970er Jahren entwickelte IBM den Kryptografiealgorithmus Data Encryption Standard (DES). Es wurde jedoch ein kleiner Verschlüsselungsschlüssel verwendet. Als das Zeitalter des Rechnens anbrach, wurde es leicht, DES brutal zu erzwingen, und daher bestand Bedarf an einem Update. Der im Jahr 2000 verabschiedete Advanced Encryption Standard.

Obwohl sich viele Menschen dessen vielleicht nicht bewusst sind, gehört die Verschlüsselung heute zum täglichen Leben. Bei E-Mail- und Textnachrichten, Kennwörtern und SSL-Ebenen auf Websites wird Verschlüsselung verwendet. Es bildet auch das Rückgrat der Kryptowährung. Es gibt viele verschiedene Arten von Kryptografiealgorithmen, die verschiedene Anwendungsfälle abdecken, von denen viele bereits veraltet sind. Die Verwendung von Kryptographie in Blockchain umfasst jedoch digitale Signaturen und Hashing.

Digitale Signaturen

Kryptowährungszahlungen erfordern eine digitale Signatur in Form eines privaten Schlüssels. Wenn jemand seinen privaten Schlüssel für eine Zahlungstransaktion eingibt, verschlüsselt dies die Transaktion. Wenn die Zahlung ihr Ziel erreicht, kann der Empfänger die Transaktion mit dem öffentlichen Schlüssel des Absenders entschlüsseln.

Dies ist als asymmetrische Kryptographie bekannt, da sie von einem Schlüsselpaar abhängt, das durch Kryptographie miteinander verbunden ist. Es ist sicherer als die symmetrische Kryptografie, bei der sowohl Absender als auch Empfänger denselben Schlüssel verwenden. In diesem Fall muss der Schlüssel selbst zusammen mit der Zahlung übertragen werden, was bedeutet, dass eine zusätzliche Sicherheitsebene zum Schutz des Schlüssels erforderlich wäre.

Hashing

Blockchains sind auch vom Hashing abhängig. Hashing ist eine kryptografische Methode zum Konvertieren von Daten aller Art in eine Zeichenfolge. Hashing bietet nicht nur Sicherheit durch Verschlüsselung, sondern schafft auch einen effizienteren Datenspeicher, da der Hash eine feste Größe hat.

Eigenschaften von Hashing-Kryptographie-Algorithmen

Ein kryptografischer Hashing-Algorithmus muss bestimmte Kriterien erfüllen, um effektiv zu sein:

  • Der gleiche Eingang muss immer den gleichen Ausgang erzeugen. Unabhängig davon, wie oft Sie die Daten durch den Hashing-Algorithmus führen, muss er konsistent denselben Hash mit identischen Zeichen in der Zeichenfolge erzeugen
  • Die Eingabe kann nicht über die Ausgabe abgeleitet oder berechnet werden. Es sollte keine Möglichkeit geben, den Hashing-Prozess umzukehren, um den Originaldatensatz anzuzeigen
  • Jede Änderung der Eingabe muss zu einer völlig anderen Ausgabe führen. Selbst wenn Sie die Groß- und Kleinschreibung eines Zeichens in einem Datensatz ändern, sollte ein Hash erstellt werden, der sich erheblich unterscheidet
  • Der Hash sollte eine feste Anzahl von Zeichen haben, unabhängig von der Größe oder Art der als Eingabe verwendeten Daten
  • Das Erstellen des Hashs sollte ein schneller Prozess sein, bei dem die Rechenleistung nicht stark beansprucht wird.

Wie ein Hashing-Algorithmus aussieht

Wie ein Hash-Algorithmus einen Hash generiert. Bildnachweis: Wikimedia Commons

Wie funktioniert das Hashing??

Blockchains hasht jede Transaktion, bevor sie zu Blöcken gebündelt werden. Hash-Zeiger verknüpfen jeden Block mit seinem Vorgänger, indem sie einen Hash der Daten im vorherigen Block halten. Da jeder Block mit seinem Vorgänger verknüpft ist, sind die Daten in der Blockchain unveränderlich. Die Hashing-Funktion bedeutet, dass eine Änderung in einer Transaktion einen völlig anderen Hash erzeugt, der die Hashes aller nachfolgenden Blöcke ändert. Um eine Änderung über die Blockchain zu verbreiten, müssten 51% des Netzwerks dem zustimmen. Daher der Begriff “51% Angriff”.

Unterschiedliche Blockchains verwenden unterschiedliche Kryptografiealgorithmen. Die Bitcoin-Blockchain verwendet den SHA256-Algorithmus, der einen 32-Byte-Hash erzeugt. Dogecoin und Litecoin verwenden beide Scrypt, einen der schnelleren und leichteren Kryptografiealgorithmen.

Kryptographie ist eine komplexe und detaillierte Wissenschaft, die weit über den Rahmen einer Blockchain hinausgeht. Es gibt viele weitere Informationen zur Kryptographie, insbesondere für wissenschaftlich oder mathematisch Interessierte. Es ist ein faszinierendes Thema, das es zu erforschen gilt.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me