Beim Importieren privater Schlüssel werden andere Adressen erstellt

Wie funktioniert das Importieren privater Schlüssel?

Ich habe zuvor den privaten Schlüssel für eine 1Archive...-Adresse in Bitcoin Core importiert und festgestellt, dass dann eine Adresse wie 1AXbRq hinzugefügt wurde... und ich habe es nicht weiter verfolgt.

Heute habe ich den privaten Schlüssel für eine 3... Adresse aus Bitcoin Core exportiert und in Electrum importiert. Electrum fügt eine 1... Adresse hinzu und sieht keine der Transaktionen.

Wie funktioniert das? Ich verstehe, dass sich hinter einer SegWit-Adresse eine zugrunde liegende 1...-Adresse befindet, aber wie würde ich BTC ausgeben, wenn sie nicht in meinem Wallet-Guthaben angezeigt werden? Was soll ich sonst machen?

Wenn es dazu bereits auf Bitcoin.SE eine beantwortete Frage gibt, konnte ich sie nicht finden.

Mein privater Schlüssel beginnt mit L.

War die Adresse, die mit 3einer P2WPKH-Adresse begann? Wenn ja, könnte das helfen: bitcoin.stackexchange.com/q/72899/38618
@MCCCS Okay, das ist eigentlich nah dran. Ich habe eine 3... Adresse, keine bc1... Adresse. Ich habe Hoffnung, dass es leicht lösbar sein wird.
@MCCCS Eigentlich habe ich diese Methode ausprobiert, Electrum sagt, dass der Schlüssel nicht importiert werden kann. Mein privater Schlüssel beginnt mit L.
Es ist völlig irrelevant, dass Ihr privater Schlüssel mit "L" beginnt. Teilen Sie es nicht!
ICIN, der offizielle Download für Electrum, ist von bitcoin.org/en/wallets/desktop/windows/electrum

Antworten (3)

Ich vermute, Sie können es direkt von der Konsole in Electrum importieren (basierend auf dieser PR). Derzeit erlaubt Electrum jetzt den Import einzelner p2wpk in p2sh-Adressen (die 3-Segwit-Adressen). Sie können jedoch immer noch einen vollständigen Seed importieren, indem Sie einen BIP49-Ableitungspfad verwenden.

Versuchen Sie Folgendes in der Electrum-Konsole auszuführen:

key = 'your_key'
txin_type, secret, compressed = bitcoin.deserialize_privkey(key)
wif2 = bitcoin.serialize_privkey(secret, compressed, 'p2wpkh-p2sh')
print(wif2)

Importieren Sie dann das wif2, das es ausdruckt

Das funktioniert. Es importiert die richtige Adresse.
Gut zu wissen! Ich war mir nicht ganz sicher und derzeit von einer Maschine mit Elektrum entfernt. Vielen Dank für die Bestätigung.
Beachten Sie, dass Sie seit 3.1 dem privaten Schlüssel einfach "p2wpkh-p2sh:" voranstellen können, bevor Sie ihn importieren.

Stellen Sie dem privaten Schlüssel „p2wpkh-p2sh:“ voran, bevor Sie ihn in Electrum importieren. Zum Beispiel:

p2wpkh-p2sh:5Kkzs8XrJNAmf9VQDFeGBfaRvSByAvPK6DbDXw5BVqswWaXSG2Y

Ich kann das nicht bestätigen - ich habe es mit meinem Privatschlüssel versucht und bekomme eine Fehlermeldung, aber andererseits habe ich es bereits importiert.
@Willtech es funktioniert nur mit 3.1 und höher .
Ich habe gerade meine Version überprüft, es ist tatsächlich nicht 3.1 und höher.
Du hast mich nach 6 Stunden Suchen und Versuchen zum Weinen gebracht. Ich wünschte, ich könnte dir +100 Upvotes geben. Danke dir.
Dies sollte als richtige Antwort markiert werden, da es einfacher ist als die derzeit akzeptierte Lösung zur Verwendung der Konsole.

„Ich habe zuvor den privaten Schlüssel für eine 1Archive…-Adresse in Bitcoin Core importiert und festgestellt, dass dann eine Adresse wie 1AXbRq hinzugefügt wurde… und ich habe es nicht weiter verfolgt.“

Zunächst einmal werde ich die erste Frage nicht beantworten. Es klingt einfach komisch, und zu 99% wird es durch einen Fehler verursacht.

Wie funktioniert das? Ich verstehe, dass sich hinter einer SegWit-Adresse eine zugrunde liegende 1...-Adresse befindet, aber wie würde ich BTC ausgeben, wenn sie nicht in meinem Wallet-Guthaben angezeigt werden? Was soll ich sonst machen?

So funktioniert der Import einer P2PKH-Adresse:

Das WIF-Ergebnis wird von drei Parametern beeinflusst: Privkey-Typ (ein Byte für private BTC-Schlüssel), der private Schlüssel (der auch enthält, welche yKoordinate der Pubkey hat, wenn wir den komprimierten Pubkey wollen) und ein zusätzliches 0x01Byte, wenn wir den komprimierten Pubkey wollen . Es gibt nur einen öffentlichen Schlüssel, der mit dieser WIF generiert werden kann.

So funktioniert der Import einer P2SH-Adresse:

1) Dump das WIF der P2SH-Adresse

2) Importieren Sie das WIF

3) Führen Sie eine Transaktion durch und beobachten Sie, wie Ihre Brieftasche oder Bitcoin Core die Transaktion nicht erkennt.

Es wird die Transaktion nicht erkennen, da es unendlich viele P2SH-Adressen gibt, die man mit dem WIF erstellen kann (Hinweis: Das Skript hat eine Größenbeschränkung, es ist also nicht unendlich)!

Um deine Wallet über deine P2SH-Adresse zu informieren, solltest du auch das Skript importieren. Und dies wird von 99,9 % der Wallets nicht unterstützt. (Die Wallets können jedoch Witness-Adressen importieren, da sie standardisiert und weit verbreitet sind.) Deshalb sieht Electrum Ihre P2WPKH-Adresse nicht, wenn Sie es nicht anweisen, die Witness-Adresse zu verwenden.

p2wpkh-p2sh-Skripte sind im bip standardisiert. Solange Sie dem WIF "p2wpkh-p2sh:" voranstellen, wird Electrum es in Electrum 3.1 oder neuer als solches erkennen. Im Fall von 3.0.x müssen Sie das WIF konvertieren, was Sie mit dem von @RaghavSood geposteten Skript oder mit diesem menübasierten hier tun können .