Was ist Proof-of-Work (PoW)?
Proof-of-Work (PoW) beschreibt ein System, das einen nicht unerheblichen, aber machbaren Aufwand erfordert, um leichtfertige oder böswillige Nutzungen der Rechenleistung abzuschrecken, wie zum Beispiel das Versenden von Spam-E-Mails oder das Starten von Denial-of-Service-Attacken. Das Konzept wurde später von Hal Finney im Jahr 2004 auf die Sicherung von digitalem Geld durch die Idee von “Reusable Proofs of Work” unter Verwendung des SHA-256 Hash-Algorithmus angepasst.
Nach seiner Einführung im Jahr 2009 wurde Bitcoin die erste weit verbreitete Anwendung von Finneys PoW-Idee. Proof-of-Work bildet auch die Grundlage vieler anderer Kryptowährungen und ermöglicht einen sicheren, dezentralen Konsens.
Kernaussagen
- Proof-of-Work (PoW) ist ein dezentraler Konsensmechanismus, der von den Mitgliedern eines Netzwerks verlangt, dass sie sich anstrengen, um ein beliebiges mathematisches Rätsel zu lösen, um zu verhindern, dass jemand das System manipuliert.
- Proof-of-Work wird häufig beim Mining von Kryptowährungen eingesetzt, um Transaktionen zu validieren und neue Token zu schürfen.
- Dank Proof-of-Work können Bitcoin- und andere Kryptowährungstransaktionen auf sichere Art und Weise Peer-to-Peer abgewickelt werden, ohne dass eine vertrauenswürdige dritte Partei benötigt wird.
- Proof-of-Work im großen Maßstab benötigt riesige Mengen an Energie, die nur steigt, wenn mehr Miner dem Netzwerk beitreten.
- Proof-of-Stake (PoS) war einer von mehreren neuen Konsensmechanismen, die als Alternative zu Proof-of-Work entwickelt wurden.
Verstehen von Proof-of-Work
Diese Erklärung wird sich auf Proof-of-Work konzentrieren, wie es im Bitcoin Netzwerk funktioniert. Bitcoin ist eine digitale Währung, die durch eine Art verteiltes Hauptbuch, bekannt als “Blockchain”, untermauert wird. Dieses Hauptbuch enthält eine Aufzeichnung aller Bitcoin-Transaktionen, die in aufeinanderfolgenden “Blöcken” angeordnet sind, so dass es keinem Nutzer erlaubt ist, einen seiner Bestände zweimal auszugeben. Um Manipulationen zu verhindern, ist das Hauptbuch öffentlich, oder “verteilt”; eine veränderte Version würde schnell von anderen Nutzern abgelehnt werden.
Die Art und Weise, wie Nutzer Manipulationen in der Praxis erkennen, ist durch Hashes, lange Zahlenketten, die als Proof-of-Work dienen. Wenn du eine bestimmte Menge an Daten durch eine Hash-Funktion (Bitcoin verwendet SHA-256) laufen lässt, wird immer nur ein Hash erzeugt. Aufgrund des “Avalanche-Effekts” wird jedoch selbst eine winzige Änderung an einem Teil der Originaldaten zu einem völlig unerkennbaren Hash führen. Unabhängig von der Größe des Originaldatensatzes wird der Hash, der von einer bestimmten Funktion erzeugt wird, die gleiche Länge haben. Der Hash ist eine Einwegfunktion: Er kann nicht verwendet werden, um die Originaldaten zu erhalten, sondern nur, um zu überprüfen, ob die Daten, die den Hash erzeugt haben, mit den Originaldaten übereinstimmen.
Einfach irgendeinen Hash für einen Satz von Bitcoin-Transaktionen zu generieren, wäre für einen modernen Computer trivial, also um den Prozess in “Arbeit” zu verwandeln, setzt das Bitcoin-Netzwerk einen bestimmten Schwierigkeitsgrad. Diese Einstellung wird so angepasst, dass etwa alle 10 Minuten ein neuer Block “gemint” wird – der Blockchain hinzugefügt wird, indem ein gültiger Hash generiert wird -. Die Einstellung der Schwierigkeit wird durch die Festlegung eines “Ziels” für den Hash erreicht: je niedriger das Ziel, desto kleiner die Menge der gültigen Hashes und desto schwieriger ist es, einen zu generieren. In der Praxis bedeutet dies einen Hash, der mit einer sehr langen Folge von Nullen beginnt.
Proof-of-Work wurde ursprünglich als Lösungsvorschlag für das wachsende Problem der Spam-E-Mails entwickelt.
Besondere Überlegungen
Da ein gegebener Datensatz nur einen Hash generieren kann, wie stellen die Miner sicher, dass sie einen Hash unterhalb des Ziels generieren? Sie verändern die Eingabe, indem sie eine ganze Zahl hinzufügen, die Nonce (“einmalig verwendete Zahl”) genannt wird. Sobald ein gültiger Hash gefunden wurde, wird er an das Netzwerk gesendet und der Block wird zur Blockchain hinzugefügt.
Mining ist ein kompetitiver Prozess, aber es ist eher eine Lotterie als ein Rennen. Im Durchschnitt wird jemand alle zehn Minuten einen akzeptablen Proof-of-Work generieren, aber wer das sein wird, kann man nur vermuten. Miner schließen sich zusammen, um ihre Chancen auf das Mining von Blöcken zu erhöhen, was Transaktionsgebühren und für eine begrenzte Zeit eine Belohnung von neu erzeugten Bitcoins generiert.
Proof-of-Work macht es extrem schwierig, irgendeinen Aspekt der Blockchain zu verändern, da eine solche Veränderung ein erneutes Mining aller nachfolgenden Blöcke erfordern würde. Es macht es auch schwierig für einen Nutzer oder einen Pool von Nutzern, die Rechenleistung des Netzwerks zu monopolisieren, da die Maschinen und die Energie, die benötigt werden, um die Hash-Funktionen auszuführen, teuer sind.
Wenn ein Teil eines Mining-Netzwerks beginnt, ein alternatives Proof-of-Work zu akzeptieren, wird dies als Hard Fork bezeichnet.
Beispiel für Proof-of-Work
Proof-of-Work erfordert, dass ein Computer zufällig Hash-Funktionen ausführt, bis er zu einer Ausgabe mit der richtigen Mindestanzahl an führenden Nullen kommt. Der Hash für Block #429818, der am 16. Oktober 2017 gemint wurde, lautet zum Beispiel 000000000000000000c508bc2ada8ebc62cf1c69cb66a163d9a99abad87599b6. Die Blockbelohnung für diesen erfolgreichen Hash war 12,5 BTC.
Dieser Block enthält immer 1.768 Transaktionen mit knapp über 1.000 Bitcoin, sowie den Header des vorherigen Blocks. Wenn jemand versuchen würde, einen Transaktionsbetrag auch nur um 0,00001 Bitcoin zu verändern, wäre der resultierende Hash unerkennbar und das Netzwerk würde den Betrugsversuch zurückweisen.
Proof-of-Work FAQs
Was bedeutet Proof-of-Work?
PoW verlangt von den Knoten in einem Netzwerk den Nachweis, dass sie Rechenleistung (d.h. Arbeit) aufgewendet haben, um dezentral einen Konsens zu erreichen und um zu verhindern, dass schlechte Akteure das Netzwerk überholen.
Wie wird eine Kryptotransaktion durch Proof-of-Work validiert?
Die Arbeit selbst ist willkürlich. Für Bitcoin beinhaltet es Iterationen von SHA-256 Hash-Algorithmen. Der “Gewinner” einer Hashing-Runde aggregiert und speichert Transaktionen aus dem Mempool in den nächsten Block. Da der “Gewinner” im Verhältnis zur geleisteten Arbeit zufällig ausgewählt wird, gibt es für jeden im Netzwerk einen Anreiz, ehrlich zu handeln und nur wahre Transaktionen aufzuzeichnen.
Warum brauchen Kryptowährungen Proof-of-Work?
Da sie dezentralisiert und Peer-to-Peer sind, benötigen Blockchains wie Kryptowährungsnetzwerke einen Weg, um sowohl Konsens als auch Sicherheit zu erreichen. Proof-of-Work ist eine solche Methode, die es zu ressourcenintensiv macht, zu versuchen, das Netzwerk zu überholen. Es gibt auch andere Beweismechanismen, die weniger ressourcenintensiv sind, aber andere Nachteile oder Schwächen haben, wie Proof-of-Stake (PoS) und Proof-of-Burn. Ohne einen Beweismechanismus wären das Netzwerk und die darin gespeicherten Daten anfällig für Angriffe oder Diebstahl.
Verwendet Bitcoin Proof-of-Work?
Ja. Es verwendet einen PoW-Algorithmus, der auf der SHA-256 Hash-Funktion basiert, um Transaktionen zu validieren und zu bestätigen sowie um neue Bitcoins in Umlauf zu bringen.
Wie unterscheidet sich Proof-of-Stake (PoS) von PoW?
PoS ist ein Konsens-Mechanismus, der zufällig den Node zuweist, der Blocktransaktionen minen oder validieren wird, je nachdem wie viele Coins dieser Node hält. Je mehr Token in einer Wallet gehalten werden, desto mehr Mining-Power wird ihr effektiv zugestanden. Während PoS weitaus weniger ressourcenintensiv ist, hat es einige andere Schwächen, darunter eine größere Chance auf einen 51%-Angriff in kleineren Altcoins und Anreize, Token zu horten und nicht zu nutzen.