Warum brauchen wir Proof of Work in Bitcoin?

Ich weiß, dass der Arbeitsnachweis zeigt, dass die Person etwas Zeit und Kraft in die Verarbeitung gesteckt hat. Ich weiß auch, dass beim Bitcoin-Mining eine Transaktion zur Blockchain hinzugefügt wird und der Miner dann ein Pow-Problem lösen muss.

Warum brauchen wir das? Was wäre, wenn wir den Proof-of-Work-Schritt für die Miner eliminieren würden und welche Konsequenzen hätte dies?

I also know that bitcoin mining is adding a transaction into the blockchain and then the miner will need to solve a pow problem.Beim Mining wird ein Transaktionsblock erstellt und mit etwas Glück das PoW-Problem für diesen Block gelöst, bevor ein anderer Miner einen Block hinzufügt, und dann den Block zur Blockchain hinzugefügt.

Antworten (6)

Stellen Sie sich vor, ich habe 1 Bitcoin. Und stellen Sie sich vor, ich kann eine Transaktion bilden, um diese Bitcoin an Alice zu senden, oder ich kann eine Transaktion bilden, um diese Bitcoin an Charlie zu senden.

Was hindert mich nun daran, beide Transaktionen zu bilden? Gar nichts.

Also, wenn ich das tue, wie werden die Leute wissen, welche Transaktion gültig ist? Ohne einen zuverlässigen Weg, um festzustellen, welche dieser beiden Transaktionen gültig sind, ist das System eindeutig dem Untergang geweiht.

Das macht PoW. Ein Miner kann PoW nicht gleichzeitig zu beiden Transaktionen beitragen – er muss sich für eine entscheiden.

Ok, ich sehe, wie PoW mit doppelten Ausgaben zusammenhängt, danke
„Das macht PoW. Ein Miner kann PoW nicht gleichzeitig zu beiden Transaktionen beitragen – er muss sich für eine entscheiden.“ Können Sie das näher erläutern? Ich bin mir sicher, dass viele Benutzer dies zu schätzen wissen. So wie Ihre Antwort jetzt steht, kann ich nicht sehen, wie und warum POW immer noch in Bitcoin verwendet wird
@ user200300 Ich bin mir nicht ganz sicher, worüber Sie unklar sind. Verstehen Sie das Problem, das ich beschreibe? Jemand kann zwei gültige Transaktionen bilden, und wir brauchen eine Möglichkeit, damit sich alle schließlich darauf einigen können, welche akzeptiert werden soll. (Vielleicht würde es helfen, Ihre eigene Frage zu stellen, was genau Sie nicht verstehen?)
Hallo David. Wie entscheidet der Miner, für welche Transaktion er POW verpflichtet? Und wie trägt diese Auswahl dazu bei, die Integrität der Blockchain zu wahren? Wird POW nicht auch für einen Block durchgeführt, nicht für eine Transaktion an sich?
PoW wird auf einem Block durchgeführt, aber dieser Block kann keine Kette bilden, die beide Transaktionen enthält, oder diese Kette ist ungültig und wird ignoriert. Ein Bergmann möchte bezahlt werden, also schürft er auf der längsten Kette, die er finden kann.
Ich halte diese Erklärung für völlig unzureichend. Alles, was es sagt, ist, dass PoW eine der möglicherweise konkurrierenden Transaktionen ergreift – gut. Aber was es nicht erklärt, ist Folgendes: Sie senden 1 Bitcoin an BEIDE Alice und Charlie als zwei separate Transaktionen, bevor eine akzeptiert wird. Nehmen wir nun an, die Alice-Transaktion wird erfolgreich in einem Block nach PoW hinzugefügt. Nun steht die Charlie-Transaktion noch aus. Ihre Erklärung beschönigt, was das Schicksal der Charlie-Transaktion sein wird ...
@ Jazimov Dem kann niemals etwas passieren.
Warum das? PoW gibt die erste Transaktion erfolgreich in einen Block ein, der von anderen Knoten verifiziert und der Blockchain hinzugefügt wird. Welcher Blockchain-Mechanismus bewirkt, dass die zweite Transaktion ignoriert wird?
Es ist nicht gültig, da versucht wird, eine nicht ausgegebene Ausgabe zu beanspruchen, die nicht mehr vorhanden ist. Kein Knoten lässt zu, dass einer ungültigen Transaktion etwas passiert. Ein Block, der versucht, ihn aufzunehmen, wird ignoriert.
„Wenn ich das tue, wie werden die Leute dann wissen, welche Transaktion gültig ist? Ohne eine verlässliche Methode, um festzustellen, welche dieser beiden Transaktionen gültig ist, ist das System eindeutig dem Untergang geweiht.“ Was ist mit einem Konsens zur Konfliktlösung: Wenn ein Wallet versucht, die Ausgaben zu verdoppeln, wird die Transaktion mit einem niedrigeren Hash als gültige Transaktion betrachtet.
@Calmarius Das wäre eine Katastrophe. Keine Transaktion wäre jemals endgültig, bis Sie jede Transaktion sehen könnten, die jemals stattfinden würde, um sicherzustellen, dass es keine widersprüchlichen Transaktionen mit einem niedrigeren Hash gibt. Wie würden Sie Geschäfte machen, wenn Sie sich nie darauf verlassen könnten, dass eine Transaktion die Konfliktlösung nicht verliert?
Knoten können die Transaktionen lokal mit einem Zeitstempel versehen und für endgültig erklären, wenn sie alt genug sind (sagen wir 1 Stunde alt), zu diesem Zeitpunkt werden keine Aktualisierungen akzeptiert. Das größere Problem besteht darin, sicherzustellen, dass sich die Knoten einig sind und alle dieselbe Kette aufbauen, und ich glaube nicht, dass dies möglich ist, ohne das Netzwerk mit PoW künstlich zu verlangsamen und die Blöcke auf alle Knoten übertragen zu lassen, bevor der nächste kommt.
@Calmarius Nein, können sie nicht. Was ist, wenn ein Knoten denkt, dass er 1 Stunde alt ist und ein anderer Knoten denkt, dass er 59,9 Minuten alt ist, wenn eine widersprüchliche Transaktion entdeckt wird? Wie würden sie jemals zustimmen? Ein böswilliger Benutzer könnte tausend widersprüchliche Transaktionen erstellen, die eine mit dem höchsten Hash senden, dann 59 Minuten warten und dann die anderen 999 (in Hash-Reihenfolge, vom höchsten zum niedrigsten) in den nächsten zwei Minuten senden, und das Netzwerk würde nie wieder zustimmen.
Ich verstehe nicht, wie man ohne PoF doppelt ausgibt, ich habe eine neue Frage erstellt, die vielleicht einfacher zu verstehen ist und ein schrittweises Problem erklärt: bitcoin.stackexchange.com/questions/76294/why-we-need-mining
@David Schwartz Antwort: Ich kann nicht ganz verstehen, wie ein PoW zusammenhängt, um beispielsweise doppelte Ausgaben zu mindern?! Wie ich verstanden habe, verlangt der PoW-Algorithmus, dass der Hash einer Zeichenfolge mit einigen Nullen beginnen sollte ... was schwierig ist, die richtige Nummer zu finden usw. usw. ... aber wenn der Hash einer Zeichenfolge (sagen wir die Transaktion, die der Blockchain) mit Null beginnt, beweist dies nicht, dass die Transaktion gültig ist! Es wird sehr geschätzt, wenn mir jemand dieses Problem erklärt. Vielen Dank
@MF Die Herausforderung besteht darin, nicht zu wissen, welche Transaktionen gültig sind. Die Herausforderung besteht darin, zu wissen, welche von zwei gültigen, aber widersprüchlichen Transaktionen schließlich alle anderen akzeptieren werden.
„Ohne einen zuverlässigen Weg, um festzustellen, welche dieser beiden Transaktionen gültig sind, ist das System eindeutig dem Untergang geweiht.“ Rechnerisch ist es nicht erforderlich, PoW zu erstellen, um zu überprüfen, ob alle in einem bestimmten Block gepackten Transaktionen gemäß der aktuellen Blockchain gegenseitig gültig sind. Wenn Sie beide Transaktionen in einen Block packen, ist der Block ungültig. Wenn Sie eine Transaktion in einen Block packen und sie in der Blockchain landet, kann jeder zukünftige Block, der hinzugefügt werden kann, die andere Transaktion nicht enthalten. PoW muss diese Bedingungen nicht überprüfen.
@rapt Kannst du erklären, wie das funktionieren würde? Angenommen, ich habe eine Blockchain, die mit Block A endet, Sie haben eine Blockchain, die mit Block B endet, und Block A hat eine Transaktion, die mit Block B in Konflikt steht. Woher weiß ich, auf welche dieser beiden widersprüchlichen Transaktionen ich mich ohne PoW verlassen kann?
@DavidSchwartz Für Sie als außenstehenden Beobachter interessiert Sie zunächst, dass alle aktuellen Versionen der Blockchain (BC) gültig sind. Das heißt, dass für jede Version des BC die Transaktionen innerhalb dieses BC gültig sind und einander nicht widersprechen. Dies ist "einfach", ohne PoW, von jedem Benutzer unabhängig möglich (es ist kein gegenseitiges Vertrauen erforderlich). Nun, für Sie als externen Beobachter, der PoW-Prozess wählt einfach zufällig einen der gültigen konkurrierenden BCs aus. Es ist Ihnen egal, wie man ausgewählt wird (durch Arbeit, Lotterie usw.). Sie kümmern sich lediglich darum, dass das Netzwerk diesen Prozess der Auswahl des Gewinners akzeptiert.
@rapt Ich glaube, ich habe keine Ahnung, was du meinst. Sie sagen eine Reihe von Dingen, die zwar technisch korrekt, aber verwirrend formuliert sind. Was versuchst du zu erreichen? Versuchst du etwas klarzustellen? Wenn ja, denke ich, dass Sie versagen. Versuchen Sie zu korrigieren, was Sie für einen Fehler halten? Wenn ja, können Sie genau sagen, was Sie für falsch halten?
PoW wird nicht zum Schutz vor Doppelausgaben-Angriffen verwendet. PoW wird ausschließlich verwendet, um auszuwählen, welcher zufällige Miner aus allen Minern den Inhalt des nächsten Blocks auswählen darf. Der gewinnende Miner kann immer noch unehrlich sein, wenn dies der Fall ist, können die Transaktionen dieses neuen Blocks doppelte Ausgaben enthalten, und wenn dies der Fall wäre, würde der Block als ungültig angesehen, von allen anderen Minern abgelehnt und verwaist.
@dodgy_coder Du liegst falsch. Bei doppelten Ausgaben handelt es sich nicht um Blöcke, die als ungültig angesehen werden können. Ein Beispiel für eine doppelte Ausgabe wäre, wenn Alice 1 Bitcoin hat und zwei Blöcke ungefähr zur gleichen Zeit abgebaut werden, einer mit einer gültigen Transaktion, die diese Bitcoin an Bob sendet, und einer mit einer gültigen Transaktion, die diese Bitcoin an Charlie sendet. Jeder, der nur einen dieser beiden Blöcke ungefähr zur gleichen Zeit abgebaut sieht, würde es akzeptieren, weil es gültig ist. (Haben Sie meine Antwort gelesen? Sie sagt genau das.)
@dodgy_coder Um das Problem der doppelten Ausgaben zu lösen, muss sich das Netzwerk schließlich darauf einigen, welche von zwei einzeln gültigen, aber widersprüchlichen Transaktionen akzeptiert werden soll. Bitcoin verwendet zu diesem Zweck PoW.
@DavidSchwartz Ich verstehe, was du sagst, aber hör mir zu. Obwohl PoW einem Miner X das Recht zugesprochen wurde, einen neuen Block zu bilden. Sie fügen in diesen neuen Block die Transaktion von Alice zu Bob ein. Ein anderer Miner Y durch PoW hat wieder (ungefähr zur gleichen Zeit) einen neuen Block gefunden und die Transaktion von Alice zu Charlie hinzugefügt. Wie hat PoW doppelte Ausgaben verhindert? Es hatte nichts damit zu tun. Die Protokollregel, die längste gültige Kette zu verlängern, kümmerte sich beim nächsten Block, der an Miner Z vergeben wurde. Alles, was PoW für uns tat, war, zufällig einen Miner basierend auf seiner aktuellen Hash-Rate auszuwählen.
@DavidSchwartz Eigentlich sagte ich oben, es sei die "Protokollregel". Es ist wirklich der eigene Anreiz des Bergmanns, die längste gültige Kette zu verlängern. Miner Z musste einen der gültigen Blöcke (von Miner X oder Miner Y) auswählen und dies wurde zur Konsenskette. Zu dem Zeitpunkt, an dem die doppelte Ausgabe stattfand, ist es möglich (abhängig von der Wallet-Software von Bob und Charlie), dass sie beide eine gültige TX mit 0 Bestätigungen gesehen haben. Die doppelte Ausgabe ist also passiert, aber dann wurde ein Sendeblock verwaist und einer nicht.
@David Schwartz Gibt es keinen Mechanismus, um den Kontostand vor der Transaktion zu überprüfen? Wenn 1 Bitcoin an 2 Personen gesendet wird, erhält nur eine von ihnen und die andere wird als ungültig verworfen. Ich verstehe nicht, wie PoW das verhindern soll.
@AbhishekChaudhary Wie einigen sich Tausende von Menschen darauf, welche sie erhalten und welche sie als ungültig verwerfen? Das macht PoW für Bitcoin.
@DavidSchwartz Sie können nicht erklären, warum das PoW benötigt wird. (1) Node wählt 1000 ausstehende Transaktionen aus und fügt sie in einen Block ein (2) Er bewertet keine doppelten Ausgaben für diesen Block. (3) Es hasht den Block zusammen mit dem vorherigen Hash in der Blockchain. (4) Er sendet den Block an die anderen Knoten. (5) Nodes überprüfen den Block und hängen ihn an die Blockchain an, falls gültig. Ist es das? Welchen Wert hat es, den Block 10.000 Mal zu hashen und nur die Nonce zu ändern, bis der Hash mit N Nullen beginnt, anstatt ihn einmal zu hashen? Es fügt keine Korrektheit hinzu. Als eine Form der Flusskontrolle erscheint es absurd verschwenderisch.
@Lobotomik Was ist, wenn jemand anderes genau dasselbe tut, aber sein Block eine Transaktion enthält, die mit einer in diesem Block in Konflikt steht? Was hindert das Netzwerk daran, in zwei widersprüchliche Seiten aufzubrechen? Der Wert des Arbeitsnachweises besteht darin, dass er dieses Problem löst – die Kette mit der meisten Arbeit gewinnt. Und es ist sehr teuer, das zu ändern.
@DavidSchwartz ist das wirklich der Hauptpunkt von PoW? Schutz vor Doppelausgaben? Können Nodes nicht einfach prüfen, ob nicht genügend Guthaben vorhanden ist, um beide Transaktionen aufzunehmen, und solche "schlechten" Blöcke ablehnen?
@SpaceMonkey Sie können, aber das ist nicht das Problem. Das Problem besteht darin, dass ein Knoten einen Block akzeptiert, der eine Transaktion enthält, und ein anderer Knoten einen Block akzeptiert, der eine widersprüchliche Transaktion enthält. Von da an streiten die beiden Hälften darüber, welche Transaktionen danach gültig sind (weil jede Seite Konten mit unterschiedlichen Salden sieht). Wie stellen Sie letztendlich Konsistenz sicher und verhindern, dass sich im Netzwerk immer mehr Meinungsverschiedenheiten ansammeln? Versuchen Sie, einen Weg zu finden, und Sie werden schnell feststellen, dass es überhaupt nicht einfach ist.
@DavidSchwartz Genau dasselbe passiert in Bitcoin und die Lösung besteht darin, die längste Kette zu nehmen, aber warum brauchen wir PoW? Ich denke, es soll Angreifer daran hindern, ungültige Blöcke zu spammen. Es scheint also, als ob PoW hauptsächlich dazu dient, die Teilnahme am Netzwerk zu kontrollieren (Sie müssen sich anstrengen, was leicht zu überprüfen ist), sodass Angreifer keine längere Kette aufbauen können, ohne mehr als 50% der Hashing-Leistung zu haben. Ist das sinnvoll?
@SpaceMonkey Wenn es für Sie hilfreich ist, darüber nachzudenken, dann denke ich, dass das in Ordnung ist. Das finde ich zu kompliziert. So einfach ist das: Die längste Kette nützt nichts, wenn jeder, der will, eine Kette machen kann, die so lang ist, wie er sie haben möchte. Die längste Kette ist nur dann eine nützliche Regel, wenn es schwierig ist, eine Kette länger zu machen.
@DavidSchwartz richtig, so kann man es gut ausdrücken. Also, abgesehen von "Transaktionsauftrag" (was doppelte Ausgaben bedeutet), was gibt uns PoW noch? Wir brauchen kein PoW für die Transaktionsgültigkeit, da wir jede Transaktion einzeln validieren können, also was sonst?
@SpaceMonkey Die kanonische Antwort besteht darin, eine Transaktionsreihenfolge bereitzustellen, die wir benötigen, um das Problem der doppelten Ausgaben zu lösen. Die sekundäre Antwort besteht darin, die anfängliche Verteilung ohne eine zentrale Partei durchzuführen.
@DavidSchwartz Ich schätze deine Antworten, ich denke, das sind die besten Antworten, die ich bisher bekommen habe. Würde es Ihnen etwas ausmachen, meinem Chatraum beizutreten, anstatt hier zu kommentieren? chat.stackexchange.com/rooms/122747/…

Proof of Work (PoW) stellt grundsätzlich sicher, dass Miner nicht schummeln.

Es gibt keine Möglichkeit, darauf zu vertrauen, dass jeder im Netzwerk ehrlich ist, also muss es einen Weg geben, Miner daran zu hindern, neue Blöcke zu erstellen, von denen sie selbst profitieren. Es funktioniert so, dass Sie einen Haufen Leute haben, die alle versuchen, die Antwort auf die mathematische Aufgabe zu erraten, und niemand weiß, wer zuerst die richtige Antwort bekommt. Wer zuerst die richtige Antwort erhält, erhält eine Belohnung, aber nur, wenn alle anderen Miner zustimmen, diese Transaktionsaufzeichnung zu akzeptieren (Wenn sich herausstellt, dass ein bestimmter Miner betrügerische Transaktionen erstellt, können die anderen Miner gemeinsam die Annahme ihrer Beiträge ablehnen). Aus diesem Grund ist der Prozess zum Erstellen eines neuen Blocks so konzipiert, dass er energieintensiv ist, sodass mit dem Erstellen jedes neuen Blocks Kosten verbunden sind. Dies hindert Miner daran, einfach eine ganze Reihe neuer betrügerischer Blöcke zu erstellen, in der Hoffnung, dass sie vielleicht akzeptiert werden, da die Kosten dafür die potenzielle Belohnung aufwiegen. Es hilft, über Arbeitsnachweise als mögliche Lösung für E-Mail-Spam nachzudenken. Wenn es für jeden Computer erforderlich wäre, eine Minute mit einem PoW-Problem zu verbringen, bevor jede E-Mail gesendet wird, dann würden nur Personen mit echten Nachrichten zustimmen, sich die Mühe zu machen. Eine Minute Computerzeit ist ein sehr geringer Preis für eine Einzelperson, aber der Typ, der 10 Millionen Spam-E-Mails verschickt, könnte es sich nicht leisten, 10 Millionen Minuten damit zu warten. Zurück zu Bitcoin: Die Chance, dass jeder einzelne Miner derjenige ist, der jeden Block löst, ist ziemlich gering, und da es viel Mühe kostet, die Blöcke zu lösen, können sie das Netzwerk nicht einfach mit Lösungen zuspammen.

Hoffe das macht Sinn.

Dies ist die beste Aufschlüsselung, die ich finden konnte ( http://nakamotoinstitute.org/mempool/the-proof-of-work-concept/ )

„Dies hindert Bergleute daran, einfach eine ganze Reihe neuer betrügerischer Blöcke zu erstellen, in der Hoffnung, dass sie vielleicht akzeptiert werden.“ Ich verstehe nicht, warum das nicht auch für Blöcke funktionieren sollte.
@Calmarius, tatsächlich gibt es zwei Konsensebenen: Transaktionsebene und Blockebene. Das Spammen betrügerischer Transaktionen wird also schnell durch Konsensabstimmung erkannt, die byzantinische Fehler behandelt.
Ich bin mir nicht sicher, ob ich es richtig verstehe, denn meiner Meinung nach und so wie ich versuche, es zu verstehen, ist ein PoW ein delaying mechanism. So zwingt es jeden Körper zu verzögern und innezuhalten. Und sobald diese obligatorische Verzögerung da ist, Kablam, ist das Ergebnis eine sequentielle Ordnung. Ich bin mir nicht sicher, ob das der ganze Sinn ist. Ich habe erst Mastering Bitcoinletzte Woche angefangen zu lesen. Bitte korrigieren Sie mich, wenn ich falsch liege.

Die Art und Weise, wie ich verstehe, wie Proof of Work ( PoW ) funktioniert, ist folgende: Sein grundlegendes Ziel ist es, Betrug zu verhindern oder eine inkonsistente Ansicht des verteilten Hauptbuchs zu erstellen.

Stellen Sie sich ein Doppelausgaben- Szenario vor, bei dem Teilnehmer A nur 1 BC ausgeben muss. Aber er erstellt zwei unabhängige Transaktionen oder "Ausgaben" mit jeweils 1 BC. Er legt dann jede Ausgabentransaktion zwei verschiedenen Parteien B und C als gültige Zahlungen vor. Da es keine Serialisierung von Transaktionen gibt (wie es in einer zentralisierten Datenbank mit atomaren Commits der Fall wäre), ist es möglich, dass einige Teilnehmer im Netzwerk die Zahlung von A an B zuerst aufgezeichnet haben, während andere die Zahlung von A aufgezeichnet haben zuerst nach C. Gleichzeitig werden einige die letzte Zahlung ablehnen (da A nur 1 BC ausgeben muss).

In der idealen Welt, wenn beide Transaktionen streng serialisiert werden können (wie zum Beispiel - die Zahlung von A an B wird im verteilten Ledger aufgezeichnet, bevor die doppelte Zahlung von A an C aufgezeichnet werden könnte), besteht keine Notwendigkeit für verteilter Konsens. In einer idealen Welt, in der die Transaktionen über eine für jeden Teilnehmer sichtbare „zentrale“ Uhr zeitgestempelt werden können, hätten wir eine einfache Lösung.

Der PoW-Prozess löst dieses Problem algorithmisch , indem er eine nicht triviale endliche Verzögerung für die Übermittlung und Festschreibung einer Block-a-Transaktion erzwingt. Im Bitcoin-Schema, wo Transaktionen in einer Granularität auf Blockebene festgeschrieben werden müssen, hat die Double-Spend-Transaktion von A zwei Möglichkeiten:

  1. Entweder werden beide Transaktionen im selben Block zusammengefasst,
  2. Oder sie sind in verschiedenen Blöcken gruppiert.

Im letzteren Fall wird die Inkonsistenz leicht erkannt und gekennzeichnet. Auch im ersteren Fall ist es einfach, die Inkonsistenz zu erkennen und dasselbe zu kennzeichnen - aber dies ist nur möglich, wenn beide Transaktionen (die gute und die schlechte) im selben Block gruppiert sind. Dies ist nicht möglich, wenn entweder die Blockgrößen zu klein sind oder von den Nodes sehr schnell festgeschrieben werden können. Hier kommt PoW ins Spiel – es lässt genügend Zeit vergehen, um einen neuen Block zu erstellen und ihn von allen Teilnehmern zu übertragen.

Die Frage, die mir nicht klar war, ist folgende: Bitcoin verwendet eine bestimmte Variante der Berechnung des Pre-Images eines SHA-256-Hash-Werts. Da der Zweck von PoW nur ​​darin besteht, die Erstellung neuer Blöcke um eine ausreichende Zeitverzögerung zu verzögern, könnte dieses zu lösende Rätsel alles sein - wie zum Beispiel das Lösen eines 16-Damen-Platzierungsproblems auf einem Schachbrett oder so etwas. Es ist nicht klar, ob das Puzzle wirklich eine Korrelation mit den tatsächlichen Daten in dem zu übertragenden Block haben muss.

Es ist wichtig, dass die Lösung des Puzzles eine deterministische Beziehung zu den Inhalten der Blöcke hat. Dies liegt daran, dass ein Mechanismus erforderlich ist, um zu überprüfen, auf welchem ​​Block ein neuer Block aufgebaut wurde. Es bietet auch eine Möglichkeit, schnell zu überprüfen, ob Transaktionen in einen Block aufgenommen wurden. Schließlich stellt die Verwendung einer Funktion mit Eigenschaften wie starken Hash-Funktionen sicher, dass, sobald eine Lösung gefunden wurde, der Inhalt der Blockchain nicht unbemerkt geändert werden kann. Das Puzzle muss einen Manipulationsschutzmechanismus bereitstellen.

Ohne Arbeitsnachweis kann jeder vom Genesis-Block ausgehen und eine lange Kette gefälschter Transaktionen erstellen. Wie kann man entscheiden, welches Ledger das richtige ist?

Hier kommt der Arbeitsnachweis ins Spiel. Die Knoten akzeptieren die Kette, deren Erstellung am meisten Arbeit gekostet hat, und lehnen alle anderen ab. Dies ist ein starker Anreiz für die Bergleute, auf der etablierten Kette aufzubauen, und macht es auch schwierig, eine gefälschte Kette zu erstellen. Um eine gefälschte Kette zu erstellen, muss ein Gegner schneller arbeiten und auch den Rest des Netzwerks einholen, um seine gefälschte Kette zu akzeptieren, was für etablierte Kryptowährungen wie Bitcoin praktisch unmöglich ist.

kurze Antwort :

Der Arbeitsnachweis ist ein Schutz und eine Lösung für das allgemeine byzantinische Problem, ohne dass Bergleute leicht betrügen, ohne etwas zu verlieren, also setzen sie dieses System POW, um die Teilnehmer dazu zu zwingen, Geld zu verlieren, wenn sie betrügen (Sie verlieren das investierte Geld im POW-Prozess (Stromverbrauch und nutzlos investiertes Budget in die Hardware)) Stattdessen hat man einen Anreiz, wenn man nicht schummelt. Abgesehen davon, dass das POW verwendet wird, um die Mining-Zeitfenster (10 Minuten) zu steuern, können wir die Schwierigkeit steuern, um das Mining einfach oder schwer zu machen.

Es bietet einen Konsensnachweis zwischen den Bitcoin-Knoten, der die Gültigkeit eines bestimmten Blocks festlegt, sobald etwa 6 Blöcke darüber abgebaut wurden und es die längste Kette im Netzwerk ist

Da es rechenintensiv ist, Blöcke abzubauen, ist es unwahrscheinlich, dass ein einzelner Miner in der Lage wäre, mehrere Blöcke hintereinander abzubauen. Der Rest der Mining-Community würde die Blöcke viel schneller abbauen und eine längere Kette schaffen.

Wenn also bei Block A 6 Blöcke über Block A in der längsten Kette abgebaut werden sollen, muss ein großer Prozentsatz der Miner in der Bitcoin-Mining-Community alle an der Kette arbeiten, die Block A enthält.

Die Tatsache, dass nachweislich so viele Bergleute an einer Kette arbeiten, die Block A enthält, impliziert, dass die Community zu dem Konsens gekommen ist, dass Block A ein gültiger Block ist.

Damit ist der Konsensnachweis erbracht.

Warum wird dieser Konsensnachweis benötigt? Es schützt davor, dass die Blockchain geforkt wird (absichtlich oder unabsichtlich). Andere Antworten beschreiben, warum jemand versuchen könnte, die Blockchain absichtlich zu forken (siehe Szenario „Double Spend“).