Bitcoin Forum
May 30, 2024, 08:16:45 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: 2 Bitcoin Core Wallets synchronisieren  (Read 1648 times)
Wini (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
January 09, 2015, 07:47:06 PM
 #1

Hi Leute,

folgendes Problem hat sich bei mir ergeben:

Ich habe zwei Bitcoin Core 0.9.3 Installation (Desktop PC und Laptop) die ursprünglich über die selbe wallet.dat "synchronisiert" wurden (ich habe einige Male die Wallet.dat auf dem Laptop durch die vom Desktop PC ausgetauscht). Nur letztens muss ich mal eine Empfangsadresse auf dem Laptop generiert haben, über die ich sogar einen Betrag erhalten habe und dieser taucht jetzt nicht im Wallet auf dem Desktop PC auf.
Möglicherweise existieren mitlerweile auf der Desktop PC Installation einige Adresse, die ich noch nicht zum Laptop gesynched habe.

Jetzt habe ich schon einmal ausprobiert, über die Konsole einen Dump zu machen - das scheint problemlos zu funktionieren.

Frage:
Kann ich jetzt einfach einen Dump auf dem Desktop und einen auf dem Laptop machen und diese auf dem jeweils anderen Gerät, ebenfalls über die Konsole, importieren um dann wieder "synchron" zu sein? Oder löscht er bei jedem Import alle vorhandenen Adressen bzw. private keys?

Nur falls letzteres der Fall sein sollte:
Kann ich den Inhalt des einen Dumps dann unter den anderen Dump im Texteditor kopieren? 90% der keys sollten dann zwar doppelt in der Datei vorhanden sein aber wenn das keine Probleme bereitet dann würde ich mir es somit sparen, die Dumps in mühevoller Kleinarbeit per Hand durchzugehen und eine Importdatei daraus zu basteln ....

Grüße,
Wini
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
January 10, 2015, 11:00:38 AM
 #2

-snip-
Frage:
Kann ich jetzt einfach einen Dump auf dem Desktop und einen auf dem Laptop machen und diese auf dem jeweils anderen Gerät, ebenfalls über die Konsole, importieren um dann wieder "synchron" zu sein?

Jein. (siehe unten)

Oder löscht er bei jedem Import alle vorhandenen Adressen bzw. private keys?

Nein, das nicht.

Nur falls letzteres der Fall sein sollte:
Kann ich den Inhalt des einen Dumps dann unter den anderen Dump im Texteditor kopieren?

Kommt auf den Texteditor an Wink

90% der keys sollten dann zwar doppelt in der Datei vorhanden sein aber wenn das keine Probleme bereitet dann würde ich mir es somit sparen, die Dumps in mühevoller Kleinarbeit per Hand durchzugehen und eine Importdatei daraus zu basteln ....

Einfach sortieren? Ist auch eigentlich egal. Kommen wir zum "Jein" oben.

Bitcoin core generiert 100 Adressen [1] für dich wenn die wallet.dat erstellt wird. Diese werden dir aber nicht sofort angezeigt. Das selbe passiert nochmal wenn Du zum ersten mal ein Password setzt. Allerdings werden dann die unsichtbaren Adressen entfernt und neue erstellt. Wenn Du jetzt auf "gib mir eine neue Adresse"[2] klickst wird gar keine neue Adresse erstellt sondern eine aus der vorhandenen Liste gewählt. Dabei wird nicht immer die selbe Adresse gewählt. Das heißt, wenn Du bis jetzt maximal 100 Adressen benutzt hast, sollte das kein Problem sein. Die gesuchte Adresse[1] ist in beiden wallet.dat Dateien. Sie wird Dir nur nicht angezeigt.

Wenn Du jetzt 100% sicher gehen willst ist es wohl am besten alle privaten Schlüssel zu exportieren und in eine neue (oder bestehende) wallet.dat zu importieren, wie Du das auch beschreibst. Dabei riskierst Du natürlich das Du irgendwo unverschlüsselte private Schlüssel hinterlässt.

Im allgemeinen solltest Du Dir vielleicht eine andere Möglichkeit überlegen. Ab 0.10.0 wird es watch only adressen geben. Alternativ bietet sich vielleicht eine deterministische wallet an. Wird meist als HD bezeichnet. Die haben das Problem nicht, da key/adresse N immer gleich ist egal wie oft man vom seed neu generieren lässt.

[1] und privaten Schlüssel etc.
[2] hab gerade den Namen von dem Button nicht im Kopf und nutze die deutsche Version nicht.

Im not really here, its just your imagination.
Wini (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
January 10, 2015, 02:49:57 PM
 #3

Hey, vielen Dank für deine Antwort!

Die gesuchte Adresse[1] ist in beiden wallet.dat Dateien. Sie wird Dir nur nicht angezeigt.
Dummerweise bin ich gerade unterwegs und kann den Laptop Wallet nicht mit dem Desktop Wallet abgleichen, aber einen Differenzbetrag in der im Frontend angezeigten Summe fiel mir nicht auf. Das muss ich mal nächste Woche definitiv abgleichen. Die erwähnte Transaktion taucht aber wie gesagt nicht in der Transaktionshistorie des Desktop-Wallets auf.

Gesetzt den Fall der Betrag stimmt 100%ig überein (wovon ich ausgehe), dann müsste es ja ausreichen, wenn ich im Desktop Wallet noch ein paar neue Empfangsadressen generieren lasse - die gesuchte Adresse müsste dann dabei sein und somit die Transaktion in der History auftauchen, oder?

Dann hätte sich das ganze Import/Export-Gedöns gelöst ....

Noch eine Frage für die Zukunft: Nach der Größe des Dumps zu schätzen habe ich jetzt rund 60 Adressen "verbraten". Wenn die 100 Adressen komplett "verbraten" wurden, läuft dann die Synchronisation auseinander oder werden die nächsten Adressen in beiden wallets mit Hilfe des gleichen "Zufalls" erzeugt, so das die nachfolgenden Adressen dann auch identisch sind?

Viele Grüße,
Wini
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
January 10, 2015, 03:08:52 PM
 #4

Hey, vielen Dank für deine Antwort!

Die gesuchte Adresse[1] ist in beiden wallet.dat Dateien. Sie wird Dir nur nicht angezeigt.
Dummerweise bin ich gerade unterwegs und kann den Laptop Wallet nicht mit dem Desktop Wallet abgleichen, aber einen Differenzbetrag in der im Frontend angezeigten Summe fiel mir nicht auf. Das muss ich mal nächste Woche definitiv abgleichen. Die erwähnte Transaktion taucht aber wie gesagt nicht in der Transaktionshistorie des Desktop-Wallets auf.

Ich bin mir nicht sicher ob der Gesamtbetrag deswegen korrekt angezeigt wird. Ich hatte das Problem nur einmal nach nem Backup. Ich denke aber nicht. Ich glaub mir wär das erstmal nicht aufgefallen das mir eine Adresse fehlt wenn der Gesamtbetrag in etwa korrekt gewesen wäre.

Gesetzt den Fall der Betrag stimmt 100%ig überein (wovon ich ausgehe), dann müsste es ja ausreichen, wenn ich im Desktop Wallet noch ein paar neue Empfangsadressen generieren lasse - die gesuchte Adresse müsste dann dabei sein und somit die Transaktion in der History auftauchen, oder?

Das sollte reichen, ja. So habe ich das auch gelöst, einfach n paar mal das Knöpfchen gedrückt und die Adresse war wieder da. Falls der Gesamtbetrag danach noch nicht stimmt, wirst Du ein -rescan machen müssen.

Noch eine Frage für die Zukunft: Nach der Größe des Dumps zu schätzen habe ich jetzt rund 60 Adressen "verbraten". Wenn die 100 Adressen komplett "verbraten" wurden, läuft dann die Synchronisation auseinander oder werden die nächsten Adressen in beiden wallets mit Hilfe des gleichen "Zufalls" erzeugt, so das die nachfolgenden Adressen dann auch identisch sind?

Die nächsten 100 sind dann unterschiedlich. Du kannst das aber auch erzwingen mit:
keypoolrefill 9000
Das würde 9000 neue Adressen inkl. Keys erzeugen. Vorher mit:
walletpassphrase mein%passw0rd123456 120
entsperren, in diesem Fall 120 Sekunden lang.


Im not really here, its just your imagination.
Wini (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
January 12, 2015, 12:10:40 AM
 #5

Update:

Die Bitcoin-Wallets weisen im Frontend auf den Satoshi genau den gleichen Betrag auf, ich habe einige (~10) Empfangsadressen auf dem Desktop Wallet generieren lassen, allerdings irgendwie war die gesuchte Adresse nicht dabei und die eingehende Transaktion taucht auch nach einem Rescan nicht in der Historie des Wallets auf dem Desktop PC auf.

Ich habe mal in der Konsole im Desktop Wallet das Kommando listaddressgroupings reingehauen und siehe da - die Empfangsadresse von der fehlenden Transaktion wird angezeigt - allerdings danach steht 0.00000000. Ich gehe mal davon aus, dass der Client mit dem Kommando die Adressen und den zugehörige Betrag anzeigt ....


Update2:

Mitlerweile ist ebenfalls der Rescan auf dem Laptop durch. Der Gesamtbetrag ist nach wie vor noch auf den Satoshi genau identisch. Das obige Kommando in der Konsole hat allerdings ebenfalls exakt die gleiche Ausgabe. Interessant. Ich hätte erwaretet, das hier der Betrag der auf dem Desktop fehlenden Transaktion angezeigt wird und nicht 0.00000000.
Übrigens ist die Empfangsadresse auf dem Laptop ebenfalls nicht unter dem Menüpunkt "Empfangsadressen" aufgeführt. Huh

Jetzt kann ich wohl davon ausgehen, dass die private Keys für alle relevanten Adressen in beiden Wallets vorliegen. Das Dumpen, Zusammenführen und Importieren kann ich mir also schenken. Evtl. könnte ich die Blockchain auf dem Desktop-Wallet löschen und wieder neu generieren lassen? Eigentlich müsste es ausreichen, wenn ich die letzten drei Wochen irgendwie löschen und neu importieren lassen kann, falls das möglich ist? Denn die fragliche Transaktion ist erst etwas über 2 Wochen alt ....

Grüße,
Wini
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
January 12, 2015, 07:12:58 AM
 #6

Update:

Die Bitcoin-Wallets weisen im Frontend auf den Satoshi genau den gleichen Betrag auf, ich habe einige (~10) Empfangsadressen auf dem Desktop Wallet generieren lassen, allerdings irgendwie war die gesuchte Adresse nicht dabei und die eingehende Transaktion taucht auch nach einem Rescan nicht in der Historie des Wallets auf dem Desktop PC auf.

Ich habe mal in der Konsole im Desktop Wallet das Kommando listaddressgroupings reingehauen und siehe da - die Empfangsadresse von der fehlenden Transaktion wird angezeigt - allerdings danach steht 0.00000000. Ich gehe mal davon aus, dass der Client mit dem Kommando die Adressen und den zugehörige Betrag anzeigt ....


Update2:

Mitlerweile ist ebenfalls der Rescan auf dem Laptop durch. Der Gesamtbetrag ist nach wie vor noch auf den Satoshi genau identisch. Das obige Kommando in der Konsole hat allerdings ebenfalls exakt die gleiche Ausgabe. Interessant. Ich hätte erwaretet, das hier der Betrag der auf dem Desktop fehlenden Transaktion angezeigt wird und nicht 0.00000000.
Übrigens ist die Empfangsadresse auf dem Laptop ebenfalls nicht unter dem Menüpunkt "Empfangsadressen" aufgeführt. Huh

Klingt nach einer Wachselgeldadresse. Die tauchen irgendwie nicht auf. Wenn Du CoinControl in den Optionen aktivierst kannst Du aber bei einer neuen Transaktion sehen an welche Adresse das Wechselgeld gegangen ist.

Jetzt kann ich wohl davon ausgehen, dass die private Keys für alle relevanten Adressen in beiden Wallets vorliegen. Das Dumpen, Zusammenführen und Importieren kann ich mir also schenken.

Jap.

Evtl. könnte ich die Blockchain auf dem Desktop-Wallet löschen und wieder neu generieren lassen?

Hm, ja schon, allerdings hast Du dann ja auch völlig neue Adressen.

Eigentlich müsste es ausreichen, wenn ich die letzten drei Wochen irgendwie löschen und neu importieren lassen kann, falls das möglich ist?

Wenn dann mit pywallet[1]. Das ist aber eher aufwendiger Fummelkram.


Denn die fragliche Transaktion ist erst etwas über 2 Wochen alt ....

Grüße,
Wini

Guck mal mit CoinControl[2] nach bitte. Das geht erstmal so aus bitcoin core heraus ohne extra tools und falls da nichts zu finden ist kann man immer noch was komplexeres machen. Hier ein Beispiel wie sowas aussieht. Die 1Gux ist eine Adresse die ich generiert hab. Danach hab ich "von" dort bitcoin ausgegeben und hab Wechselgeld bekommen. Das liegt an 1B7q, die wird mir aber nicht angezeigt. Auch nicht nachdem ich über 30 neue Adressen hab anzeigen lassen.




[1] "neue" Version hier: https://bitcointalk.org/index.php?topic=294439
[2] in der engl. Version: Settings -> Options -> Wallet -> [ ] Enable coin control features -> OK und dann Send -> Inputs.

Im not really here, its just your imagination.
Aswan
Legendary
*
Offline Offline

Activity: 1734
Merit: 1015



View Profile
January 12, 2015, 10:37:25 AM
 #7

Was du suchst ist eine deterministische wallet die alle keys aufgrund eines gemeinsamen seeds generiert. Da du bereits bitcoin core benutzt, wäre Armory für dich evtl eine lösung, da es ebnefalls ein full node ist, bitoin core in hintergrund gebötigt, und das von dir gewünschte feature mit bringt.
Wini (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
January 12, 2015, 01:06:38 PM
 #8

Klingt nach einer Wachselgeldadresse. Die tauchen irgendwie nicht auf. Wenn Du CoinControl in den Optionen aktivierst kannst Du aber bei einer neuen Transaktion sehen an welche Adresse das Wechselgeld gegangen ist.
Okay, im CoinControl sehe ich die fragliche Adresse nicht. Aber ich kann hier eigentlich auch mal sagen um welche Transaktion es ging - nämlich um die hier:
https://blockchain.info/tx/c08c9e2d9bc4bff79121712949f273288706b34dd070620de8d5cf7e2346f0df

Die 0,0279 BTC werden mir auf dem Laptop als Eingang angezeigt und auf dem Desktop nicht. Ich habe jetzt aber mal weitergeschaut ... der Betrag splittet sich dann nochmal auf und die Adresse 1BGD... wird mir zumindest im CoinControl als Wechselgeldadresse angezeigt. Ich schätze mal irgendwo lässt sich dann auch der Rest finden.

Also im Endeffekt ist wohl auf keinem Wallet was verloren. Nur blöd finde ich, dass mir die eingehende Transaktion nicht angezeigt wird, obwohl mir da wirklich jemand ein paar Coins in den Hut geworfen hat und es sich nicht um Wechselgeld aus einer anderen Transaktion handelt (zumindest gehe ich davon fast 100%ig aus).

Quote
Evtl. könnte ich die Blockchain auf dem Desktop-Wallet löschen und wieder neu generieren lassen?
Hm, ja schon, allerdings hast Du dann ja auch völlig neue Adressen.
Wenn ich ein paar Block-Dateien aus "C:\Users\<MyUserName>\AppData\Roaming\Bitcoin\blocks" lösche, dann zieht sich der Client nicht einfach nur die Blöcke neu aus dem Netzwerk sondern erzeugt dann auch meine Adressen neu? Oha. Wusste ich noch gar nicht.

@Aswan: Okay, Armory wollte ich mir sowieso irgendwann mal ansehen, aber eigentlich vorerst mal bei QT bleiben ....

shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
January 12, 2015, 06:26:03 PM
 #9

Klingt nach einer Wachselgeldadresse. Die tauchen irgendwie nicht auf. Wenn Du CoinControl in den Optionen aktivierst kannst Du aber bei einer neuen Transaktion sehen an welche Adresse das Wechselgeld gegangen ist.
Okay, im CoinControl sehe ich die fragliche Adresse nicht. Aber ich kann hier eigentlich auch mal sagen um welche Transaktion es ging - nämlich um die hier:
https://blockchain.info/tx/c08c9e2d9bc4bff79121712949f273288706b34dd070620de8d5cf7e2346f0df

Die 0,0279 BTC werden mir auf dem Laptop als Eingang angezeigt und auf dem Desktop nicht. Ich habe jetzt aber mal weitergeschaut ... der Betrag splittet sich dann nochmal auf und die Adresse 1BGD... wird mir zumindest im CoinControl als Wechselgeldadresse angezeigt. Ich schätze mal irgendwo lässt sich dann auch der Rest finden.

0,008 ging an 15v1
0,0198 an 1BGD und
0,0001 als Gebühr an die Miner für
die TX[1]


Also im Endeffekt ist wohl auf keinem Wallet was verloren. Nur blöd finde ich, dass mir die eingehende Transaktion nicht angezeigt wird, obwohl mir da wirklich jemand ein paar Coins in den Hut geworfen hat und es sich nicht um Wechselgeld aus einer anderen Transaktion handelt (zumindest gehe ich davon fast 100%ig aus).

Die 0,0279 kommen aus dieser TX[2] ob das Wechselgeld ist kann ich so nicht beurteilen. Ich kann auch verstehen das es blöd ist die TX nicht zu sehen, aber der Aufwand die anzeigen zu lassen ist schon ziemlich groß dafür. Wobei... einmal mit -rescan starten sollte eigentlich reichen. Die pywallet Lösung war ja mit dem Hintergedanken das da evtl. private Schlüssel fehlen.

-snip-
Wenn ich ein paar Block-Dateien aus "C:\Users\<MyUserName>\AppData\Roaming\Bitcoin\blocks" lösche, dann zieht sich der Client nicht einfach nur die Blöcke neu aus dem Netzwerk sondern erzeugt dann auch meine Adressen neu? Oha. Wusste ich noch gar nicht.

Nein, sorry. Ich hab dich falsch verstanden. Hatte dich so verstanden das Du dann eine neue wallet.dat erzeugen willst.
Sie neu zu scannen -rescan sollte eigentlich reichen, aber das dauert auch ein paar Stunden je nach CPU Leistung.

@Aswan: Okay, Armory wollte ich mir sowieso irgendwann mal ansehen, aber eigentlich vorerst mal bei QT bleiben ....

Das tolle an Armory ist: es geht beides. Armory braucht sowieso ein QT/Core im Hintergrund. Das heißt während Du Armory laufen hast wird auch immer dafür gesorgt das QT/Core im Hintergrund synchron bleibt. Armory braucht aber nochmal soviel Platz wie QT/Core, da es eine eigene Datenbank anlegt.



[1] https://blockchain.info/de/tx-index/73435270
[2] https://blockchain.info/de/tx-index/72995951/0

Im not really here, its just your imagination.
Wini (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
January 12, 2015, 10:22:54 PM
 #10

Danke dir, shorena, für die Aufklärung!

Mitlerweile ist doch schon etwas mehr Licht auf die Angelegenheit gefallen. Grin Einen Rescan habe ich auf beiden Geräten gemacht allerdings blieb alles beim alten (Transaktion wird auf dem Laptop angezeigt, auf dem Desktop PC nicht).

Mir fiel jetzt allerdings beim Betrachten der Transaktionshistorie auf, dass ich an exakt dem gleichen Tag um 2:41 der Adresse 19LsH8NPDu5ozG9byojL8CqqWTUHTSb8VG 0.0031 BTC (Brutto) in den Hut geworfen haben. Da die Zeit im Client anscheinend meine lokale Zeit ist und die Zeit in der Blockchain UTC stimmt die Transaktion ja exakt mit der eingehenden (Wechselgeld-)Transaktion überein.

Also scheint nichts kaputt zu sein - nur das mir der Wechselgeldeingang als eingehende Transaktion im Laptop Wallet angezeigt wird, ist wohl ein kleinerer Bug ....
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
January 12, 2015, 10:47:39 PM
 #11

Danke dir, shorena, für die Aufklärung!

Mitlerweile ist doch schon etwas mehr Licht auf die Angelegenheit gefallen. Grin Einen Rescan habe ich auf beiden Geräten gemacht allerdings blieb alles beim alten (Transaktion wird auf dem Laptop angezeigt, auf dem Desktop PC nicht).

Mir fiel jetzt allerdings beim Betrachten der Transaktionshistorie auf, dass ich an exakt dem gleichen Tag um 2:41 der Adresse 19LsH8NPDu5ozG9byojL8CqqWTUHTSb8VG 0.0031 BTC (Brutto) in den Hut geworfen haben. Da die Zeit im Client anscheinend meine lokale Zeit ist und die Zeit in der Blockchain UTC stimmt die Transaktion ja exakt mit der eingehenden (Wechselgeld-)Transaktion überein.

Also scheint nichts kaputt zu sein - nur das mir der Wechselgeldeingang als eingehende Transaktion im Laptop Wallet angezeigt wird, ist wohl ein kleinerer Bug ....


Hmm. Kann daran liegen das der Client davon ausgeht das eine Transaktion immer von ihm selbst ausgeht. Ich bin mir da nicht sicher, aber ich erinnere mich an sowas ähnliches wenn man auf dem Testnet arbeitet. Wenn man sich da selbst BTC schickt, weil man z.B. 5 verschiedene Eingänge mit je 1 BTC braucht, dann wird die Transaktion nicht als Ein- und Ausgang einzelnd angezeigt, sondern gemeinsam als "send to self" mit Betrag -0.001 (als Gebühr). Vielleicht passiert hier sowas ähnliches.

Bin in jedem Fall froh wenn noch alles da ist.

Im not really here, its just your imagination.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!