Wie wird bei einem Doppelausgabeversuch die gültige Transaktion ausgewählt?

Angenommen, ich veröffentliche den privaten Schlüssel einer Adresse, die 1 Bitcoin enthält. Wenn zwei Personen versuchen, diesen Bitcoin an eine andere Adresse zu übertragen, bevor ein neuer Block gefunden wird, wer bekommt ihn? Wie kommt diese Entscheidung zustande?

Antworten (2)

Wenn ein Knoten zwei widersprüchliche Transaktionen empfängt, leitet er nur die erste weiter, die er empfangen hat, und verwirft die andere. Wenn sich eine Transaktion vollständig durch das Netzwerk ausbreitet, bevor die andere gesendet wird, verhindert die erste, dass die zweite jemals Miner-Knoten erreicht.

Wenn beide Transaktionen ungefähr zur gleichen Zeit gesendet werden, ist das Netzwerk uneins darüber, welche gültig ist. Dies wird behoben, sobald ein Miner-Knoten einen Block findet und die Transaktion enthält, von der er zuerst gehört hat.

Bergleute sind nicht verpflichtet, eine bestimmte Transaktion in einen Block aufzunehmen.

Wenn eine Person einen Vorsprung erhält, wird kein Nicht-Mining-Knoten das Duplikat weiterleiten, sodass der „First Mover“ schnell Teile des Netzwerks von anderen Konkurrenten abschneiden wird. Wenn jedoch beide Transaktionen ungefähr zur gleichen Zeit erstellt werden, ist es möglich, dass jede doppelte Transaktion die Knoten erreicht, die Mining-Pools über unterschiedliche Routen unterstützen.

Ein Mining-Pool kann jede gewünschte Transaktion enthalten und neigt dazu, angepasste Versionen der Bitcoin auszuführen, um die Blockgenerierung zu optimieren. Es liegt im besten Interesse des Miners, die Transaktion mit der höheren Gebühr auf Kosten anderer Transaktionen zu tätigen. Daher könnte die Verwendung einer Transaktionsgebühr die Chance erhöhen, in den nächsten Block aufgenommen zu werden.

Letztendlich wird die im Block enthaltene Transaktion das "Rennen" lösen.

Die Netzwerk-"Abschaltung" könnte umgangen werden, indem TXs direkt an die Pools gesendet werden.