Post
Topic
Board Anfänger und Hilfe
Merits 4 from 1 user
Re: Transaktion hängt fest? Was tun wenns klemmt.
by
shorena
on 14/02/2017, 22:56:29 UTC
⭐ Merited by 1miau (4)
Double-Spend
zurück zum Inhaltsverzeichnis.

Status: unvollständig

Vorbemerkungen:

Ein Double-Spend, also ein und dieselben Coins mehrfach ausgeben, ist mit Bitcoin nicht möglich. Der Begriff bezeichnet den Prozess eine unbestätigte Transaktion durch eine andere zu ersetzen. Eine solche neue Transaktion wird als Double-Spend(-Angriff) bezeichnet. Sei A die ursprüngliche Transaktion und B der Double-Spend, dann wird ein Full der A kennt B nicht akzeptieren. Ausnahmen wie RBF lassen wir dabei außer acht. Aus sicht des Netzwerks insgesamt sind A und B gleichwertig. Wenn eine der beiden einen Knoten zuerst erreich, ist die andere für den Knoten ungültig. Da wir aus dem Abschnitt über den Mempool wissen das Full Nodes Transaktionen im Normalfall nach 72 Stunden vergessen, können wir das nutzen um mit einem Double-Spend die Transaktionsgebühr nachträglich zu erhöhen. Als Angriff wird diese Technik bezeichnet, weil wir dabei auch ändern können wohin die Bitcoin gesendet werden.



Praxis:

Wie geht nun also ein solcher Angriff in der Praxis? Am einfachsten ist es, wenn die Wallet Software die man benutzt es einem erlaubt eine unbestäitgte Transaktion zu entfernen. Dann erzeugt man danach einfach wie gewohnt eine neue und lässt sich zur Not ein bisschen beim broadcasten helfen.

Transaktionen entfernen:

Bitcoin Core:

Bitcoin Core (und analog vermutlich auch Bitcoin Unlimited) bietet seit Version 0.12 zwei Möglichkeiten Transaktionen zu entfernen. Zum einen gibt es den Punkt 'Abandon transaction' wenn man mit der rechten Maustaste auf eine unbesätigte Transaktion klickt. Sollte dies nicht funktionieren gibt es die Möglichkeit beim Starten -zapwallettxes zu übergeben. Dies entfernt alle Transaktionen aus der Wallet und fügt alle bestätigten wieder hinzu. Unbestätigte Transaktionen gehen mehr als Nebeneffekt verloren. Unter Linux/Mac startet man aus dem Terminal heraus und fügt den Wert an.

Windows:

#1 Bitcoin Client beenden
#2 Mit Win + R "Ausführen" öffnen
#3 c:\Program Files\Bitcoin\bitcoin-qt.exe -zapwallettxes eingeben. Notfals den Pfad anpassen und andere Startparameter (wie -datadir=) anfügen.
#4 Mit eine klick auf "OK" bestätigen.

Electrum:

Electrum bietet keine einfache Möglichkeit unbesätigte Transaktionen aus der Wallet zu entfernen. Selbst wenn man vom Seed wiederherstellt bekommt man vom Electrum-Server auch die unbesätigte Transaktion wieder übertragen. Hier ist also Handarbeit angesagt. Danke den Reddit User jcoinner für die ursprüngliche Anleitung.

#1 Erstellt eine Kopie der Wallet Datei. Besser eine Kopie zu viel als hinterher kaputte Dateien.
#2 Stell sicher das Electrum geschlossen ist.
#3 Finde die Wallet Datei.
#3.1 Windows: Win + R -> %APPDATA%\Electrum\wallets -> OK
#3.2 Mac: Finder -> Folder (shift+cmd+G) -> ~/.electrum
#3.3 Linux: ~/.electrum
#4 Öffne die Datei mit einem Texteditor (nicht Word o.ä.), wie notepad(++), leafpad, nano, vi, sublime, etc.
#5 Suche nach dem Abschnitt verified_tx3, der oberste Eintrag ist die letzte Transaktion. Kopiere die ID.
#5.1 Einige ältere Versionen von Electrum benutzen ein anderes Datei Format. Bei diesen kann ich (oder jmd. anderes) ggf. aushelfen wenn ich die Datei sehe. Solange die Datei mit einem guten Password gesichert ist geht man kein Risiko ein seine Bitcoin zu verlieren.
#6 Such nach dieser Transaktion in den Abschnitten transactions, txi und txo und entferne sie.
#6.1 Wichtig hier ist es nicht das Format (JSON) zu beschädigen. Ein Komma am Ende der Zeile muss ggf. ebenso entfernt werden wie Klammer-Blöcke.
#7 Speicher die Datei
#8 Trenne die Verbindung zum Internet.
#9 Öffne die modifizierte Datei in Electrum.
#9.1 Ist die unbesätigte Transaktion verschwunden, erstell eine neue.
#9.2 Lässt sich die Datei nicht öffnen oder ist die Transaktion noch vorhanden GOTO #4
#10 Speichere die neue Transaktion als Datei

Link zum Bild: https://i.imgur.com/LzQOLWA.png
#11 Stell die Verbindung zum Internet wieder her und sende die Transaktion.
#11.1 Sie kann im Zweifel Über Werkzeuge -> Transaktion laden -> Aus Datei erneut geöffnet werden.
#11.2 Vermutlich wird der Electrum Server sie nicht akzeptieren, mit eine klick auf Kopieren (im Fenster nach #11.1) erhällt man die roh Transaktion und kann sich damit beim broadcasten helfen (lassen).






-reserve-

Double-Spend Notitzen:

Bitcoin Transaction Fee Booster by achow101 -> https://bitcointalk.org/index.php?topic=1506632.0
Electrum TX removal -> https://www.reddit.com/r/Bitcoin/comments/59g849/how_to_delete_unconfirmed_transactions_on_electrum/?st=izu4gsbd&sh=436241b5

Mein Freund der Miner:

kauf dir nen Freund (mit CC): https://pushtx.btc.com/ - scam?

RBF in Schildbach ? -> https://bitcointalk.org/index.php?topic=1811078.0