1. Angenommen ich habe ein unverschlüsseltes Wallet auf einem Server liegen.
Jemand klaut das unverschlüsselte Wallet. Anschließend verschlüssle ich das Wallet und beginne mit dem verkauf das Wallet füllt sich.
Kann derjenige der nun im Besitz des unverschlüsselten Wallets ist die Bitcoins ausgeben oder geht das nicht mehr?
Ja, er kann sie ausgeben. Dein Wallet hat standardmäßig einen Pool von 100 Adressen, erst nachdem Verbrauch dieser werden 100 neue Adressen erstellt und in deinen Wallet eingetragen. Auf die nächsten 100 Adressen hat der Dieb dann keinen Zugriff mehr. Im Betrugsfall ist es aber besser einen neuen Wallet zu erstellen.
2. Ich mache ein Backup vom Wallet noch bevor ein Kunde ein neuen Schlüssel für seinen Account generiert und Bitcoins einzahlt.
Danach gehen die Daten verloren, durch was auch immer, Festplatten crash etc. Ich spiele das alte Bitcoin Wallet anschließend wieder auf.
Sind die eingezahlten Bitcoins vom Kunde nun verloren?
Wenn für die neue Adresse kein neuer Adressenpool (bzw. x neue Adressen) generiert werden musste, sind die Bitcoins noch da weil, wie oben bereits erwähnt, immer x Adressen vorgeneriert werden und erst nach dem Verbrauch dieser wieder x neue generiert und gespeichert werden. Du kannst den Adressenpool im config File auch höher setzen. In Wahrheit holt die Adressen-Generier-Funktion also immer Adressen aus deinem "Adressenpool", außer es sind alle aufgebraucht und es muss tatsächlich eine neue Generierung von x Adressen angestoßen werden...