Was bedeutet Arbeitsnachweis?
"Proof of Work" beschreibt ein System, das einen nicht unerheblichen, aber realisierbaren Aufwand erfordert, um einen leichtfertigen oder böswilligen Einsatz von Rechenleistung wie das Versenden von Spam-E-Mails oder das Starten von Denial-of-Service-Angriffen zu verhindern. Das Konzept wurde von Hal Finney im Jahr 2004 durch die Idee eines "wiederverwendbaren Arbeitsnachweises" an Geld angepasst. Nach seiner Einführung im Jahr 2009 war Bitcoin die erste weit verbreitete Anwendung von Finneys Idee (Finney war auch der Empfänger der ersten Bitcoin-Transaktion). Der Arbeitsnachweis bildet auch die Grundlage für viele andere Kryptowährungen.
Arbeitsnachweis erklärt
Diese Erklärung konzentriert sich auf Arbeitsnachweise, wie sie im Bitcoin-Netzwerk funktionieren. Bitcoin ist eine digitale Währung, die durch eine Art verteiltes Hauptbuch, die als "Blockchain" bezeichnet wird, untermauert wird. Dieses Hauptbuch enthält eine Aufzeichnung aller Bitcoin-Transaktionen, die in aufeinanderfolgenden "Blöcken" angeordnet sind, so dass kein Benutzer einen seiner Bestände zweimal ausgeben darf. Um Manipulationen zu verhindern, ist das Hauptbuch öffentlich oder "verteilt". Eine geänderte Version würde von anderen Benutzern schnell abgelehnt.
In der Praxis erkennen Benutzer Manipulationen durch Hashes, lange Zahlenfolgen, die als Beweis für die Arbeit dienen. Durchlaufen Sie einen bestimmten Datensatz mit einer Hash-Funktion (Bitcoin verwendet SHA-256), und es wird immer nur ein Hash generiert. Aufgrund des "Lawineneffekts" führt jedoch auch eine geringfügige Änderung eines Teils der Originaldaten zu einem völlig unerkennbaren Hash. Unabhängig von der Größe des ursprünglichen Datensatzes hat der von einer bestimmten Funktion generierte Hash dieselbe Länge. Der Hash ist eine Einwegfunktion: Er kann nicht zum Abrufen der Originaldaten verwendet werden, sondern nur zum Überprüfen, ob die Daten, die den Hash generiert haben, mit den Originaldaten übereinstimmen.
Für einen modernen Computer wäre es trivial, nur einen beliebigen Hash für eine Reihe von Bitcoin-Transaktionen zu generieren. Um den Prozess in "Arbeit" zu verwandeln, setzt das Bitcoin-Netzwerk ein gewisses Maß an "Schwierigkeit". Diese Einstellung wird so angepasst, dass ein neuer Block "abgebaut" wird - etwa alle 10 Minuten - der Blockkette hinzugefügt, indem ein gültiger Hash generiert wird. Das Festlegen von Schwierigkeiten wird durch das Festlegen eines "Ziels" für den Hash erreicht: Je niedriger das Ziel, desto kleiner der Satz gültiger Hashes und desto schwerer ist es, eines zu generieren. In der Praxis bedeutet dies, dass ein Hash mit einer langen Folge von Nullen beginnt: Der Hash für Block # 429818 lautet beispielsweise 00000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d. Dieser Block enthält 2.012 Transaktionen mit etwas mehr als 1.000 Bitcoin sowie den Header des vorherigen Blocks. Wenn ein Benutzer einen Transaktionsbetrag um 0, 0001 Bitcoin ändert, ist der resultierende Hash nicht wiederzuerkennen, und das Netzwerk weist den Betrug zurück.
Wie stellen Bergleute sicher, dass sie einen Hash unterhalb des Ziels generieren, da ein bestimmter Datensatz nur einen Hash generieren kann? Sie ändern die Eingabe durch Hinzufügen einer Ganzzahl, die Nonce genannt wird ("einmal verwendete Zahl"). Sobald ein gültiger Hash gefunden wurde, wird er an das Netzwerk gesendet und der Block zur Blockchain hinzugefügt.
Bergbau ist ein wettbewerbsorientierter Prozess, aber es ist mehr eine Lotterie als ein Rennen. Im Durchschnitt wird alle zehn Minuten jemand einen akzeptablen Arbeitsnachweis erbringen, aber wer es ist, kann niemand erraten. Bergleute schließen sich zusammen, um ihre Chancen auf Minenblöcke zu erhöhen, wodurch Transaktionsgebühren und für eine begrenzte Zeit eine Belohnung für neu erstellte Bitcoins entstehen.
Ein Arbeitsnachweis macht es äußerst schwierig, einen Aspekt der Blockchain zu ändern, da eine solche Änderung ein erneutes Mining aller nachfolgenden Blöcke erfordern würde. Es macht es einem Benutzer oder einer Gruppe von Benutzern auch schwierig, die Rechenleistung des Netzwerks zu monopolisieren, da die zum Ausführen der Hash-Funktionen erforderliche Maschinerie und Leistung teuer sind.