Grundwissen über Adresstypen / Importieren von private key in wallets richtig gemacht

Hallo zusammen, hilft mir bitte auf die Sprünge bei folgendem Szenario:

Ich erstelle auf Bitcoin Core Version v0.20.1 in einer Wallet eine SegWit Adresse (egal ob nativ oder nicht) dann ziehe ich mir aus der besagten Adresse auf der Konsole mit dumpprivkey den privatekey. Dann importiere ich den privkey in Electrum vers. 4.0.9, was auch funktioniert aber es wird eine andere Adresse und zwar eine leere Legacy-Adresse importiert. Nehme ich nun diese Legacyadresse und ziehe mir in meiner Core-Wallet den privatekey davon, funktioniert auch das und ich erhalte genau den Gleichen privkey wie für die nicht leere SegWit Adresse.

Welche Information fehlt mir um den „korrekten“ privkey meiner SegWit Adresse auszulesen? Oder wo ist mein Denkfehler?

xprv ist der master private key. Das ist analog zum xpub – dem master public key, aus dem sich alle Adressen generieren lassen. Es lassen sich aus dem master xprv respektive xpub mit einem derivation path aber auch weitere xprv bzw. xpub generieren - ad infinitum.

Die verschiedenen Adresstypen haben nun unterschiedliche derivation paths. Siehe z.B. hier:

Das heißt aus dem gleichen xpub kann ich Adressen verschiedenen Typs generieren, indem ich dafür den jeweiligen Ableitungspfad verwende.

Folgendes Tool veranschaulicht das ganz gut.
(ACHTUNG! Nicht den tatsächlichen private key oder xprv eingeben. Zum ausprobieren eine neue, Wegwerfadresse verwenden).

https://iancoleman.io/bip39/

Was ist also passiert? Electrum importiert den xprv und erzeugt Adressen für einen bestimmten derivation path. Bitcoin-Core verwendet einen anderen derivation path. Der xprv ist aber der gleiche.

Electrum sollte dir anbieten den derivation path zu ändern.

2 „Gefällt mir“

Perfekt Makowski!! :+1:

Vielen herzlichen Dank für deine aufschlussreiche Antwort.

Und ja, Electrum bietet an den derivation path zu wählen.
Aber ohne dieses grundlegende Wissen, tappt man im dunkeln.

Nach deiner Antwort habe ich Electrum näher inspiziert und siehe da, beim Importieren
des privkey in Electrum gehört es sich auf den Info Button zu klicken :wink:

Dann bekommt man die Info, dass beim Importieren der jeweiligen Adressen wie folgt vorgegangen werden muss.

Man setzt vor den private key für den Import von den jeweiligen Adresstypen:
Legacy = p2pkh:
SegWit = p2wpkh-p2sh:
SegWit nativ= p2wpkh:

1 „Gefällt mir“

derivation path is a b*tch :slight_smile:
dauerte bei mir auch etwas bis das einigermaßen saß.

Gibt es, ausser Electrum, weitere Apps die so eine Kontrolle beim import anbieten?
Möchte nicht immer am PC die Paths „errechnen“.