Bitcoin Forum

Local => Anfänger und Hilfe => Topic started by: ahamm on June 05, 2020, 04:06:19 PM



Title: xpub Key anhand von Empfangs-Adresse
Post by: ahamm on June 05, 2020, 04:06:19 PM
Hallo,

soweit ich verstanden habe, lassen sich anhand des xpub Keys zahlreiche BTC Empfangs-Adressen generieren.
Dabei frage ich mich, ob es anhand einer damit generierten Adresse auch umgekehrt möglich ist, den xpub Key zu ermitteln oder die dazugehörigen anderen mit dem xpub Key generierten Adressen zu finden.
Über die gängigen Blockchain Analyse Tools habe ich eine solche "Rückwärtssuche" bisher nicht gefunden; nur wenn der xpub Key bekannt ist, scheint dies möglich zu sein.
Ist das korrekt oder eine fehlerhafte Annahme?

Danke und schönen Gruß
Ahamm


Title: Re: xpub Key anhand von Empfangs-Adresse
Post by: Lakai01 on June 06, 2020, 06:34:27 AM
Hallo,

soweit ich verstanden habe, lassen sich anhand des xpub Keys zahlreiche BTC Empfangs-Adressen generieren.
Dabei frage ich mich, ob es anhand einer damit generierten Adresse auch umgekehrt möglich ist, den xpub Key zu ermitteln oder die dazugehörigen anderen mit dem xpub Key generierten Adressen zu finden.

Hi ahamm und willkommen im Forum!

Erstmal stimmt es was du sagst, es lassen sich von einem bestimmten Key (deinem Private Key)  unzählige Adressen generieren. Das Ganze funktioniert in etwa so:

https://i.postimg.cc/GhqXP9h1/screenshot-179.png (https://coinsutra.com/hd-wallets-deterministic-wallet/)
(Quelle ist im Bild hinterlegt)

Achtung: Stark vereinfacht, natürlich wird da nicht nur +1 dazugezählt, das ist etwas komplizierter :)

Prinzipiell basiert Bitcoin auf der Public Key Cryptography (https://en.wikipedia.org/wiki/Public-key_cryptography). Du bekommst bei solchen Verfahren also 2 Keys, einmal den Private Key, den du unbedingt unter Verschluss halten musst, und einmal den Public Key, den du frei verteilen kannst. Das Wichtigste hier ist zu wissen, dass man aufgrund des Public Keys den private Key nicht ermitteln kann.

Jede deiner Bitcoin-Adressen ist nun also von einem Public Key abgeleitet. Um die Public Keys zu generieren brauchst du aber den Private Key, das ist relativ unangenehm, wenn du diesen bspw. offline wegsichern willst, bspw. auf einem Hardware Wallet. Ein Extended Public Key ist nun nichts anderes als ein Private Key, welcher mit einem 32 Bit "Chain Code" quasi erweitert wird und nun zur Adressgenerierung verwendet wird. Das Prinzip bleibt aber ident, du kannst von einer Adresse, die über den xpub generiert wurde, nicht auf diesen zurückrechnen.

Mehr zum Thema findest du bspw. hier (https://sevdev.hu/posts/2016-11-16-working-with-bitcoin-hd-wallets.html).


Title: Re: xpub Key anhand von Empfangs-Adresse
Post by: bob123 on June 06, 2020, 11:36:50 AM
Die Generierung/Ableitung funktioniert nur in eine Richtung:

Allgemein: Private Key -> Public Key -> Adresse
Mit master keys: Seed -> Master private key -> Master public key

Und Adressen lassen sich entweder mithilfe des xpriv oder xpub generieren:
1) Master private key -> Child private key -> Child public key -> Adresse
2) Master public key -> Child public key -> Adresse

Rückwärts ist dies nicht möglich. Das heißt du kannst von einer Adresse, nicht auf den master public key schließen. Und dementsprechend kannst du auch nicht herausfinden ob unterschiedliche adressen vom selben xpub stammen.

Wichtig: Mithilfe des master public keys und eines child private keys lässt sich bei non-hardened derivation paths der master private key errechnen. Also bei einem sicheren Setup niemals einen private Key teilen.