ETFFIN Finance >> Finanzbildung >  >> Kryptowährung >> Blockchain

Hasch

Was ist ein Hash?

Ein Hash ist eine mathematische Funktion, die eine Eingabe beliebiger Länge in eine verschlüsselte Ausgabe einer festen Länge umwandelt. Somit kann unabhängig von der ursprünglichen Datenmenge oder Dateigröße sein einzigartiger Hash wird immer die gleiche Größe haben. Außerdem, Hashes können nicht verwendet werden, um die Eingabe aus der gehashten Ausgabe "zurückzuentwickeln", da Hash-Funktionen "Einweg" sind (wie ein Fleischwolf; Sie können das Hackfleisch nicht wieder in ein Steak legen). Immer noch, wenn Sie eine solche Funktion für dieselben Daten verwenden, sein Hash wird identisch sein, damit Sie überprüfen können, ob die Daten identisch sind (d. h. unverändert), wenn Sie den Hash bereits kennen.

Hashing ist auch für das Blockchain-Management in Kryptowährungen unerlässlich.

Die zentralen Thesen

  • Ein Hash ist eine Funktion, die die verschlüsselten Anforderungen erfüllt, die zum Lösen einer Blockchain-Berechnung erforderlich sind.
  • Hashes haben eine feste Länge, da es fast unmöglich ist, die Länge des Hashs zu erraten, wenn jemand versucht, die Blockchain zu knacken.
  • Dieselben Daten erzeugen immer denselben Hash-Wert.
  • Ein Hasch, wie eine Nonce oder eine Lösung, ist das Rückgrat des Blockchain-Netzwerks.
  • Ein Hash wird basierend auf den Informationen im Blockheader entwickelt.

Wie Hashes funktionieren

Typische Hashfunktionen verwenden Eingaben variabler Länge, um Ausgaben einer festen Länge zurückzugeben. Eine kryptografische Hash-Funktion kombiniert die Message-Passing-Fähigkeiten von Hash-Funktionen mit Sicherheitseigenschaften.

Hash-Funktionen sind häufig verwendete Datenstrukturen in Computersystemen für Aufgaben, B. die Integrität von Nachrichten überprüfen und Informationen authentifizieren. Während sie kryptographisch als "schwach" gelten, weil sie in polynomieller Zeit gelöst werden können, sie sind nicht leicht zu entziffern.

Kryptografische Hash-Funktionen fügen typischen Hash-Funktionen Sicherheitsfunktionen hinzu, Dadurch wird es schwieriger, den Inhalt einer Nachricht oder Informationen über Empfänger und Absender zu erkennen.

Bestimmtes, kryptografische Hashfunktionen weisen diese drei Eigenschaften auf:

  • Sie sind „kollisionsfrei“. Dies bedeutet, dass keine zwei Eingabe-Hashes auf denselben Ausgabe-Hash abgebildet werden sollten.
  • Sie können ausgeblendet werden. Es sollte schwierig sein, den Eingabewert für eine Hashfunktion anhand ihrer Ausgabe zu erraten.
  • Sie sollten rätselfreundlich sein. Es sollte schwierig sein, eine Eingabe auszuwählen, die eine vordefinierte Ausgabe bereitstellt. Daher, die Eingabe sollte aus einer möglichst breiten Verteilung ausgewählt werden.

Aufgrund der Merkmale eines Hashs, Sie werden in großem Umfang in der Online-Sicherheit verwendet – vom Schutz von Passwörtern über die Erkennung von Datenschutzverletzungen bis hin zur Überprüfung der Integrität einer heruntergeladenen Datei.

Hashing und Kryptowährungen

Das Rückgrat einer Kryptowährung ist die Blockchain, Dies ist ein globales Hauptbuch, das durch die Verknüpfung einzelner Blöcke von Transaktionsdaten gebildet wird. Die Blockchain enthält nur validierte Transaktionen, die betrügerische Transaktionen und Doppelausgaben der Währung verhindert. Der resultierende verschlüsselte Wert ist eine Reihe von Zahlen und Buchstaben, die den Originaldaten nicht ähneln und wird als Hash bezeichnet. Beim Kryptowährungs-Mining wird mit diesem Hash gearbeitet.

Hashing erfordert die Verarbeitung der Daten eines Blocks durch eine mathematische Funktion, was zu einer Ausgabe einer festen Länge führt. Die Verwendung einer Ausgabe mit fester Länge erhöht die Sicherheit, da jeder, der versucht, den Hash zu entschlüsseln, nicht in der Lage ist, einfach anhand der Länge der Ausgabe festzustellen, wie lang oder kurz die Eingabe ist.

Das Lösen des Hashs beginnt mit den im Blockheader verfügbaren Daten und löst im Wesentlichen ein komplexes mathematisches Problem. Jeder Blockkopf enthält eine Versionsnummer, ein Zeitstempel, der im vorherigen Block verwendete Hash, das Hash der Merkle-Wurzel, die Nonce, und der Ziel-Hash.

Der Bergmann konzentriert sich auf die Nonce, eine Zahlenfolge. Diese Nummer wird an den gehashten Inhalt des vorherigen Blocks angehängt, die dann gehasht wird. Wenn dieser neue Hash kleiner oder gleich dem Ziel-Hash ist, dann wird es als Lösung akzeptiert, der Bergmann erhält die Belohnung, und der Block wird der Blockchain hinzugefügt.

Der Validierungsprozess für Blockchain-Transaktionen beruht darauf, dass Daten mit algorithmischem Hashing verschlüsselt werden.

Besondere Überlegungen

Um den Hash zu lösen, muss der Miner bestimmen, welche Zeichenfolge als Nonce verwendet werden soll. was selbst ein erhebliches Maß an Trial-and-Error erfordert. Dies liegt daran, dass die Nonce eine zufällige Zeichenfolge ist. Es ist sehr unwahrscheinlich, dass ein Miner beim ersten Versuch erfolgreich die richtige Nonce findet. Dies bedeutet, dass der Miner möglicherweise eine große Anzahl von Nonce-Optionen testen kann, bevor er es richtig macht. Je größer die Schwierigkeit – ein Maß dafür, wie schwer es ist, einen Hash zu erstellen, der die Anforderungen des Ziel-Hashs erfüllt – desto länger dauert es wahrscheinlich, eine Lösung zu generieren.

Ein Beispiel für einen Hash

Das Hashing des Wortes „Hallo“ erzeugt eine Ausgabe, die die gleiche Länge wie der Hash für „Ich gehe in den Laden“ hat. Die zum Generieren des Hashs verwendete Funktion ist deterministisch, Dies bedeutet, dass jedes Mal, wenn dieselbe Eingabe verwendet wird, dasselbe Ergebnis erzeugt wird. Es kann effizient eine Hash-Eingabe generieren; es erschwert auch die Bestimmung des Inputs (führt zum Mining), sowie kleine Änderungen an der Eingabe zu einer unkenntlichen, ganz anderer Hasch.

Die Verarbeitung der Hash-Funktionen, die zum Verschlüsseln neuer Blöcke erforderlich sind, erfordert eine beträchtliche Rechenleistung des Computers. was teuer werden kann. Um Einzelpersonen und Unternehmen zu locken, als Bergleute bezeichnet, in die erforderliche Technologie zu investieren, Kryptowährungsnetzwerke belohnen sie sowohl mit neuen Kryptowährungstoken als auch mit einer Transaktionsgebühr. Miner werden nur dann entschädigt, wenn sie als erster einen Hash erstellen, der die im Ziel-Hash beschriebenen Anforderungen erfüllt.

Häufig gestellte Fragen

Was ist eine Hash-Funktion?

Hash-Funktionen sind mathematische Funktionen, die einen bestimmten Datensatz in eine Bitfolge fester Größe umwandeln oder "abbilden". auch als "Hashwert" bekannt.

Wie wird ein Hashwert berechnet?

Eine Hash-Funktion verwendet komplexe mathematische Algorithmen, die Daten beliebiger Länge in Daten fester Länge umwandeln (z. 256 Zeichen). Wenn Sie irgendwo in den Originaldaten ein Bit ändern, der gesamte Hashwert ändert sich, Dies macht es nützlich, um die Wiedergabetreue von digitalen Dateien und anderen Daten zu überprüfen.

Wofür werden Hashes in Blockchains verwendet?

Hashes werden in mehreren Teilen eines Blockchain-Systems verwendet. Zuerst, jeder Block enthält den Hash des Blockheaders des vorherigen Blocks, Stellen Sie sicher, dass nichts manipuliert wurde, wenn neue Blöcke hinzugefügt werden. Kryptowährungs-Mining mit Proof-of-Work (PoW), Außerdem, verwendet Hashing von zufällig generierten Zahlen, um zu einem bestimmten Hash-Wert zu gelangen, der eine Reihe von führenden Nullen enthält. Diese beliebige Funktion ist ressourcenintensiv, macht es einem schlechten Akteur schwer, das Netzwerk zu überholen.