Heute werden wir erklären, was Hashing und digitale Signatur in der Blockchain sind.
Was ist Hashing in der Blockchain?
Hashing bezieht sich auf das Konzept, eine beliebige Menge von Eingabedaten zu verwenden, einen Algorithmus darauf anzuwenden und Ausgabedaten fester Größe zu generieren, die als Hash bezeichnet werden. Die Eingabe kann eine beliebige Anzahl von Bits sein, die ein einzelnes Zeichen, eine MP3-Datei, einen gesamten Roman, eine Tabelle Ihrer Bankhistorie oder sogar das gesamte Internet darstellen können.
Der Punkt ist, dass die Eingabe unendlich groß sein kann. Der Hashing-Algorithmus kann je nach Bedarf gewählt werden und es gibt viele öffentlich verfügbare Hashing-Algorithmen. Der Punkt ist, dass der Algorithmus die unendliche Eingabe von Bits nimmt, einige Berechnungen auf sie anwendet und eine endliche Anzahl von Bits erzeugt. Zum Beispiel 256 Bit.
Wofür kann dieser Hash verwendet werden?
Hashes werden heutzutage häufig für Fingerabdruckdateien verwendet, die auch als Verifizierungszonen bezeichnet werden. Dies bedeutet, dass ein Hash verwendet wird, um zu überprüfen, ob eine Datei vom Autor unbeabsichtigt manipuliert oder modifiziert wurde. Wenn WikiLeaks beispielsweise eine Reihe von Dateien zusammen mit ihren MD5-Hashes veröffentlicht, kann jeder, der diese Dateien herunterlädt, überprüfen, ob sie tatsächlich von WikiLeaks stammen, indem er den MD5-Hash der heruntergeladenen Dateien berechnet und ob der Hash nicht mit dem übereinstimmt, von dem er veröffentlicht wurde WikiLeaks, dann wissen Sie, dass die Datei auf irgendeine Weise geändert wurde.
Wie verwendet die Blockchain den Hash?
Hashes werden in Blockchains verwendet, um den aktuellen Zustand der Welt darzustellen. Die Eingabe ist der vollständige Status der Blockchain, dh alle Transaktionen, die bisher stattgefunden haben, und der resultierende Ausgabe-Hash repräsentiert den aktuellen Status der Blockchain. Der Hash wird verwendet, um zwischen allen Parteien zu vereinbaren, dass der globale Staat ein und derselbe ist, aber wie werden diese Hashs eigentlich berechnet?
Der erste Hash wird für den ersten Block oder Genesis-Block unter Verwendung der Transaktionen innerhalb dieses Blocks berechnet. Die Reihenfolge der anfänglichen Transaktionen wird verwendet, um einen Block-Hash für den Genesis-Block zu berechnen. Für jeden neuen Block, der nachfolgend generiert wird, wird auch der Hash des vorherigen Blocks sowie seine eigenen Transaktionen als Eingabe verwendet, um seinen Block-Hash zu bestimmen. Auf diese Weise wird eine Blockchain gebildet, wobei jeder neue Block-Hash auf den vorherigen Block-Hash verweist.
Dieses Hashing-System stellt sicher, dass keine Transaktion im Verlauf manipuliert werden kann, denn wenn sich ein Teil der Transaktion ändert, ändert sich auch der Hash des Blocks, zu dem er gehört, und alle nachfolgenden Block-Hashes als Ergebnis. Es wäre ziemlich einfach, Manipulationen zu erfassen, da nur Hashes verglichen werden können. Das ist großartig, weil sich jeder in der Blockchain nur auf 256 Bit einigen muss, um den potenziell unendlichen Zustand der Blockchain darzustellen. Die Ethereum-Blockchain hat derzeit mehrere zehn Gigabyte, aber der aktuelle Status der Blockchain zum Zeitpunkt dieser Aufzeichnung ist dieser hexadezimale Hash, der 256 Bit darstellt.
Was sind digitale Signaturen in der Blockchain?
Digitale Signaturen sind wie echte Signaturen ein Weg, um zu beweisen, dass jemand der ist, von dem er sagt, dass er er ist, mit der Ausnahme, dass wir Kryptografie oder Mathematik verwenden, die sicherer sind als handschriftliche Signaturen, die leicht gefälscht werden können. Eine digitale Signatur ist ein Weg, um zu beweisen, dass eine Nachricht von einer bestimmten Person und von niemand anderem stammt, beispielsweise von einem Hacker.
Digitale Signaturen werden heute im gesamten Internet verwendet. Jedes Mal, wenn Sie eine Website über ACTPS besuchen, verwenden Sie SSL, das digitale Signaturen verwendet, um das Vertrauen zwischen Ihnen und dem Server herzustellen. Dies bedeutet, dass Ihr Browser beim Besuch von Facebook.com die mit der Webseite gelieferte digitale Signatur überprüfen kann, um sicherzustellen, dass sie tatsächlich von Facebook stammt und nicht von einem Hacker.
In asymmetrischen Verschlüsselungssystemen erzeugen Benutzer unter Verwendung eines bekannten Algorithmus ein sogenanntes Schlüsselpaar, das ein öffentlicher Schlüssel und ein privater Schlüssel ist. Der öffentliche Schlüssel und der private Schlüssel sind durch eine mathematische Beziehung miteinander verbunden. Der öffentliche Schlüssel soll öffentlich verteilt werden und als Adresse für den Empfang von Nachrichten anderer Benutzer dienen, z. B. eine IP-Adresse oder eine Privatadresse.
Der private Schlüssel muss geheim gehalten werden und dient zum digitalen Signieren von Nachrichten, die an andere Benutzer gesendet werden. Die Signatur ist in der Nachricht enthalten, damit der Empfänger sie mit dem öffentlichen Schlüssel des Absenders überprüfen kann. Auf diese Weise kann der Empfänger sicher sein, dass nur der Absender diese Nachricht gesendet haben könnte. Das Generieren eines Schlüsselpaars entspricht dem Erstellen eines Kontos in der Blockchain, ohne dass Sie sich irgendwo registrieren müssen. Ziemlich cool. Darüber hinaus wird jede in der Blockchain ausgeführte Transaktion vom Absender digital signiert.
Um alles zusammenzubinden, könnte es keine Blockchain ohne Hashing und digitale Signaturen geben. Hashing bietet allen Mitgliedern der Blockchain die Möglichkeit, sich auf den aktuellen Stand der Welt zu einigen, während digitale Signaturen sicherstellen, dass alle Transaktionen nur von den rechtmäßigen Eigentümern durchgeführt werden. Wir verlassen uns auf diese beiden Eigenschaften, um sicherzustellen, dass die Blockchain nicht beschädigt oder kompromittiert wurde.