Ein privater Schlüssel erzeugt viele öffentliche Schlüssel?

Ich habe eine Brieftasche in BitPay erstellt. Ich habe öffentliche und private Schlüssel.

Dann habe ich mit dem vorhandenen privaten Schlüssel eine Brieftasche in Electrum erstellt.

Jetzt hat Wallet in Elektron einen anderen öffentlichen Schlüssel als in BitPay, aber denselben privaten Schlüssel.

Ist es o.k? Adressen, die in einer Anwendung generiert wurden, können in der zweiten sichtbar sein? Wo kann ich in einfachen Worten beschriebene Regeln zum Generieren von Schlüsseln und Adressen nachlesen?

Ich habe die Wallet in Electrum mit demselben privaten Schlüssel zum zweiten Mal generiert und ich habe den gleichen öffentlichen Schlüssel erhalten wie beim letzten Mal, als ich in Electrum generiert habe, aber nicht derselbe wie in der BitPay-Wallet. Ich verstehe nicht warum.

Importieren Sie mit der Seed-Phrase private Schlüssel in die Electrum-Wallet?
Nein. Ich habe "Öffentliche oder private Schlüssel verwenden" ausgewählt und dann nur den privaten Schlüssel eingefügt.

Antworten (2)

Laut Bip32 - Bip44 - Bip49 (Segwit) können Sie viele öffentliche Schlüssel mit einem privaten/öffentlichen Hauptschlüssel generieren.

Ich weiß nicht, welchen Ableitungspfad Bitpay verwendet, aber Electrum verwendet Pfad 44 für Legacy-Bitcoin-Adressen und 49 für Segwit-Adressen.

Als Antwort von @pebwindkraft stellt Bitpay Ihnen möglicherweise einen erweiterten privaten Schlüssel zur Verfügung, sodass das Generieren von Adressfortschritten in Elektron ähnlich wird, wenn Sie den erweiterten privaten Schlüssel von Bip44 bereitstellen:

Bip44 Extended Key -> Bip44 Extended Key -> Öffentliche Schlüssel -> Index

anstatt:

Master Private Key -> Bip44 Extended Key -> Public Keys -> index

Adressen, die in einer Anwendung generiert wurden, können in der zweiten sichtbar sein? Ja, wenn sie denselben Ableitungspfad verwenden.

Ihre Bitpay-Transaktionen sollten in Electrum erscheinen.

Wo kann ich in einfachen Worten beschriebene Regeln zum Generieren von Schlüsseln und Adressen nachlesen? Bitcoin-Verbesserungsprotokoll 44

Es ist hilfreich, Bitcoin Book zu beherrschen.

In dieser BitPay-Brieftasche wird eine Ableitungsstrategie verwendet: BIP44, und eine Art von Adresse: P2PKH.

Ein privater Schlüssel kann zwei verschiedene Bitcoin-Adressen generieren. Das hängt von der ECDSA-Logik und den verwendeten Codierungsschemata ab. Wahrscheinlich haben Sie schon von komprimierten und unkomprimierten Schlüsseln gehört. Die Details stecken tief unter der Haube und erfordern etwas Lektüre, zB Andreas Buch „Mastering Bitcoin“ (2nd edition), das online verfügbar ist . Kapitel 4 und 5 sind relevant.

Ich bin mir nicht sicher, wie Bitpay seine Schlüssel erstellt, aber ich habe auch schon Privkeys in Electrum importiert. Solange ich mit komprimierten Schlüsseln in meiner Quell-Wallet arbeitete, zeigte Electrum dasselbe. Dies wird jedoch anders, wenn Sie Schlüssel aus bip39/44-Wallets extrahieren. Wenn ich mir ihre Website ansehe, denke ich, dass Bitpay nur eine Funktion zum Extrahieren eines erweiterten privaten Schlüssels hat, der sich sicherlich von einem "privaten Standardschlüssel" unterscheidet. Ein erweiterter privater Schlüssel wird in HD-Wallets verwendet, um eine Reihe von xpub-Schlüsseln zu generieren, die zB auf Websites verwendet werden können, um die Wiederverwendung von Schlüsseln zu vermeiden. Und je nachdem, wie der Seed implementiert ist, sind Wallets nicht immer miteinander kompatibel. Dies kann der Fall sein, warum Sie unterschiedliche Adressen sehen. Electrum verwendet [m/44'/0'/a'] als xpriv-Pfad für die Ableitung. Aber vielleicht gibt es einen Weg, suche nach samuelt33'Webseite hier .

Zu Standard-Privkeys und Pubkeys gibt es hier einen längeren Thread: Wie werden komprimierte PubKeys generiert?

"Ich denke, Bitpay hat nur eine Funktion, um einen erweiterten privaten Schlüssel zu extrahieren" Guter Fang!