Kryptographie ist das Rückgrat hinter der Sicherheit der Blockchain. Mit der Einführung von Bitcoin im Jahr 2009 kam die Blockchain, die behauptete, es sei nahezu unmöglich, sie zu kompromittieren oder zu hacken. Über ein Jahrzehnt später hat sich die Blockchain zwar als hochsicher, aber nicht perfekt erwiesen.
Einige Faktoren, die die Widerstandsfähigkeit der Blockchain gegenüber Hacking und böswilligen Angriffen sicherstellen, sind ihr verteiltes Design, die konsensbasierte Transaktionsverifizierung und die Unveränderlichkeit von Aufzeichnungen. Der wichtigste zugrunde liegende Faktor, der die Blockchain-Technologie hochsicher macht, ist die Kryptografie; insbesondere sichere digitale Kommunikation auf der Grundlage von Kryptografie.
Was ist Kryptographie?
Kryptografie ist ein interdisziplinäres Studiengebiet, das darauf abzielt, sichere private Kommunikation in Gegenwart potenziell böswilliger Dritter zu entwickeln. Einfach gesagt ist es eine Möglichkeit, Nachrichten zu verschlüsseln, die zwischen Parteien gesendet werden, sodass nur der Absender und der Empfänger die Nachricht verstehen können.
Was ist Kryptographie in Blockchain?
Im Zusammenhang mit der Blockchain-Technologie wird Kryptographie für eine Reihe von Zwecken verwendet:
- Entwicklung des sicheren Datenaustauschs zwischen zwei Transaktionsknoten, z. B. einer Brieftasche, die Kryptowährung an die Brieftasche eines anderen Benutzers sendet
- Um Transaktionen im Netzwerk durch Mining-Knoten zu überprüfen
- Um die Unveränderlichkeit von Datensätzen in der Blockchain sicherzustellen
- Für spezifische Anwendungszwecke, wie z. B. die Gewährleistung der Vertraulichkeit von Daten in Smart Contracts
Blockchain-Verschlüsselung und -Entschlüsselung
Es gibt zwei Schlüsselkomponenten für einen kryptografischen Datenaustausch:
- Verschlüsselung, bei der eine Klartextnachricht in eine kryptische Form umgewandelt wird, die von Dritten nicht gelesen oder verstanden werden kann. Der Absender der Nachricht verschlüsselt sie für eine sichere Übertragung.
- Entschlüsselung, bei der die verschlüsselte Nachricht wieder in Klartext umgewandelt wird. Der Empfänger entschlüsselt die Nachricht, wenn sie ihm sicher zugestellt wurde.
Der Algorithmus, der zum Verschlüsseln und Entschlüsseln der Daten verwendet wird, wird als Chiffre bezeichnet. Ein Beispiel für eine primitive Chiffre könnte sein, wenn jeder Buchstabe in einem Nachrichtenaustausch durch eine Ziffer ersetzt wird, die sich auf die Position dieses Buchstabens im Alphabet bezieht, so dass 01 auf A, 02 auf B, 26 auf Z usw. verweist. Zum Beispiel würde sich in dieser einfachen Chiffre „08-09“ auf „Hi“ beziehen.
Die eigentliche Verschlüsselung der Nachricht von „Hi“ bis „08-09“ und die anschließende Entschlüsselung von „08-09“ bis „Hi“ erfolgt mit einem kryptografischen Schlüssel – einem Datenelement, das Nachrichten basierend auf verschlüsselt und entschlüsselt Algorithmus/Verschlüsselung.
Glücklicherweise verwenden die Blockchain und andere moderne computergestützte Systeme weit ausgefeiltere und sicherere Verschlüsselungsalgorithmen als unser einfaches Beispiel. Wir werden diese weiter in dem Artikel behandeln.
Die wichtigsten Arten der kryptografischen Verschlüsselung
Es gibt drei Hauptarten der kryptografischen Verschlüsselung/Entschlüsselung, die von modernen Systemen verwendet werden:
Symmetrische Verschlüsselung
Bei dieser Form der Verschlüsselung wird derselbe Schlüssel sowohl zum Verschlüsseln als auch zum Entschlüsseln der Kommunikation zwischen Parteien verwendet. In unserem vereinfachten Beispiel wird derselbe Schlüssel (die Zuordnung von Buchstaben zu Zahlen) benötigt, um „Hi“ in „08-09“ umzuwandeln und dann „08-09“ wieder in „Hi“ zu entschlüsseln.
Die symmetrische Verschlüsselung ist die einfachste der drei Formen der modernen Verschlüsselung. Sein Vorteil ist die hohe Ausführungsgeschwindigkeit. Die symmetrische Verschlüsselung hat jedoch eine ernsthafte Einschränkung: Wenn der Schlüssel böswilligen Außenstehenden bekannt wird, wird die gesamte Kommunikation kompromittiert. Dies macht es unpraktisch für die Verwendung mit einer dezentralen Technologie wie Blockchain.
Asymmetrische Verschlüsselung
auch bekannt als Public-Key-Verschlüsselung: Diese Form der Verschlüsselung verwendet ein Schlüsselpaar, einen öffentlichen Schlüssel und einen privaten Schlüssel, um die Kommunikation zu sichern. Der öffentliche Schlüssel wird vom Sender zum Verschlüsseln der Nachricht verwendet, während der private Schlüssel vom Empfänger zum Entschlüsseln verwendet wird. Beide Schlüssel gehören dem Empfänger der Kommunikation. Der öffentliche Schlüssel kann von jedem verwendet werden, um eine Nachricht zu verschlüsseln und an die Wallet-Adresse des Empfängers zu senden.
Tatsächlich sind öffentliche Schlüssel und Wallet-Adressen eng miteinander verflochtene Konzepte. Bei den meisten öffentlichen Blockchains wie Bitcoin (BTC) ist eine Wallet-Adresse die gehashte Version des öffentlichen Schlüssels des Benutzers. Wenn die Nachricht an die Brieftasche übermittelt wird, verwendet der Empfänger dann seinen privaten Schlüssel, um die Nachricht zu entschlüsseln und zu lesen. Der private Schlüssel des Empfängers ist nur ihm bekannt, nicht dem Absender oder irgendjemand anderem im Netzwerk. Die Verwendung von Public-Private-Key-Pairing macht die asymmetrische Verschlüsselung im Vergleich zur symmetrischen, also Single-Key-Verschlüsselung, zu einer sichereren Form des kryptografischen Austauschs.
Hash-Funktionsverschlüsselung
Als hochsicherer Verschlüsselungstyp verwendet Hashing überhaupt keine Schlüssel. Beim Hashing wird ein Algorithmus verwendet, um eine Eingabe beliebiger Länge zu nehmen und eine Ausgabe fester Länge zu erzeugen.
Es gibt eine Reihe verschiedener Hash-Funktionen, von denen nur einige (bekannt als „kryptografische Hash-Funktionen“) als sicher genug für kryptografische Zwecke gelten. Beispielsweise verwendet Bitcoin die SHA-256-Funktion, während die Hash-Verschlüsselung von Ethereum auf KECCAK-256 basiert.
Kryptografische Hash-Funktionen besitzen eine Reihe von Eigenschaften, die sie ideal für die sichere Verschlüsselung machen:
- Sie haben eine extrem geringe Wahrscheinlichkeit, dass Kollisionen auftreten. Das bedeutet, dass die Wahrscheinlichkeit, dass zwei verschiedene Eingaben zu derselben gehashten Ausgabe führen, astronomisch gering ist, was Brute-Force-Angriffe unmöglich macht
- Die ursprüngliche Nachricht kann nicht aus der Hash-Ausgabe zurückentwickelt werden
- Sie sind deterministisch, d. h. jede Eingabe erzeugt die gleiche Ausgabe, wenn sie die Hash-Funktion durchläuft
- Selbst eine winzige Änderung an der Eingabe, wie das Umdrehen eines einzelnen Bits von 0 auf 1, erzeugt einen völlig anderen Ausgabe-Hash
Von den drei Verschlüsselungsarten wird die symmetrische Verschlüsselung in den gängigen etablierten Blockchain-Netzwerken praktisch nie verwendet. Asymmetrische Verschlüsselung und Hashing werden jedoch beide in großem Umfang in der Blockchain-Technologie eingesetzt.
Verwendung von Kryptografie in Blockchain
Asymmetrische Verschlüsselung wird in der Blockchain verwendet, um sichere Knoten-zu-Knoten-Transaktionen zu ermöglichen. Wann immer Sie Kryptomünzen oder Token an oder von einer anderen Brieftasche im Netzwerk senden oder empfangen, werden Ihre Transaktionen durch asymmetrische Verschlüsselung geschützt.
Die Hashing-Verschlüsselung hat in der Blockchain eine noch weitreichendere Anwendung. Eine Verwendung von Hashing besteht darin, die öffentlichen Schlüssel der Benutzer in Blockchain-Adressen zu verschlüsseln. Wenn ein öffentlicher Schlüssel für einen neuen Benutzer erstellt wird, wird er durch eine Hash-Funktion geleitet, um die entsprechende Wallet-Adresse im Netzwerk zu generieren. Dies fügt dem Adresssystem der Blockchain eine zusätzliche Sicherheitsebene hinzu.
Hashing wird auch beim Blockchain-Mining in Proof-of-Work (PoW)-Netzwerken verwendet. Mining bezieht sich auf die Überprüfung von Transaktionen im Netzwerk durch teilnehmende „Miner-Knoten“. Wenn eine Transaktion auf der Blockchain stattfindet, muss ihre Authentizität von einer Reihe von Netzwerkbenutzern, den sogenannten Minern, überprüft werden.
Jeder Transaktionsdatenblock enthält eine durch Hashing generierte eindeutige Nummer. Miner-Nodes im Netzwerk verwenden beträchtliche Rechenleistung, um ein mathematisches Rätsel zu lösen, um eine andere Zahl zu finden, die als „Nonce“ bezeichnet wird. Einmal zum Hash des zu verifizierenden Blocks hinzugefügt, hilft die Nonce dabei, die Verifizierung abzuschließen.
Hashing-Algorithmen dienen daher als Rückgrat der Datenverifizierung durch Mining auf Blockchains. Sie werden auch verwendet, um Datensätze im Netzwerk in eine unveränderliche Kette einzubinden. Jeder Datenblock im Netzwerk enthält seinen eigenen eindeutigen Hash-Code und den Hash des vorherigen Blocks.
Dies stellt sicher, dass jede versuchte Änderung an einem Datenblock Änderungen an allen vorherigen Blöcken in der Kette erfordern wird, eine Aufgabe, die für alle praktischen Zwecke unmöglich ist. Diese Verkettung durch Hash-Codes ist ein wichtiges Sicherheitsmerkmal in der Blockchain-Technologie.
Neben der standardmäßigen Kernverwendung von asymmetrischer und Hashing-Kryptographie in Blockchain gibt es bestimmte Bereiche innerhalb des Blockchain-Ökosystems, in denen Verschlüsselung nützlich ist. Ein solcher Bereich sind Smart Contracts.
Sind Smart Contracts verschlüsselt?
Aufgrund des öffentlichen Charakters der meisten Blockchains sind intelligente Verträge für jeden Netzwerkteilnehmer leicht einsehbar und es fehlt ihnen daher das Schlüsselmerkmal der Vertraulichkeit, das oft bei Vertragsabschlüssen angestrebt wird. Mit zunehmender Verbreitung von Smart Contracts wird Kryptografie auf der Grundlage von Hash-Algorithmen in größerem Umfang zum Schutz sensibler Vertragsdaten eingesetzt.
Blockchain-Technologien wie Hawk sind ein aufstrebender Entwicklungsbereich, der darauf abzielt, die Privatsphäre und Vertraulichkeit von Blockchain Smart Contracts zu gewährleisten. Hawk ist ein Protokoll, das wichtige sensible Informationen in einem Smart Contract kryptografisch vor der Sicht der Öffentlichkeit auf die Blockchain verbirgt. Im Wesentlichen basieren Technologien und Protokolle wie Hawk alle auf irgendeiner Form von Hashing-Kryptografie.
Hier ist eine Zusammenfassung der kryptografischen Methoden, die üblicherweise in verschiedenen Aspekten der Blockchain verwendet werden:
Verwendung in Blockchain | Art der Kryptografie |
Transaktionen zwischen Nodes (z. B. Kauf und Verkauf von Coins und Token) | Asymmetrisch |
Mining/Verifizierung von Transaktionen | Hashing |
Unveränderlichkeit/Sicherheit von Datensätzen in der Blockchain | Hashing |
Datenschutz in Smart Contracts | Hashing |
Fazit
Von den drei Arten kryptografischer Verschlüsselungsmethoden – Symmetrisch, Asymmetrisch und Hashing – verwendet Blockchain die beiden letzteren. Die symmetrische Verschlüsselung wird in Blockchains aufgrund ihrer vergleichsweise schlechten Sicherheitseigenschaften und der Ungeeignetheit für dezentrale Anwendungen selten eingesetzt.
Asymmetrische Verschlüsselung, basierend auf einem Paar öffentlicher und privater Schlüssel, ist das Herzstück der Gewährleistung der Sicherheit bei Benutzer-zu-Benutzer-Transaktionen.
Hash-Verschlüsselung wird für eine Reihe kritischer Prozesse verwendet, die die Gesamtsicherheit der Blockchain gewährleisten. Hashing wird bei der Transaktionsverifizierung durch Mining verwendet; Aufrechterhaltung der Unveränderlichkeit von Aufzeichnungen in der Blockchain; und auch für spezielle Anwendungen wie die Gewährleistung der Vertraulichkeit und des Datenschutzes von Daten in Smart Contracts. Darüber hinaus wird Hashing auch zur Umwandlung öffentlicher Schlüssel in Blockchain-Adressen verwendet.
Beliebte Blockchain-Plattformen wie Bitcoin oder Ethereum verwenden hochwertige, sichere Hashing-Algorithmen wie SHA-256 und KECCAK-256. Die Verwendung dieser ausgeklügelten Algorithmen stellt sicher, dass ihre Blockchains zu den sichersten digitalen Netzwerken gehören, die es derzeit gibt.
Derzeit ist der kryptografische Schutz von Daten in Smart Contracts ein neueres Entwicklungsgebiet für die Blockchain-Technologie. Kryptografie auf der Grundlage von Hash-Algorithmen wird mit zunehmender Popularität von Smart Contracts immer wichtiger.