Ist in Bitcoin ein Arbeitsnachweis erforderlich?

Es scheint, dass das Grundprinzip hinter der Proof-of-Work-Anforderung in Bitcoin darin besteht, dass es Vertrauen in ein dezentralisiertes vertrauenswürdiges Netzwerk schafft, indem es:

  1. dabei helfen, einen Konsens darüber zu erzielen, welche Version der Blockchain die richtige ist, falls es mehrere vorübergehend konkurrierende Forks gibt.

  2. die akzeptierte Blockchain rechnerisch unveränderlich (irreversibel) zu machen.

Frage: Warum ist ein Proof-of-Work erforderlich, um Vertrauen zu schaffen?

Wenn die meisten Nutzer ehrlich sind, dann würden sie freiwillig das Verbot durchsetzen, die Blockchain umzuschreiben.

Wenn die meisten Benutzer unehrlich sind, können sie die Blockchain trotz der Proof-of-Work-Anforderung immer noch umschreiben, nicht nur, indem sie die ehrlichen Miner übertreffen, sondern sogar einfach, indem sie einen Konsens schaffen, einen neuen Fork der Haupt -Blockchain als richtig zu akzeptieren Version der Blockchain.

UPDATE: Hier ist der Artikel, auf den ich in meiner Frage verlinkt habe:

http://hackingdistributed.com/2014/06/19/bitcoin-and-voting-power/

Bitcoin und Stimmrecht

Emin Gün Sirer

19. Juni 2014 um 17:56 Uhr

Ich sehe einen häufigen Fehler in vielen Diskussionen rund um Bitcoin, bei denen es um Stimmrechte geht. Insbesondere denken viele Leute, dass Bitcoin wie ein Mehrheitswahlsystem funktioniert, was es auch tut. Sie verschmelzen dann Mining-Power mit Stimmrecht und glauben, dass jemand mit 51 % Mining-Power das letzte Wort über den Inhalt der Blockchain hat. In diesem Blogpost möchte ich mit diesem Irrglauben aufräumen. Die Wahrheit ist, dass es die Bitcoin-Benutzer sind, die die ultimative Macht ausüben, und die Hashing-Macht der Miner hat absolut keinen Einfluss darauf, wie sich das Protokoll entwickelt.

Es gibt zwei Arten von „Stimmrecht“ bei Bitcoin: Mining Power und Chain Power, und letzteres ist das, was wirklich zählt, weil es allein bestimmt, wie sich das Bitcoin-Protokoll entwickelt. Die beste Analogie, die mir einfällt, stammt aus dem Fußball: Der Besitzer einer Fußballmannschaft scheint allmächtig zu sein und scheint die totale Kontrolle über administrative Entscheidungen zu haben, aber letztendlich sind es die Fans, die die volle Verantwortung tragen. Fans schmeißen regelmäßig schlechtes Management raus, vertreiben Spieler und setzen sich über schlechte Entscheidungen der scheinbar mächtigen Verwaltung hinweg, denn es ist die Aufmerksamkeit der Fans, die die Verwaltung sucht.

Lassen wir jedenfalls nicht zu viel Anthropomorphisierung in die Quere kommen; Deshalb geraten die meisten Leute in die Falle, diese beiden Konzepte zu verschmelzen. Technisch gesehen gibt es bei Bitcoin zwei Arten von Konsensentscheidungen:

Bergbauleistung

Bergleute führen einen Prozess durch, bei dem sie Transaktionen an das Ende eines Nur-Anhänge-Protokolls anhängen, das als Blockchain bekannt ist. Dafür werden sie reichlich mit 25 BTC pro Block belohnt, zuzüglich aller Transaktionsgebühren in diesem Block. Der Prozess ist sorgfältig konstruiert, um es der Mehrheit zu ermöglichen, sich hinter einer einzigen, nicht fälschbaren Blockchain zu bilden. Jeder Miner kann sich weigern, einen von einem anderen Miner entdeckten Block zu honorieren, aber wenn er in der Minderheitsposition ist (<=49 %), wird er letztendlich von der Mehrheit überholt.

Unter den Bergleuten befindet sich eine Einheit mit 51 % oder mehr der Hashing-Macht an einem privilegierten Ort. Er kann sich auf Verhaltensweisen einlassen, die Minenarbeitern aus Minderheiten nicht zur Verfügung stehen .

Aber ein >=51% Miner kann die Regeln von Bitcoin nicht umschreiben. Das liegt daran, dass sich die Mining-Power von der Chain-Power unterscheidet und überhaupt nicht mit ihr korreliert.

Kettenkraft

Das Bitcoin-Ökosystem besteht aus vielen anderen Menschen als den Minern, die auf der Blockchain arbeiten. Insbesondere jeder einzelne Bitcoin-Benutzer, jede einzelne Person mit einer Brieftasche und jeder einzelne Händler arbeitet auf der Blockchain. Sie speichern ihre Guthaben in der Blockchain (oder lassen ihre Guthaben irgendwo in der Blockchain von einer Börse speichern). Sie verwenden die Blockchain, um die Guthaben von Personen zu überprüfen, die ihnen Bitcoins senden. Sie validieren Bitcoins bis zu ihrer Entstehung mithilfe der Blockchain. Miner sind Teil dieser Gruppe, aber sie sind genau wie jeder andere Benutzer. Gemeinsam nennen wir diese Gruppe die Bitcoin-Community.

Jeder in der Bitcoin-Community erhält eine einzige Stimme, nicht mehr und nicht weniger, darüber, welche Art von Blockchain sie akzeptieren werden. Miner sind untergeordnete Einheiten, die der Entscheidung der Bitcoin-Community folgen müssen. Sie bekommen zusammen mit allen anderen eine Stimme. Tatsächlich ist es der Bitcoin-Community durchaus möglich, die Regeln, die die Wartung der Blockchain regeln, vollständig zu ändern, und zwar ohne dass einer der Miner zustimmt (aus politischen Gründen wäre dies ein Fehler, aber die Aussage hält technisch). . Die Regeln werden vollständig davon bestimmt, was die Käufer und Verkäufer als legitime Blockchain akzeptieren. Bergleute sind unterwürfige Gefolgsleute.

Nehmen wir zur Veranschaulichung an, dass ich aus irgendeinem Grund beschlossen habe, die Blockchain-Regeln so zu ändern, dass jeder neue Block, der nach dem 1. Januar 2016 generiert wird, die Nummer 42 an der Spitze jedes Blocks haben soll. Wenn ich nach diesem Datum einen Block sehe, der nicht 42 oben hat, verwerfe ich ihn. Angenommen, ich könnte Händler und Inhaber von Geldbörsen dazu bringen, dieser sinnlosen, aber anschaulichen Änderung zuzustimmen – vielleicht stimmen sie auch zu, dass 6*7 eine magische Zahl ist und sie möchten, dass jeder Block von dieser Magie gesegnet wird. Dann würden wir einfach kollektiv die Blöcke ablehnen, die Miner ohne die magische Zahl in ihnen erstellen. Die Arbeit, die die Miner in die Erstellung von Blöcken ohne 42-Lager investieren würden, wäre verschwendet, und ihre Vergütung in Bitcoins auf einer Blockchain, die keiner von uns akzeptiert, wäre wertlos. Neue Miner würden auftauchen, die die magische Zahl auf jeden Block setzen,

Die grundlegende Art und Weise, wie Menschen diese Macht ausüben, besteht darin, die Blockchain zu respektieren oder zu ignorieren. Und die Abstimmung hat genauso viel Gewicht wie das, was dieser Benutzer dem Rest der Community zu bieten hat. Wenn der Benutzer anbietet, viele andere Bitcoins zu kaufen, oder wenn er ein Händler wie Overstock.com ist, der Sachen verkauft, die die Leute wollen, dann werden die Leute wollen, dass ihre Blockchain mit ihm kompatibel ist, und er wird mehr Einfluss haben. Die Core-Entwickler, die an der Referenzimplementierung arbeiten, spielen hier eine entscheidende Rolle, da sie das De-facto-Regelwerk festlegen, an das sich alle halten.

Auswirkungen

Dies ist eine ungeheuer ermächtigende Situation. Ein 51 % Miner hat nicht 51 % der Stimmen; Tatsächlich hat GHash genauso viel Mitspracherecht über den Inhalt der Blockchain wie ich oder Sie oder sonst jemand. Bergleute beziehen ihr Einkommen von den Käufern und Verkäufern, die die von ihnen erstellten Blöcke erkennen. Aus diesem Grund ist das Verhalten eines sich schlecht benehmenden Miners verboten – er könnte beispielsweise keine 10 Millionen Bitcoins aus dem Nichts erschaffen, weil niemand diese neuen Regeln anerkennen würde. Die Blockchain ist das, was wir alle sagen.

Aus diesem Grund verfügen normale Benutzer über die ultimative Macht in Bitcoin. Es ist die Chain-Power, die die Form der Blockchain bestimmt, nicht die Mining-Power. Bergleute sind in diesem Spiel Mitläufer, keine Anführer.

Es ist wichtig, diese Unterscheidungen im Hinterkopf zu behalten, wenn wir über die wahre Quelle und Verteilung der Macht im Bitcoin-System nachdenken. Es gibt viele verschwommene Analogien für Bitcoin (und ich bin schuldig, wo immer möglich Analogien zu verwenden, weil sie den Diskurs zugänglicher machen, aber sie führen auch einige Leute in die Irre), und wenn man nicht aufpasst, ist es leicht zu enden Verschmelzung von Mining-Power, die der Miner-Geschwindigkeit entspricht, mit echter Power, die etwas bedeutet, was die Leute wollen, wie Bargeld, um Bitcoins zu kaufen, oder Waren, die für Bitcoin verkauft werden können. Letzteres zählt und bestimmt alles andere.

1. Die Frage weist nicht explizit auf den Widerspruch in der konventionellen Begründung für Proof-of-Work hin. 2. Die gegebenen Antworten sind nicht logisch streng.
Das Problem mit Ihren Hypothesen ist das Konzept "die meisten Benutzer". Was bedeutet das? Wenn es die Anzahl der Miner ist, die mit dem Netzwerk verbunden sind, kann eine einzelne Person mit einem Computer Millionen starten und zur „Mehrheit“ werden. Der Zweck von PoW ist es, so zu definieren , was „die meisten“ bedeutet, dass die Mehrheit sehr in Bitcoin investiert, da sie viele Ressourcen dafür haben müssen.
Die Frage ist: Was genau ist ein (Bitcoin-)Nutzer? Sie denken vielleicht, dass 1 Benutzer 1 Person ist, aber nichts hindert mich daran, 100.000.000 Bitcoin-Benutzer zu erstellen.
Bitte fügen Sie eine Zusammenfassung der verlinkten Seite hinzu; So wie es derzeit aussieht, läuft die Frage Gefahr, die Bedeutung zu verlieren, die sie von ihrem möglichen Duplikat (es ist kein Duplikat) aufgrund von Linkfäule unterscheidet. Diese Frage stellt eine eindeutige Frage, aber ohne die aus dem Link abgeleitete Bedeutung geht die Eindeutigkeit verloren.

Antworten (6)

Proof of Work schafft kein Vertrauen. Es schafft Anreize .

Bergleute werden bezahlt, wenn ihr Block schließlich Teil der Hauptversion der Geschichte ("Blockchain") ist, die das Netzwerk akzeptiert. Sie müssen unwiederbringlich Strom verbrennen, um Blöcke zu erstellen, was sie Geld kostet; Geld, für das sie nur bezahlt werden, wenn ihr Block "gewinnt".

Diese Faktoren zusammen bedeuten, dass Bergleute einen starken Anreiz haben, mit anderen Bergleuten zusammenzuarbeiten, anstatt dass jeder versucht, seine eigene Version der Geschichte zu konstruieren, da letztendlich nur eine Version akzeptiert wird (wobei Dinge wie absichtliche Gabelungen im Netzwerk ignoriert werden).

Der Arbeitsnachweis wird auch für einen viel logistischeren, aber ebenso wichtigen Zweck verwendet: Denial-of-Service-Schutz. Da die minimale Schwierigkeit für einen Block mit der Hashrate des Netzwerks skaliert, ist es für jemanden enorm teuer, mehr Blöcke als (im Durchschnitt) 1 pro 10 Minuten zu produzieren. Ohne ein objektives Maß für die Arbeit wie PoW (oder eine zentrale Gruppe vertrauenswürdiger Parteien) könnte jeder das Netzwerk mit einer unbegrenzt großen Menge von zu validierenden Blöcken spammen.

Kommentare sind nicht für längere Diskussionen gedacht; Diese Konversation wurde in den Chat verschoben .

Wenn die meisten Nutzer ehrlich sind, dann würden sie freiwillig das Verbot durchsetzen, die Blockchain umzuschreiben.

Ohne Arbeitsnachweis geht das nicht. Es gäbe keine Begrenzung für die Anzahl der Blöcke, die ungefähr zur gleichen Zeit erstellt werden könnten, es könnten Tausende von ihnen jede Minute erstellt werden. Verschiedene Server empfangen sie möglicherweise in unterschiedlichen Reihenfolgen. Und ein Server, der einen Tag lang ausgefallen ist, hätte keine Möglichkeit zu wissen, was er akzeptieren soll.

Sie müssen sich darauf einigen, auf welche von zwei oder mehr gleich guten Wegen das System Fortschritte machen kann. Ein Arbeitsnachweis ist nicht die einzige Möglichkeit, dies zu tun, aber Sie brauchen einen Weg.

Darüber hinaus gäbe es keine Möglichkeit, die anfängliche Verteilung der Bitcoins während ihrer Erstellung vorzunehmen.

Kommentare sind nicht für längere Diskussionen gedacht; Diese Konversation wurde in den Chat verschoben .
Ihr Kommentar chat.stackexchange.com/transcript/message/51555726#51555726 ist zwar wortreich und ziemlich korrekt, aber auch irrelevant (eine gängige PR-Taktik). PoW ist in der Tat eine Möglichkeit, neue Blöcke auf einvernehmliche Weise zu erstellen. Es gibt andere Möglichkeiten, viel billiger, wie ich bereits erklärt habe (bitten Sie mich nicht, sie zu wiederholen, ich werde es nicht tun). Aber der Punkt ist, dass, egal wie Sie es verwenden, obendrein MUSS es eine Mehrheit ehrlicher Benutzer geben (wie im Artikel definiert), sonst kann das System zusammenbrechen (wie ich auch erklärt habe).
Das entspricht genau der logischen Aussage, die ich in bitcoin.stackexchange.com/questions/89972/#comment103046_90008 dargelegt habe, daher folgt die unvermeidliche Schlussfolgerung. Fröhliches Handwinken.
@rapt Langfristige Governance und kurzfristiger sicherer Fortschritt sind unterschiedliche Probleme mit unterschiedlichen Lösungen. Eine Lösung für ersteres löst nicht automatisch letzteres. Sie haben recht damit, wie Bitcoin ersteres tut. Proof of Work ist, wie Bitcoin letzteres tut.
Irrelevantes Kauderwelsch. Du ignorierst, was ich gerade geschrieben habe.

Frage: Warum ist ein Proof-of-Work erforderlich, um Vertrauen zu schaffen?

Wenn die meisten Nutzer ehrlich sind, dann würden sie freiwillig das Verbot durchsetzen, die Blockchain umzuschreiben.

Wenn alle ehrlich wären, bräuchten wir überhaupt kein Blockchain-System. Wir könnten uns alle einfach darauf verlassen, dass wir uns an unsere Kontostände erinnern und sie entsprechend aktualisieren, wenn wir den ganzen Tag miteinander Geschäfte tätigen.

Leider sind nicht alle ehrlich, und deshalb brauchen wir ein System, das es allen ermöglicht, im Konsens über den aktuellen Zustand des Netzwerks zu bleiben (dh die Zuweisung von Coins). Ein System zu schaffen, das dies tun kann, ohne einer zentralen Autorität zu vertrauen, ist sehr schwierig, wie das Problem der byzantinischen Generäle zeigt.

Das PoW-System von Bitcoin bietet den Minern Anreize, an der Erweiterung einer einzelnen Kette zu arbeiten (anstatt alternative Historien vorzuschlagen), und wie andere hier geschrieben haben, bietet es entscheidend einen Mechanismus zur Auswahl, welcher Miner den nächsten Block zum Netzwerk hinzufügt.

Wenn die meisten Benutzer unehrlich sind, können sie die Blockchain trotz der Proof-of-Work-Anforderung immer noch umschreiben, nicht nur, indem sie die ehrlichen Miner übertreffen, sondern sogar einfach, indem sie einen Konsens schaffen, einen neuen Fork der Haupt-Blockchain als richtig zu akzeptieren Version der Blockchain.

Aufgrund Ihrer Kommentare glaube ich, dass Sie den Artikel, auf den Sie verlinkt haben, falsch interpretiert haben. Dieser Artikel verwendet eine sehr nicht strenge Sprache, um zu erklären, wie das Netzwerk einen Konsens auf hoher Ebene erreicht, aber bei einer strengeren Prüfung liefert er keine Blaupause für ein alternatives System. „1 Benutzer = 1 Stimme“ ist eine sehr vereinfachte Erklärung dafür, wie die Konsensregeln des Netzwerks gewählt werden, aber es sind die Miner, die die Kette gemäß diesen Regeln erweitern müssen. Ein Netzwerk aus regulären Benutzern (Knoten) kann sich alle darauf einigen, bestimmte Regeln zu befolgen, aber sie können sich ohne PoW-Mining nicht darauf einigen, welcher Kette sie folgen sollen.Ich glaube, das ist die Quelle Ihres Missverständnisses: Der Artikel schlägt nicht vor, dass die Knoten des Netzwerks ohne die Miner weiterhin im Konsens bleiben können, er liefert nur eine vereinfachte Erklärung, wie Benutzer die Regeln definieren, an die sich Miner halten müssen.

Selbst wenn die Benutzer gemeinsam beschließen, einen neuen Satz von Konsensregeln durchzusetzen, müssen die PoW-Miner dennoch eine Blockchain für sie erstellen. Ohne das PoW-Mining können Benutzer keinen Konsens erzielen, da es keinen Mechanismus gibt, um sich darauf zu einigen, welcher Block der nächste Block sein wird, oder um DoS-Angriffe abzuwehren.

Ich habe so viele Einwände. Zuerst die grundlegende logische Gliederung, die ich dargelegt habe: „Wenn die meisten Benutzer ehrlich sind, funktioniert das System wie beabsichtigt, mit oder ohne X. Aber wenn die meisten Benutzer unehrlich sind, kann X sie nicht daran hindern, das System zu missbrauchen. Daher ist X beides redundant oder nutzlos, um sicherzustellen, dass das System wie beabsichtigt funktioniert." Kannst du ein Loch in diese Argumentation stecken?
@rapt Ich nehme an, X ist Bergleute? Wenn ja, ist Ihr erster Satz falsch: Das System funktioniert nicht wie beabsichtigt, „mit oder ohne Miner“. Ohne PoW-Mining gibt es keinen Mechanismus für das Netzwerk, um einen Konsens über den Zustand des Netzwerks zu erzielen. Der Artikel, auf den Sie verlinkt haben, schlägt nichts anderes vor.
Es spielt an dieser Stelle keine Rolle, was X ist. Ich habe einen logischen Vorschlag gemacht. Sie können es nicht widerlegen, indem Sie zeigen, dass die Annahme "falsch" ist, weil sie gegeben ist. Sie können es nur widerlegen, indem Sie zeigen, dass die Annahme nicht die Schlussfolgerung beinhaltet.
Entschuldigung, aber ich verliere aus den Augen, wie dies für die ursprüngliche Frage relevant ist.
Es ist irgendwie relevant ... ES IST die ursprüngliche Frage.
Unter der Annahme, dass Ihre Annahmen richtig sind, ist Ihre Schlussfolgerung richtig. Wenn Ihre Annahmen jedoch falsch sind, muss Ihre Schlussfolgerung nicht richtig sein. Ich kann einen Zweig der Mathematik vorschlagen, in dem 2 + 2 = 5 gegeben ist, aber er wird keine nützlichen Ergebnisse liefern, weil die Prämisse nicht wahr ist, sie ist widersprüchlich.
@rytan451 Wenn ich "das System" = Bitcoin, X = "Alle Benutzer essen sonntags Brownies" definiere, ist die Aussage richtig?
@rapt Der Satz ist richtig, vorausgesetzt, die Prämissen sind richtig. Mit diesem X sind die Prämissen richtig, also ist die Aussage richtig. Ihr anfängliches X, der Proof-of-Work, passt jedoch nicht in die Prämisse: Wenn die meisten Benutzer ehrlich sind, funktioniert das System aufgrund der Aktionen einiger böswilliger Benutzer möglicherweise immer noch nicht wie beabsichtigt. Ich fordere Sie auf, ein Bitcoin-ähnliches System ohne Proof-of-Work oder Proof-of-Stake zu erstellen, das dennoch von einer Minderheit böswilliger Benutzer bewiesen wird.
@rytan451 "Wenn die meisten Benutzer ehrlich sind, funktioniert das System aufgrund der Aktionen einiger böswilliger Benutzer möglicherweise immer noch nicht wie beabsichtigt." Erklären Sie, warum ein System mit einer Mehrheit ehrlicher Benutzer ohne PoW, aber mit weniger rechenintensiven Regeln wie „den nächsten Block von einer vereinbarten Ressource holen“ und „die Blockchain niemals umkehren“ dort scheitern wird, wo Bitcoin dies nicht tut, vorausgesetzt, dasselbe Art von anderen Einschränkungen bestehen, z. B. Anfälligkeit für Sybil-Angriffe usw.
Unter der Annahme vernachlässigbarer PoW-Kosten gibt es eine Möglichkeit, Dinge zu "kaufen", ohne dafür zu bezahlen. Kaufen Sie zuerst den Artikel mit Bitcoin. Warten Sie zweitens, bis der Artikel eingegangen ist. Drittens generieren Sie eine Menge Blöcke auf einem anderen Zweig als Ihre Transaktion. Daher ist die neue Ladung von Blöcken der neue "gültige" Transaktionsverlauf, und daher wird Ihre Transaktion zum Kauf des Artikels ungültig (obwohl Sie den Artikel behalten). Wenn Sie argumentieren, "der Rest der Benutzer wird viel mehr Blöcke gemacht haben; es ist unmöglich, aufzuholen", dann ist das bereits ein rudimentäres PoW-System. Ich werde mehr in einer Antwort erklären.
@rytan451 Die Mehrheit der ehrlichen Benutzer setzt die von mir festgelegte Regel "niemals die Blockchain umkehren" durch. Das würde diesen Angriff im Keim ersticken. Wenn das Ihr stärkster Einwand war, dann ist mein Vorschlag richtig.
Die Regel "Niemals die Blockchain umkehren" würde basieren auf ... dem Zeitstempel des freigegebenen Blocks? Die Reihenfolge, in der der Block empfangen wird? Wenn ersteres, dann ist meine Antwort unten gültig. Im letzteren Fall kann die Reihenfolge, in der der Block empfangen wird, für jeden Benutzer unterschiedlich sein, sodass jeder Benutzer am Ende mehrere unterschiedliche Blockchains hat, die auch nicht wieder zusammenlaufen können.
@ rytan451 kombiniere es mit der 1. Regel, die ich angegeben habe. Die meisten ehrlichen Benutzer werden sehen, dass dieselben Blöcke hinzugefügt werden.
„Schnapp dir den Block von einer vereinbarten Ressource“ Wie wird die Ressource vereinbart? Verwenden Sie einen byzantinischen fehlertoleranten Konsensalgorithmus? Es gibt nur sehr wenige Algorithmen, die byzantinisch fehlertolerant und relativ recheneffizient mit der Anzahl von Agenten sind, die Bitcoin hat, und einer von ihnen ist Bitcoins Arbeitsnachweis. (Ich sage sehr wenige, weil ich mir nicht sicher bin, ob es nur 2 gibt: Proof of Stake und Proof of Work)
@rytan451 "Wie wird die Ressource vereinbart?" genau wie es in Bitcoin usw. gemacht wird: indem man sich (auch wenn man es vielleicht nicht merkt) auf die "Ehrlichkeit" der meisten Benutzer verlässt. Anscheinend haben Sie weder den Artikel gelesen, auf den ich in meiner ursprünglichen Frage verlinkt habe, noch haben Sie meine anderen Kommentare zu dieser Seite gelesen.

Angenommen, es fallen keine Proof-of-Work-Kosten an. dh das Erstellen eines Blocks ist rechnerisch kostenlos. (In der Praxis ist dies unmöglich, aber bitte haben Sie Geduld mit mir). Wenn das Erstellen eines gültigen Blocks kostenlos ist, dann gibt es hier eine Möglichkeit, etwas zu „kaufen“, ohne tatsächlich Bitcoin auszugeben:

  1. Sie kaufen etwas mit Bitcoin. Der Block, der die Transaktion aufzeichnet, wird der Blockchain hinzugefügt.
  2. Sie erhalten den Artikel.
  3. Sie bauen vor Ihrer Transaktion viele Blöcke ab. Da dies viel länger ist als der Zweig, der Ihre Transaktion enthält, bedeutet dies, dass der Zweig, der Ihre Transaktion nicht enthält, zum gültigen Zweig wird.

Daher enthält die Transaktionsprotokoll-Blockchain nicht wirklich die Transaktion, bei der Sie die Bitcoin gesendet haben, um etwas zu kaufen.

Es gibt zwei Möglichkeiten, diese Art von Angriff zu verhindern:

  1. Sie haben eine maßgebliche Quelle, die das Transaktionsprotokoll speichert, daher wurde der neue Zweig nicht gültig gemacht. Diese Methode impliziert eine Zentralisierung, was dem Ziel einer dezentralen Währung zuwiderläuft.
  2. Sie machen es einem einzelnen Benutzer unmöglich, mehr Blöcke zu generieren als die anderen Benutzer zusammen, und machen so das Transaktionsprotokoll zum gültigen Protokoll, ohne dass der Angreifer Geld verliert.

Geben Sie einen Arbeitsnachweis ein. Dies ist ein Versuch, Methode 2 zu verwenden, um diesen Angriff zu verhindern. Das Benutzersystem generiert Blöcke. Dies erfordert eine enorme Menge an Rechenleistung. Um mehr Blöcke als das Benutzersystem zu erstellen, zwingt Sie der Proof-of-Work dazu, mehr Rechenleistung zu verwenden als der Rest des Benutzersystems zusammen.

Wie wäre es mit einem Zeitstempel?

Ein Zeitstempel ist leicht zu fälschen. Mit dem obigen Angriff könnten Sie einen Block mit einem Zeitstempel vor der „Geld verlieren“-Transaktion erstellen. Dann könnte der Angreifer die Bitcoin woanders hinschicken (eine andere seiner Brieftaschen) und der nächste Block (die „Geld verlieren“-Transaktion) wäre ungültig, weil er besagt: „Nimm 0,1 Bitcoin aus der leeren Brieftasche von X, um sie zu geben Ja ."

Zwei Methoden, um dies zu verhindern:

  1. Der Zeitstempel wird von einer maßgeblichen Quelle verifiziert (was eine Zentralisierung impliziert).
  2. Der Zeitstempel ist nur gültig, wenn er eine feste (kurze) Zeit nach dem Zeitstempel empfangen wird (dann muss der Anbieter nur noch auf den Ablauf der erforderlichen Zeit warten, dann ist die Sperre in Stein gemeißelt und droht nicht, ungültig zu werden).

Bei Methode 2 gibt es ein paar Probleme. Erstens erfordert eine Blockchain, dass alle Blöcke im Speicher vorhanden sind, um herauszufinden, wie viel eine bestimmte Brieftasche enthält. Wenn Sie den Block aus einem Protokoll lesen, woher wissen Sie, ob der Block weniger als diese festgelegte Zeit nach dem Zeitstempel empfangen wurde? Das Protokoll könnte gefälscht werden, es sei denn, es gibt eine maßgebliche Quelle oder das Protokoll benötigt zu viel Rechenleistung, um von einem einzelnen böswilligen Benutzer erstellt zu werden. Letzteres ist für jede lange Blockchain mit einem starken Proof-of-Work garantiert.

Willkommen Freund. Ich sehe das ähnlich wie ich, du bist ganz neu hier. Sie wiederholen jedoch Ideen, die andere auf dieser Seite bereits ausführlich beschrieben haben. Ich habe sie alle bereits in meinen Antworten auf andere Antworten beantwortet. Ich schlage vor, dass Sie sie zuerst lesen (die meisten davon befinden sich jetzt auf separaten Chat-Seiten). Lesen Sie auch den Artikel, auf den ich in meiner ursprünglichen Frage verlinkt habe, falls Sie dies noch nicht getan haben. Dann überdenke deine Antwort.

Der verlinkte Artikel argumentiert, dass der Endbenutzer die Regeln von BitCoin kontrolliert, ähnlich wie die Fans einer Fußballmannschaft kontrollieren, wie sich das Management der Mannschaft verhält.

Die Frage argumentiert, dass das Proof-of-Work-System nutzlos wird, weil die Mehrheit der Endbenutzer die Regeln ändern kann, wenn eine Mehrheit der Endbenutzer unehrlich ist, weil die Gruppe der Endbenutzer das BitCoin-System zu ihrem Vorteil umschreiben kann. Darüber hinaus argumentiert die Frage, dass die Mehrheit der Benutzer, wenn sie ehrlich ist, einen Konsens darüber aufrechterhalten kann, ob das Proof-of-Work-System vorhanden ist oder nicht. Daher argumentiert die Frage, da Proof-of-Work nutzlos ist, wenn die Mehrheit der Endbenutzer ehrlich ist, und es nutzlos ist, wenn die Mehrheit der Endbenutzer unehrlich ist, ist Proof-of-Work an sich nutzlos.

Die Frage ist ein dreiteiliges Argument:

Wenn:

  1. Die Unehrlichkeit der Mehrheit der Endbenutzer führt dazu, dass sie BitCoin zu ihrem Vorteil umschreiben, und
  2. Die Ehrlichkeit der Mehrheit der Endbenutzer ermöglicht es ihnen, einen Konsens mit oder ohne Proof-of-Work aufrechtzuerhalten.

Dann:

  1. Proof-of-Work ist nutzlos

Obwohl ich mit dem zweiten Punkt nicht einverstanden bin, hält der Fragesteller ihn für wahr, und es gab eine Debatte zu diesem Punkt, die seit dem 18. September 2019 bis mindestens zum 7. Oktober 2019 im verlinkten Chatroom andauert . Nach Abschluss dieser Debatte wird diese Antwort bearbeitet, um die Gründe für die Richtigkeit oder Unrichtigkeit von Punkt 2 zu verdeutlichen.

Auch dem ersten Punkt stimme ich nicht zu. Hier ist der Grund:

Nehmen wir an, die unehrliche Mehrheit kam zusammen und einigte sich irgendwie darauf, wie die neuen Regeln von BitCoin aussehen würden. Diese neuen Regeln wären natürlich für alle von Vorteil. Wir werden diese neuen Regeln damit vergleichen, „einen bösen Schnurrbart auf den BitCoin zu malen“, und wir werden das neue System mit den neuen Regeln MoustacheCoin nennen.

Wenn MoustacheCoin der unehrlichen Mehrheit auf Kosten des Empfängers zugute kommt, dann möchte niemand etwas für MoustacheCoin verkaufen. MoustacheCoin hätte daher im Vergleich zu BitCoin eine geringere Kaufkraft . Wenn MoustacheCoin für die unehrliche Mehrheit auf Kosten des Absenders von Vorteil ist, dann würde niemand MoustacheCoin verwenden wollen, um etwas zu kaufen, und somit wäre es nutzlos. Wenn MoustacheCoin nur für diejenigen in der unehrlichen Gründungsmehrheit von Vorteil wäre, dann würde niemand neu dazukommen. Darüber hinaus ist es selbstverständlich, dass MoustacheCoin der unehrlichen Gründungsmehrheit nicht schaden würde, da diese Person dann nicht in der unehrlichen Gründungsmehrheit wäre.

Daher wäre MoustacheCoin nicht sinnvoll, da es entweder 1: eine geringere Kaufkraft im Vergleich zu BitCoin hat, 2: niemand bereit ist, etwas damit zu kaufen, oder 3: keinen Wettbewerbsvorteil gegenüber Insidern bietet, Außenstehende jedoch nicht möchtest du mitmachen.

MoustacheCoin würde BitCoin nicht einmal töten, selbst wenn es neunmal so beliebt wie BitCoin bleiben würde. Denn selbst wenn neun von zehn Menschen lieber Äpfel als Birnen essen, lässt sich mit dem Verkauf von Orangen immer noch Geld verdienen.

Und wie oben beschrieben, ist MoustacheCoin auf keinen Fall so nützlich wie BitCoin.

Daher ist Punkt 1 des Arguments hinfällig; Eine Mehrheit der unehrlichen Endbenutzer würde nicht dazu führen, dass sie BitCoin zu ihrem Vorteil umschreiben.

Wenn die meisten Benutzer ehrlich sind, dann ist beim derzeitigen Stand des Systems ein Arbeitsnachweis erforderlich, um angesichts einer unehrlichen Minderheit einen Konsens aufrechtzuerhalten. Der Fragesteller ist anderer Meinung (Stand: 7. Oktober), und eine Debatte ist im Gange.

Das Argument (Stand 7. Oktober) scheint derzeit festgefahren zu sein, wobei der Stand des Arguments aus Sicht dieses Antwortenden wie folgt lautet:

BitCoin verwendet Proof-of-Work, um einen Double-Spending-Angriff zu verhindern, der theoretisch überwunden werden kann, wenn ein Angreifer mehr als die Hälfte der Mining-Power im Netzwerk kontrolliert. Der Fragesteller schlägt ein alternatives System vor, das keinen Arbeitsnachweis beinhaltet und sich stattdessen auf ein Abstimmungsschema stützt, wie unten beschrieben:

  1. Jeder Benutzer führt eine Liste anderer bekannter Benutzer und seiner Meinung nach die aktuellste Kette.
  2. Wenn der Benutzer eine neue längere Kette sieht, die mit seiner "am meisten aktualisierten Kette" kompatibel ist, dann wird die "am meisten aktualisierte Kette" des Benutzers zu dieser neuen längeren Kette.
  3. Wenn sich die Mehrheit der bekannten Benutzer des Benutzers auf eine Kette einigen, die mit der aktuellen Kette des Benutzers inkompatibel ist, dann wird die "aktuellste Kette" des Benutzers zu dieser neuen Kette.

Wo kompatibel ist definiert als die kürzere Kette, die eine Teilmenge der längeren Kette ist.

Es wurde der Einwand erhoben, dass ein menschlicher Benutzer möglicherweise eine große Anzahl falscher virtueller Benutzer fälschen und somit "die Abstimmung gewinnen" kann, um einen Double-Spending-Angriff zu verursachen.

Der Fragesteller hat geantwortet, dass es in BitCoin gleichermaßen möglich ist, eine Behauptung, die ich stark bezweifle.

Nach dem derzeitigen Stand der Debatte scheint diese Frage aufgrund eines Missverständnisses des Artikels gestellt worden zu sein.

Meine Interpretation des Artikels ist folgende: BitCoin-Benutzer haben einen weichen Einfluss auf die Regeln der Blockchain, denn wenn sie gemeinsam entscheiden, die Regeln nicht anzuerkennen und stattdessen ein neues Regelwerk anzuerkennen, hat es für Miner keinen Wert, den alten zu folgen Regelwerk. Auf diese Weise ist es den Benutzern von BitCoin durchaus möglich, die Regeln von BitCoin zu ändern.

Die Interpretation des Fragestellers scheint eher in diese Richtung zu gehen: BitCoin verfügt über einen technischen Mechanismus, der es einer Mehrheit der Benutzer ermöglicht, die Regeln zu ändern. Der Fragesteller scheint zu glauben, dass dies zu einem potenziellen Angriff führen kann, bei dem eine Mehrheit der Benutzer (von denen viele von einer einzelnen natürlichen Person kontrolliert werden können) möglicherweise das Netzwerk kompromittieren kann.

Diese Debatte dauert an, und diese Antwort wird nach Abschluss aktualisiert.

Eine eklatant ungenaue und irreführende Zusammenfassung mit einigen verblüffenden logischen Fehlern. Ich empfehle dem interessierten Leser, die verschiedenen Chats auf dieser Seite tatsächlich zu lesen und sich eine eigene Meinung zu bilden.

Ein Arbeitsnachweis ist nicht erforderlich, gibt es andere Algorithmen wie Proof of Stake, die immer noch dezentralisiert sind (obwohl ich nicht weiß, wie es funktioniert, obwohl Ethereum Proof of Stake Mining verwenden möchte). Der Proof-of-Work gibt einem Block eine Schwierigkeit, indem er sagt: "Es müssen mindestens X Nullen in einem Block sein." (X muss keine ganze Zahl sein, wenn dies der Fall wäre, könnte die Schwierigkeit nur in Größenordnungen von zwei, vier oder sechzehn angepasst werden; im Moment liegt sie etwas über 16,8.) Dieses Hinzufügen von Nullen steuert die Anzahl der Probleme, die gelöst werden können , und liegt normalerweise in der Größenordnung von Hunderten oder (unteren) Zehnhundertern pro Tag. Wenn es mehr Miner gibt, reagiert das Netzwerk relativ schnell, indem es die Schwierigkeit erhöht (in weniger als 2 Wochen), und wenn es weniger gibt, reagiert es auch, indem es das Gegenteil tut (in möglicherweise mehr als 2 Wochen). Der Arbeitsnachweis ist wie eine Lotterie, und wer das Problem löst, wird zufällig ausgewählt und erhält dann den Preis über die Coinbase. Arbeitsnachweis ist im Grunde ein Verifizierungsmechanismus, der die Nullen in einem Hash (Arbeit) betrachtet und eine bestimmte Anzahl (Minimum) auf Null zwingt.

Kann eine gültige Antwort auf die Frage „Wie wird Proof-of-Work in Bitcoin implementiert?“ sein.
Stimmt, ich habe versucht, beides zu beantworten, aber ich tendiere zu dem, was du gesagt hast.