Blockchain - Arbeitsnachweis
Da alle Transaktionen mit einem Zeitstempel versehen sind, müssen wir einen verteilten Zeitstempelserver in einem Peer-to-Peer-Netzwerk implementieren. Dies erfordert eine zusätzliche Implementierung und das ist der Proof-of-Work, den ich jetzt beschreiben werde. Zu jedem Block fügen wir jetzt ein weiteres Element mit dem Namen hinzuNonce wie in der Abbildung unten gezeigt -
Nonce ist eine Zahl, bei der der Hash des Blocks ein bestimmtes Kriterium erfüllt. Dieses Kriterium könnte sein, dass der generierte Hash seine führenden vier Ziffern haben muss, um Null zu sein.
Somit würde der generierte Hash wie 000010101010xxx aussehen. Im Allgemeinen beginnt der Miner mit einem Nonce-Wert von 0 und erhöht ihn weiter, bis der generierte Hash das angegebene Kriterium erfüllt.
Beachten Sie, dass die Hash-Generierung zufällig funktioniert und außerhalb Ihrer Kontrolle liegt. Das heißt, Sie können die Hash-Funktion nicht zwingen, einen bestimmten Hash zu generieren. Daher kann es mehrere Iterationen dauern, bis der gewünschte Hash mit vier führenden Nullen generiert wird. Die erwartete Zeit zum Generieren eines Blocks im Bitcoin-System beträgt 10 Minuten. Sobald der Bergmann den Block erfolgreich abgebaut hat, gibt er ihn im System frei und ist damit der letzte Block in der Kette.
Beachten Sie, dass mehrere Bergleute miteinander konkurrieren, um den legitimen Block zu generieren. Das Bitcoin-System vergibt den ersten erfolgreichen Bergmann, indem es ihm bestimmte Bitcoins gibt. Im Allgemeinen kann der Bergmann mit mehr Rechenleistung ein früher Gewinner sein. Dies kann zu Angriffen auf das gesamte System durch Personen führen, die über eine enorme Verarbeitungsleistung verfügen. Ich werde die Angriffe beschreiben und wie diese gegen Ende dieses Tutorials abgeschwächt werden.