Waren „Jeder kann Geld ausgeben“-Transaktionen vor SegWit gültig?

Nicht-Segwit-Knoten (Legacy-Knoten) betrachten Segwit-Transaktionen als ACS-Transaktionen (jeder kann Geld ausgeben). Es ist klar, dass solche Nodes Blöcke validieren können (und tun), die ACS-Transaktionen enthalten, da die von ihnen ausgeführten Skripte mit den ursprünglichen Regeln von Bitcoin kompatibel sind (deshalb wird SegWit als Soft Fork betrachtet). Ich sehe jedoch die Aussage, dass ein Miner, der einen Nicht-Segwit-Knoten betreibt, keine ACS-Transaktion in seinen eigenen Mining-Block aufnehmen kann, denn wenn er es geschafft hätte, diesen Block abzubauen, würden Segwits-Knoten ihn ablehnen, weil digitale Signaturen fehlten, was zur Folge hätte in einem verwaisten Block.

Ist es richtig, was ich sage? Wenn ja, lassen Sie mich das folgende Szenario vor der Erstellung und Implementierung von SegWit auf Bitcoin betrachten:

Vor der Erstellung und Implementierung von SegWit, als alle laufenden Nodes nicht-segwit waren, wenn ein Miner eine ACS-Transaktion in seinen eigenen Block aufgenommen und es ihm geschafft hätte, ihn abzubauen, würde ein solcher Block von anderen Nodes akzeptiert werden? Ich sehe keinen Grund, warum eine solche Sperre verboten werden könnte. Aus Sicht der anderen Knoten (die alle nicht segwit sind) sehen sie diesen neuen Block als einen Block an, der ACS-Transaktionen enthält, und wie jeder andere Block heutzutage sollten sie ihn validieren.

Was ich versuche zu sagen, ist, dass es in der vorherigen Version von Bitcoin (vor SegWit) nichts gab, was einem Bergmann „verboten“ hätte, die Gelder eines anderen auszugeben/zu stehlen. Wenn die Antwort lautet, dass SegWit-Knoten zuvor niemals Blöcke akzeptiert hätten, die ACS-Transaktionen enthalten, bedeutet dies, dass SegWit tatsächlich eine Hard Fork ist, da sie sie heutzutage akzeptieren.

Daher sehe ich folgende drei „Szenarien“

  1. Vor der Implementierung von SegWit konnten Bergleute ACS-Transaktionen in ihre Blöcke aufnehmen, und alle anderen Knoten sollten sie validieren. Dass es nie passiert ist, liegt daran, dass alle Miner „ehrlich“ waren.
  2. Vor SegWit validierten Nodes keine Blöcke, die ACS-Transaktionen enthielten. Aber sie validieren sie jetzt. Dies führt zu einer HARD-Fork.
  3. Es gibt etwas, das ich vermisse oder ich missverstehe.

Ich hoffe, die Antwort ist Nummer 3. Ich würde mich freuen, wenn mir jemand helfen könnte.

Antworten (2)

Vor der Erstellung und Implementierung von SegWit, als alle laufenden Nodes nicht-segwit waren, wenn ein Miner eine ACS-Transaktion in seinen eigenen Block aufgenommen und es ihm geschafft hätte, ihn abzubauen, würde ein solcher Block von anderen Nodes akzeptiert werden?

Ja.

Vor der Implementierung von SegWit konnten Bergleute ACS-Transaktionen in ihre Blöcke aufnehmen, und alle anderen Knoten sollten sie validieren. Dass es nie passiert ist, liegt daran, dass alle Miner „ehrlich“ waren.

Es ist einige Male passiert. Zum Beispiel hat tx https://www.blockchain.com/btc/tx/b38bb421d9a54c58ea331c4b4823dd498f1e42e25ac96d3db643308fcc70503e zwei ACS-Ausgänge. Natürlich ANYONEnahm sie schon die Adresse 1AJaMSZDGaANx1wd9u83DTznCxkdrJiK8 :))))

Tatsächlich überprüfen Clients die Ausgabeskripts überhaupt nicht, während sie Blöcke überprüfen.

Was ich versuche zu sagen, ist, dass es in der vorherigen Version von Bitcoin (vor SegWit) nichts gab, was einem Bergmann „verboten“ hätte, die Gelder eines anderen auszugeben/zu stehlen.

... nur wenn das Geld an gesendet wurde ANYONE:)))))

Danke für die Antwort! Ich habe das Konzept von ACS missverstanden. Ich dachte, dass im alten Bitcoin jeder TX ein ACS TX war. Was ich meine, dass jeder Miner jeden UTXO einlösen und an seine eigene Adresse schicken könnte. Es sah aus wie ein Fehler des Protokolls. Nun, ich verstehe, dass diese Eingabe zur Verwendung einer "Jeder-kann-Ausgaben"-Eingabe aus der Ausgabe einer vorherigen TX stammt, bei der der Absender absichtlich an eine "Jeder-kann-Ausgaben"-Adresse gesendet hat und die von signiert werden muss den Absender (es sei denn, die Eingabe stammt von einem anderen ACS usw.).

es gab nichts, was einem Bergmann „verbieten“ könnte, die Gelder eines anderen auszugeben/zu stehlen

Das war nie wahr, soweit ich weiß, waren Bergleute nie in der Lage, die Gelder anderer Leute auszugeben, die bei normalen Transaktionen mit den richtigen Ausgabenskripten zu sehen waren.

Eine genauere Beschreibung der Situation, die Sie beschreiben, ist vielleicht, dass es nichts gab, was den Menschen verbietet, ihr Geld ungeschützt an einem öffentlichen Ort zu hinterlassen, damit es Passanten mitnehmen können.

"Eine genauere Beschreibung der Situation, die Sie beschreiben, ist vielleicht, dass es nichts gab, was den Menschen verbietet, ihr Geld ungeschützt an einem öffentlichen Ort zu hinterlassen, damit es Passanten mitnehmen können." Ja dank! Ich habe das Konzept von ACS tx missverstanden. Dieser Satz beantwortet meine Zweifel sehr genau.