Blockchain-Grundlagen - Proof of Work
In diesem Artikel sprechen wir über eine der wichtigsten Blockchain-Technologien oder -Komponenten, Proof-of-Work. Proof of work ist die revolutionäre Komponente der Blockchain, die Doppelausgaben verhindert.
What ist eine Doppelausgabe?
Um zu verstehen welches Problem Proof of Work löst, muss man zuerst verstehen, was das eigentliche Problem ist.
Doppelausgabe ist eine illegale Aktion in der Blockchain, bei der ein Bitcoin mehr als einmal ausgegeben wird.
In der wirklichen Welt gibt Bob, Alice ein Bild. Seit Bob, Alice da Bild gegeben hat, hat er kein Bild mehr. Bob kann John nicht dasselbe Bild geben, dass jetzt Alice besitzt.
In einer digitalen Welt, schickt Bob eine Email mit dem Bild an Alice. Bob besitzt immer noch das Bild auf seinem Computer und er kann dasselbe Bild, John zusenden. Auf diese Weise hat er das Bild zweimal gesendet und kann dies unbegrenzt fortsetzen.
Dies war in der Vergangenheit ein großes Problem bei der digitalen Währung. Wie kann man verhindern, dass dieselbe digitale Währung zweimal gesendet wird? Und wie verhindert man, dass jemand seine virtuellen Münzen einfach auf unbestimmte Zeit kopiert. Proof of Work hat dies gelöst.

Was ist Proof of Work?
Proof of Work oder kurz PoW, ist eine Methode zur Bestätigung von Transaktionen auf der Blockchain, die auch als Mining bezeichnet wird.
Blockchain ist ein verteiltes Hauptbuch (Datenbank) vergangener Blöcke. Blockchain wird über Knoten weltweit verteilt, die eine Dezentralisierung ermöglichen. Eine der Knoten-Funktionalitäten besteht darin, der Blockchain neue Blöcke hinzuzufügen, diese Knoten werden Miner genannt. Nur Knoten, die bereit sind, Rechenressourcen auszugeben, können der Blockchain neue Blöcke hinzufügen.
Wie funktioniert Proof of Work eigentlich?
Mit PoW lösen Miner mathematische Einwegfunktionen. Mehrere Miner treten gleichzeitig gegeneinander an. Wer die Funktion zuerst löst, bekommt eine finanzielle Belohnung und seine Lösung wird an alle anderen Knoten gesendet.
Mit SHA256 kann man Y von X erhalten, aber X nicht von Y zurückbekommen. Dies wird als Einwegfunktion bezeichnet und wird oft in der Kryptographie verwendet. Die Bitcoin- Geldbörsen-Adresse ist beispielsweise eine Ausgabe eines privaten Schlüssels, der in eine SHA256-Ausgabe gehasht wird.
Beispiel für das SHA256 gehashte Wort “NiceHash”:
D22df564d771ed4e6785029de215e9f9e2affe9bbe37bacc8544c32f0a162ba3
Das Wort NiceHash fungiert als privater Schlüssel und die Ausgabe ist ein öffentlicher Schlüssel. Ohne den privaten Schlüssel oder die Eingabedaten wäre es praktisch unmöglich, die Funktion umzukehren und herauszufinden, was sie bedeutet.
Beachten Sie, dass Sha256 mit einer unendlichen Datenmenge verwendet werden kann, es kann sogar mit Bildern verwendet werden..
Versuchen Sie es selber:
Wenn ein Miner einige Eingabedaten hat, erhält er eine lange zufällige Zeichenfolge, die nicht rückgängig gemacht werden kann. Aber Blockchain verwendet eine andere Zeichenfolge namens Nonce (Nummer wird nur einmal verwendet). Durch die Verwendung einer Nonce kann ein Miner die SHA256-Ausgabe manipulieren, um die gewünschte Ausgabe zu erraten.
Das Blockchain-Netzwerk setzt beispielsweise seine gewünschte Ausgabe so, dass sie mit 6 Nullen beginnt, zum Beispiel: 000000c49ede7f965ba8e7e6419d6efb0afc99e7ecd10095b286310ca55a6355
Der Miner wird die Nonce buchstäblich erraten, bis die Block-Hash-Ausgabe mit 000000 beginnt. Dies ist, was Miner tun, sie kombinieren Blocktransaktionen als Dateneingabe und erraten dann die Nonce, bis die SHA256-Ausgabe mit 000000 beginnt.
Geben Sie zufällige Daten in das untenstehende Formular ein und versuchen Sie, einen Hash zu finden, der mit vier Nullen (0000) beginnt, indem Sie die Nonce erraten:
Oder drücken Sie einfach MINE, um automatisch die richtige Nonce zu finden.
Beachten Sie, dass dies eine vereinfachte Version ist. Ein Miner muss neben den Transaktionsdaten auch die vorherige Block-Hash-Ausgabe in die Dateneingabe aufnehmen. Außerdem nimmt mit zunehmender Schwierigkeit, die Anzahl der Nullen zu, was das Erraten der richtigen Nonce weniger wahrscheinlich macht, daher ist es schwieriger, den richtigen Ausgabe-Hash zu erraten. Mit einer Null (0) ist es einfacher eine Ausgabe zu finden als mit vier Nullen (0000).