Was hindert jemanden daran, Utxos von einer nativen Segwit-Adresse auszugeben?

Ich habe gelesen, dass Transaktionen, die Utxos von einer nativen Segwit-Adresse (eine Adresse, die mit bc1 beginnt) ausgeben, so angesehen werden, dass jeder Transaktionen von Legacy-Knoten ausgeben kann.

Was hindert also jemanden daran, ein utxo von einer nativen Segwit-Adresse zu nehmen und es zu verwenden, um eine Transaktion mit einem Skriptsig von OP_TRUE oder null zu finanzieren und es an einen Legacy-Knoten oder direkt an einen Miner zu senden?

Antworten (1)

Segwit ist eine weiche Gabel. Eine übergroße Mehrheit der Bergleute hat zugestimmt, dass sie solche Transaktionen nicht in ihre Blöcke aufnehmen und jeden Block verwaisen werden, der eine solche Transaktion enthält.

Wenn Sie eine solche Transaktion an einen Legacy-Knoten senden, wird sie als gültige unbestätigte Transaktion angesehen, aber das Netzwerk wird sie niemals bestätigen.

Wenn es noch einige Miner gibt, die Legacy-Code ausführen, könnte die Transaktion möglicherweise von einem Miner, der sie auch als gültig ansieht, in einen Block aufgenommen werden. Aber die Mehrheit der Miner wird diesen Block ablehnen. Die einzige Möglichkeit, dass der Legacy-Knoten diese Transaktion jemals so sehen würde, als ob sie beispielsweise 6 Bestätigungen erreicht, wäre, wenn diese Legacy-Miner 6 Blöcke hintereinander abbauen würden. Da es sich bei diesen Bergleuten um eine winzige Minderheit handelt, ist dies äußerst unwahrscheinlich.

Wenn Sie die Transaktion direkt an einen aktualisierten Miner senden, wird sie abgelehnt. Wenn Sie es an einen Legacy-Miner senden, wird es möglicherweise in einen Block aufgenommen, aber dann wird sein Block schließlich aus der Blockchain verwaisen.

Aber würde eine solche Transaktion nicht als nicht standardisiert angesehen werden, sodass einige Miner sie akzeptieren könnten?
@Errol: Ich verstehe nicht, was du meinst. Ein Miner kann eine Nicht-Standard-Transaktion nur akzeptieren, wenn sie nach seinem Verständnis der Konsensregeln noch gültig ist. Beispielsweise könnte ein Miner eine OP_RETURN-Transaktion mit mehr als 83 Byte Nutzlast akzeptieren; es ist nicht standardisiert, aber immer noch gültig. Aber sie können keine Transaktion mit einer ungültigen Signatur akzeptieren oder die ein nicht vorhandenes utxo ausgibt.
Und selbst wenn dieser Miner mit modifizierter Software laufen würde, die eine solche Transaktion irgendwie als gültig behandelt, würde alles passieren, dass der Miner einen Block erstellt, den jeder andere Miner und fast jeder andere Knoten auf der Welt als ungültig ansehen und ignorieren würde.