Wie ist es möglich, dass derselbe private WIF-Schlüssel zwei verschiedene Adressen generiert?

Ich frage mich, ob Sie das erklären können.

Ich bin hierher gegangen: https://coinb.in/#newSegWit

Erstellt die SegWit-Adresse unten:

3ASaGJ8h2bLn6Jha3hncBzXUKRCLyfv9bk

RedeemScript

037fa484e4b870082298d6acca0702a48714323664c647604e6461d4739feb0d9b

Öffentlicher Schlüssel

00147a201aa7e1cfb799dcfc2b447a0238421ae2fa60

Privater Schlüssel (WIF-Schlüssel)

KzVonapu3Cf7DaMpaqkUQ9tpsBQPBH7Yk6tXJdvMwuJSy97GK7dc

Dann habe ich Electrum v3.1.3 geöffnet und WIF Pkey oben importiert.

Und ich habe stattdessen diese Adresse:

1C8ju39MFSPXNqtYDhsuB3Ek45L46dBr3G

Jetzt gibt es also zwei Adressen, eine SegWit (oder ich glaube P2SH) beginnend mit 3 ... und die Legacy-Adresse von Electrum beginnend mit 1 ...

Schätzen Sie eine Erklärung dazu.

fragen Sie, wie Adressen generiert werden, oder verstehen Sie nicht, warum es verschiedene Arten von Adressen gibt?
Ich möchte verstehen, wie es möglich ist, dass derselbe private WIF-Schlüssel zwei verschiedene Adressen generiert. Ich wusste, dass jede Adresse ihren einzigartigen privaten Schlüssel hat.
Hier gab es einen längeren Thread: bitcoin.stackexchange.com/questions/69315/… , der sich mit den WIF-Schlüsseln und den entsprechenden Privat- und Pubkeys befasst (obwohl kein P2SH beteiligt ist).

Antworten (4)

Derselbe private Schlüssel kann verwendet werden, um ein paar verschiedene Adressen abzuleiten. Beispielsweise wird eine andere Adresse generiert, je nachdem, ob Sie bei der Ableitung einen komprimierten oder unkomprimierten öffentlichen Schlüssel verwenden.

Relevanter für Ihre Frage ist, dass Sie einen privaten Schlüssel verwenden können, um eine P2SH-verpackte Segwit-Adresse ( 3ASaGJ..in Ihrem Beispiel) oder nur eine einfache alte P2PKH-Adresse ( 1C8ju3..in Ihrem Beispiel) abzuleiten. Beide Adressen können mit demselben privaten Schlüssel verwendet werden, da sie beide von demselben privaten Schlüssel abgeleitet sind.

Beachten Sie, dass Sie aufgrund möglicher zukünftiger Abwärtskompatibilitätsprobleme kein Wallet entwerfen sollten, um Segwit-Adressen mit einem unkomprimierten öffentlichen Schlüssel zu erstellen (verwenden Sie nur den komprimierten Schlüssel!).

Dieses Bild von der Bitcoin-Wiki-Adressseite hilft, diesen Punkt zu veranschaulichen:

Bitcoin-Adressableitungskarte

Vielen Dank für alle Antworten, ich denke, diese ist die ausführlichste.

Es gibt viele Arten von Adressen, siehe Bitcoin-Transaktion , jede kann für denselben Empfänger (Schlüsselpaar) erstellt werden. Zum Beispiel:

  • Pay to PubKey Hash (P2PKH) – Diese beginnen mit 1. Dies ist im Grunde nur ein Hash Ihres öffentlichen Schlüssels. Wenn Sie nachweisen können, dass Sie den öffentlichen Schlüssel besitzen, können Sie ihn ausgeben.
  • Pay to Script Hash (P2SH) – Diese beginnen mit 3. Dies ist ein Skript, bei dem Sie beweisen müssen, dass Sie es mit Ihrem privaten Schlüssel erfüllen können. Es gibt auch viele Arten von Skripten.

Sie sind nur unterschiedliche Möglichkeiten, Bitcoin für einen Empfänger zu sperren, aber bei allen muss der Empfänger den privaten Schlüssel verwenden, um die Sperre zu erfüllen, um die Bitcoin auszugeben.

Eine Übersicht der Adresstypen finden Sie unter: https://en.bitcoin.it/wiki/Address

Sie suchen nach P2SH, https://segwitaddress.org/ , scrollen Sie einfach nach unten und geben Sie Ihren komprimierten WIF-Schlüssel im Abschnitt „Details“ ein.

Weitere Informationen finden Sie unter https://iancoleman.io/bip39/

Auch BIP44, BIP49 und BIP 85 sind im Coinomi Wallet implementiert.

https://coinomi.freshdesk.com/support/solutions/articles/29000009746-what-are-default-compatibility-and-legacy-addresses-all-about-segwit-

Du meintest da BIP84. BIP85 ist ganz anders

Zuerst wird ein privater Schlüssel erstellt. Daraus wird dann ein öffentlicher Schlüssel generiert. Schließlich wird es in ein Format kodiert.

Siehe https://coinb.in/?verify=037fa484e4b870082298d6acca0702a48714323664c647604e6461d4739feb0d9b#verify