Was ist eigentlich: Hash, Hashpower und Hashfunktion
Der Begriff Hash wird in erster Linie im Fachbereich der Mathematik und Informatik verwendet. Er bezeichnet nicht, wie es umgangssprachlich gerne verwendet wird, das Rauschmittel Mariuhana. Das Wort Hash stammt vom englischen Verb to hash ab, was so viel bedeutet wie etwas zu zerhacken, etwas zu verstreuen. Grundsätzlich ist mit Hash ein Hashwert gemeint. Ein Hashwert vereint in sich eine Vielzahl von Informationen, die über eine Hashfunktion zugeordnet werden, wobei die Hashfunktion eine beliebig lange Zeichenabfolge übertragen kann. In diesem Blog-Beitrag erklären wir Ihnen genauer, was es damit auf sich hat.
Hashes und die Hashfunktion
Stellen Sie sich vor, sie hätten eine große Schale mit vielen verschiedenen dreidimensionalen, geometrischen Figuren in vielen verschiedenen Farben. Sie möchten die Figuren nach Farbe sortieren. Dafür haben Sie viele kleinere Schalen, welche jeweils für eine Farbe stehen. Sie haben eine Schale für rote Figuren, eine für blaue, eine für gelbe und so weiter. Nun beginnen Sie die geometrischen Figuren nach Farbe in die einzelnen kleinen Schalen zu verteilen. Ein roter Quader kommt in die Schale für rote Figuren, ein gelber Kegel in die Schale für gelbe Figuren und eine blaue Kugel in die Schale für blaue Figuren. Nachdem Sie die große Schale geleert und die Figuren auf die einzelnen Schalen verteilt haben, haben Sie genau das geleistet, was eine Hashfunktion unter anderem leisten kann.
Die Hashfunktion, das wären im oben stehenden Beispiel Sie, ordnet eine große Menge an reinkommenden Informationen, das ist die große Schale mit den vielen verschiedenen dreidimensionalen, geometrischen Figuren, Hashwerten zu, wobei Hashwerte die kleineren Schalen darstellen. Die Hashfunktion erkennt die Merkmale, im Beispiel sind das die Farben, und ordnet die Information, völlig automatisiert, den jeweiligen Hashwerten zu. Eine funktionierende Hashfunktion zeichnet sich idealerweise durch die folgenden Merkmale aus:
- Gleichverteilung der Hashwerte auf Eingabewerte
- Größe des Hashwertes übertrifft nicht Größe der zugeordneten Information
- ähnliche Informationen werden unterschiedlichen Hashwerten zugeordnet
- Effizienz
- jeder Hashwert verfügt über eine Information, die ihm zugeordnet wird
- Ordnungserhaltung durch bspw. Algorithmen
Hashfunktionen werden beispielsweise für die Datenspeicherung, die Überprüfung von Informationsintegrität, also Prüfsummen, und im Bereich der Kryptologie verwendet.
Der Hash in der Datenspeicherung
Im Bereich der Datenspeicherung werden Informationen in Datenbanken gespeichert. Datenbanken werden allgemein verwendet, um große Mengen an Daten zu speichern. Das betrifft beispielsweise den Kundeninformationen einer Krypto-Börse. In einer Datenbank können Informationen wie Name, Adresse, Geburtsdatum, Mailadresse und Telefonnummer über eine Hashfunktion einem Hashwert zugewiesen werden.
Wenn sich Paul Mustermann, wohnhaft in Hamburg, geboren am 11.11.2011 mit der Mailadresse [email protected] und der Telefonnummer 0157 1234567 sich registriert, werden alle Informationen dem Hashwert 1 zugewiesen. 1 bedeutet dann die Menge der Informationen, die Paul preisgegeben hat. Für die Übermittlung der Informationen bekommt Paul einen eigenen, einzigartigen Schlüssel, damit seine Daten richtig zugeordnet werden können. Über diverse Schlüsselverfahren können die Daten ver- und entschlüsselt werden.
Der Hash bei Prüfsummen
Prüfsummen haben die Funktion die Echtheit von Informationen zu verifizieren. Das spielt im Bereich der Datensicherung und Datenübertragung eine große Rolle. Prüfsummen können Fehler in der Datenübertragung erkennen und sie gegebenenfalls berichtigen. Die Prüfsumme wird bereits während der Datenübertragung, vom Sender ausgehend, berechnet und mit den Daten übertragen. Der Empfänger kann nun die Prüfsumme der übertragenen Daten selbst berechnen und die eigene Prüfsumme mit der übertragenen Prüfsumme abgleichen. Das erhöht allgemein die Möglichkeit Informationen über eine Funktion den richtigen Hashwerten zuzuordnen.
Wenn Paul seine Adresse in seinem Account bei der Krypto-Börse ändern möchte, kann von der Adresse eine Prüfsumme erstellt werden. Der Abgleich der Prüfsummen erhöht die Wahrscheinlichkeit, dass die neue Adresse auch wirklich dem Account von Paul zugeordnet wird.
Der Hash in der Kryptologie
Eine kryptologische Hashfunktion liegt dann vor, wenn eine Hashfunktion nur in eine Richtung funktioniert und sie mögliche Kollisionen, auch durch Hacks verursachbar, vermeidet. Kollisionen liegen dann vor, wenn zwei Informationen demselben Hashwert zugeordnet werden. Dann liegt ein Fehler vor. Eine Kollision könnte dazu führen, dass Paul auf den Account von Marie zugreifen könnte, was nach Möglichkeit nicht passieren sollte.
Kryptografische Hashfunktionen sollen durch ihre einseitige Verwendungsrichtung für zusätzliche Sicherheit sorgen. In der Kryptografie werden dafür meistens Algorithmen verwendet. Sie bilden unter anderem die Grundlage für asymmetrische Krypto-Systeme. Diese Systeme sind deshalb asymmetrisch, weil kein gemeinsamer, geheimer Schlüssel verwendet wird, sondern der Datenbankbetreiber über einen geheimen Schlüssel verfügt und einen öffentlichen Schlüssel zur Verfügung stellt. Diese Methode ist auch als Public-Key-Infrastructure (PKI) bezeichnet. Kryptologische Hashfunktionen werden auch im Krypto-Mining verwendet.
Algorithmen in Mining
Der wohl bekannteste Mining-Algorithmus ist der SHA256-Algorithmus, welcher für das Bitcoin-Mining genutzt wird. Die Anwendungsgeschwindigkeit des Algorithmus wird in Hashpower ausgedrückt. Eine hohe Hashpower liegt beispielsweise dann vor, wenn pro Sekunde 300 Terahash (300 TH/s) berechnet werden können. Die Hashpower wird durch die Geschwindigkeit errechnet, mit der Quellinformationen, also Pauls und Maries Adressdaten als Vergleich, miteinander verrechnet werden. Dabei gilt das Prinzip: Je mehr Rechenleistung ein Computer bereitstellt, desto schneller können Quellinformationen Hashwerten zugewiesen werden.
Beim Bitcoin-Mining werden die Quellinformation einer Transaktion, also Informationen wie Sender und Betrag, über die Blockchain (Was ist Blockchain?) dem Empfänger, das ist in diesem Fall der Hashwert, zugewiesen. Je mehr Computer dieselbe Prüfsumme erhalten, desto wahrscheinlicher ist es, dass die Transaktion getätigt wurde. Je mehr Hashpower ein Computer zur Verfügung stellt, desto mehr Transaktionen kann er pro Sekunde bearbeiten. Je mehr Transaktionen er pro Sekunde berechnen kann, desto wahrscheinlicher ist es, dass er eine Belohnung für den Fund eines Blocks, welcher aus einer definierten Anzahl von Transaktionen besteht, erhält.
Je mehr Hashpower ein Computer zur Verfügung stellt, desto mehr Transaktionen kann er pro Sekunde bearbeiten
Hash Fazit
Hashes spielen in der korrekten Zuordnung von Informationen zu Zielorten eine große Rolle. Sie werden bei der Verwendung von Datenbanken, Prüfverfahren und besonders sicheren Übertragungsprozessen aus dem kryptografischen Bereich verwendet. Innerhalb des kryptografischen Bereichs des Minings bilden Hashes die Grundlage für digitale, kryptografisch verschlüsselte Werterzeugungs- und Werttransferprozesse. Bitcoin ist nur ein Beispiel von vielen, in denen sie verwendet werden.