Bitcoin Forum

Local => Anfänger und Hilfe => Topic started by: onkelpatte on April 06, 2013, 11:37:21 AM



Title: Fragen zur Beziehung Private <-> Public Key
Post by: onkelpatte on April 06, 2013, 11:37:21 AM
Hallo zusammen!

Ich habe noch einige Fragen zum Private Key und hoffe ihr könnt mir weiterhelfen. Einfach ja/nein würde mir schon weiterhelfen ;)

Folgendes:
- Sehe ich das richtig, dass jede Bitcoin Adresse (also die öffentlichen zum weitergeben) in meiner wallet einen eigenen "private key" hat?
- kann ein private key mehrere public-Adressen haben?
- soweit ich das verstanden habe, hat ja jede Adresse einen eindeutigen private key. Ist sichergestellt das sich aus verschiedenen private keys nicht "zufällig" mal eine gleiche öffentliche Adresse bildet?

Mit freundlichen Grüßen
Onkelpatte


Title: Re: Fragen zur Beziehung Private <-> Public Key
Post by: candoo on April 06, 2013, 11:40:07 AM
Hallo zusammen!

Ich habe noch einige Fragen zum Private Key und hoffe ihr könnt mir weiterhelfen. Einfach ja/nein würde mir schon weiterhelfen ;)

Folgendes:
- Sehe ich das richtig, dass jede Bitcoin Adresse (also die öffentlichen zum weitergeben) in meiner wallet einen eigenen "private key" hat?
- kann ein private key mehrere public-Adressen haben?
- soweit ich das verstanden habe, hat ja jede Adresse einen eindeutigen private key. Ist sichergestellt das sich aus verschiedenen private keys nicht "zufällig" mal eine gleiche öffentliche Adresse bildet?

Mit freundlichen Grüßen
Onkelpatte

1 Adresse = 1 private key
1 private key = 1 adresse


1 Private key  hat immer nur 1 adresse


Title: Re: Fragen zur Beziehung Private <-> Public Key
Post by: fornit on April 06, 2013, 12:06:26 PM
das ist so nicht richtig. normalerweise stellt es sich für den nutzer so dar, als würden adresse und private key ein untrennbares paar bilden. tatsächlich ist die zuordnung weder in die eine noch in die andere richtung eindeutig.

unterschiedliche private keys können gleiche adressen erzeugen, die wahrscheinlichkeit ist aber so gering, dass sie keine rolle spielt. (müsste der wahrscheinlichkeit einer hashkollision in ripemd-160 entsprechen, genauen wert kannst du selber nachgucken  :P)
außerdem kann ein private key auch mehrere adressen haben. die adresse wird über den umweg des public keys erzeugt, bei bitcoin-qt wurden beispielsweise zwischenzeitig komprimierte public keys eingeführt, um platz in der blockchain zu sparen. beim komprimieren ändert sich aber der hash und damit die zugehörige adresse. es gab schon fälle, wo nach irgendwelchen adress-import-export-exzessen bitcoin-qt anschließend von der falschen adresse ausgegegangen ist und walletinhalte dann nicht mehr korrekt angezeigt wurden.


Title: Re: Fragen zur Beziehung Private <-> Public Key
Post by: candoo on April 06, 2013, 12:09:02 PM
das ist so nicht richtig. normalerweise stellt es sich für den nutzer so dar, als würden adresse und private key ein untrennbares paar bilden. tatsächlich ist die zuordnung weder in die eine noch in die andere richtung eindeutig.

unterschiedliche private keys können gleiche adressen erzeugen, die wahrscheinlichkeit ist aber so gering, dass sie keine rolle spielt. (müsste der wahrscheinlichkeit einer hashkollision in ripemd-160 entsprechen, genauen wert kannst du selber nachgucken  :P)
außerdem kann ein private key auch mehrere adressen haben. die adresse wird über den umweg des public keys erzeugt, bei bitcoin-qt wurden beispielsweise zwischenzeitig komprimierte public keys eingeführt, um platz in der blockchain zu sparen. beim komprimieren ändert sich aber der hash und damit die zugehörige adresse. es gab schon fälle, wo nach irgendwelchen adress-import-export-exzessen bitcoin-qt anschließend von der falschen adresse ausgegegangen ist und walletinhalte dann nicht mehr korrekt angezeigt wurden.


Wie kann ein private key denn mehrere Adressen haben? Wenn ich mein private key irgendwo importiere kommt ja auch nur eine adresse bei raus


Title: Re: Fragen zur Beziehung Private <-> Public Key
Post by: fornit on April 06, 2013, 12:20:25 PM
Wie kann ein private key denn mehrere Adressen haben? Wenn ich mein private key irgendwo importiere kommt ja auch nur eine adresse bei raus

wenn du deinen private key irgendwo importierst, ohne zu wissen, ob der public key komprimiert oder unkomprimiert war, kommt evtl. die andere, "falsche" adresse dabei raus.


Title: Re: Fragen zur Beziehung Private <-> Public Key
Post by: candoo on April 06, 2013, 12:34:59 PM
Wie kann ein private key denn mehrere Adressen haben? Wenn ich mein private key irgendwo importiere kommt ja auch nur eine adresse bei raus

wenn du deinen private key irgendwo importierst, ohne zu wissen, ob der public key komprimiert oder unkomprimiert war, kommt evtl. die andere, "falsche" adresse dabei raus.

Wie & Wo?

Wenn ich mir bei Bitadress eine adresse erstelle und den private key irgendwo eingebe erhalte ich immer die gleiche öffentliche adresse.

Beispiel:

Bitcoin Address:
17fvnCG3pY35XL9rFvSSoEKEDuoDHesw5F
Private Key (Wallet Import Format):
5KTh19mkG2w85QWZRawRntfaURp7qBcVf5jE8AATdvXzKVkfzht

Zeig mir jetzt mal wie & Wo ich durch den  identischen Private Key eine andere Bitcoin Adresse rausbekomme


Title: Re: Fragen zur Beziehung Private <-> Public Key
Post by: fornit on April 06, 2013, 01:40:59 PM
beispiel: https://github.com/spesmilo/electrum/issues/27


Title: Re: Fragen zur Beziehung Private <-> Public Key
Post by: candoo on April 06, 2013, 01:42:04 PM
beispiel: https://github.com/spesmilo/electrum/issues/27

Bitcoin Address:
17fvnCG3pY35XL9rFvSSoEKEDuoDHesw5F
Private Key (Wallet Import Format):
5KTh19mkG2w85QWZRawRntfaURp7qBcVf5jE8AATdvXzKVkfzht

Wenn du es schaffst mit dem Private Key eine zweite Bitcoin Adresse zu erstellen, gebe ich dir 1000€



Title: Re: Fragen zur Beziehung Private <-> Public Key
Post by: lame.duck on April 06, 2013, 01:50:14 PM
Wenn du es schaffst mit dem Private Key eine zweite Bitcoin Adresse zu erstellen, gebe ich dir 1000€

Wenn ich das schaffe geben mir noch ganz andere Leute  ganz andere (viel viel größere) Summen. Bzw. wären die vermutlich auch schon mit dem ersten  private key zu einem gegebenen public key zufrieden.

mathematisch ist nämlich private key > public key ganz einfach und
public key -> private key bislang nur durch probieren bei einem technisch nicht zu beherschenden Suchraum möglich.


Title: Re: Fragen zur Beziehung Private <-> Public Key
Post by: pro on April 06, 2013, 02:47:06 PM
über sowas in die richtung hab ich mir auch schon gedanken gemacht.

ist es nicht möglich in ferner zukunft mit neuen chiptechnologien und viel mehr rechn leistung die umkehr public---->privat-key zu errechnen bzw möglich zu machen.

denke mir jetzt ist der algorithmus sicher, aber keiner kann wissen was in 5-10 jahren nocht so alles am markt kommt.

alleine die ankündigung,dass irgendwann einmal sowas möglich ist, könnte das ganze system zu fall bringen.



Title: Re: Fragen zur Beziehung Private <-> Public Key
Post by: lame.duck on April 06, 2013, 03:27:24 PM
über sowas in die richtung hab ich mir auch schon gedanken gemacht.

ist es nicht möglich in ferner zukunft mit neuen chiptechnologien und viel mehr rechn leistung die umkehr public---->privat-key zu errechnen bzw möglich zu machen.

denke mir jetzt ist der algorithmus sicher, aber keiner kann wissen was in 5-10 jahren nocht so alles am markt kommt.

alleine die ankündigung,dass irgendwann einmal sowas möglich ist, könnte das ganze system zu fall bringen.

Nein, nicht unbedingt, Du kannst zu selchen Problemen theoretische Mindestnergien annehmen die  zur Speicherung eines Bits erforderlich sind/ Energieumsätze die bei einer Operation stattfinden und diese dann mit der Gesamtzahl der Operationen multilplizieren und kommst dann auf Werte die mit der Gesamtenergei  des bekannten Universums nicht ausführbar sind.

Wenn derartige Algorithmen angegriffen werden über eine Verringerung des Suchraums.

Im übrigen gab es vor ein paar Tagen auf heise.de einen Bericht über theoretische Überlegungen zum Angriff auf brainwallets, dort Worte, Wortkombinationen, 'Leetspeak' oder auch die Erstbuchstaben aus irgendwelchen Sätzen als 'Testmuster' zu nehmen, ggf. ergänzt um abgeleitete Suchmuster mit einer niedrigen Levenshteindistanz.


Title: Re: Fragen zur Beziehung Private <-> Public Key
Post by: fornit on April 06, 2013, 05:01:15 PM
beispiel: https://github.com/spesmilo/electrum/issues/27

Bitcoin Address:
17fvnCG3pY35XL9rFvSSoEKEDuoDHesw5F
Private Key (Wallet Import Format):
5KTh19mkG2w85QWZRawRntfaURp7qBcVf5jE8AATdvXzKVkfzht

Wenn du es schaffst mit dem Private Key eine zweite Bitcoin Adresse zu erstellen, gebe ich dir 1000€

so, die importier ich jetzt in ein blockchain.info wallet. da kriegt man dann unter "export unencrypted" folgende ausgabe:
Quote
   {"addr" : "17fvnCG3pY35XL9rFvSSoEKEDuoDHesw5F",
    "priv" : "FacopAA6v9N5o9U95HVBhGdbqJWrpUGjBq1K5D61YEYm"}
   ]

da sieht man dann schonmal, wie der private key tatsächlich aussieht. das wallet import format enthält zusätzlich informationen, die angeben, dass der key uncompressed ist. das sieht man schon an der "5" am anfang.

dann nehm ich den private key - immer noch im wallet import format - paste ihn bei brainwallet.org rein, wechsel auf compressed, importier den key im wallet import format, den ich da rauskriege, wiederum bei blockchain.info.

ergebnis sieht so aus:

http://imageshack.us/a/img819/7985/keyfinal.png

wie du siehst, zwei mal der gleiche private key, zwei verschiedene adressen.
und danke für die großzügige bounty. 1000€ kann ich gerade ganz gut gebrauchen  :)

edit: ach, ganz vergessen. falls du doch lieber in bitcoin zahlst: 1MqUMujuZp5bWhjYbGAhJqPVNSMdmxSZuM


 


Title: Re: Fragen zur Beziehung Private <-> Public Key
Post by: Bernd33-1 on April 06, 2013, 05:06:51 PM
 ;D ;D ;D


Title: Re: Fragen zur Beziehung Private <-> Public Key
Post by: candoo on April 06, 2013, 05:21:50 PM
Wenn ich "FacopAA6v9N5o9U95HVBhGdbqJWrpUGjBq1K5D61YEYm" oder "5KTh19mkG2w85QWZRawRntfaURp7qBcVf5jE8AATdvXzKVkfzht"

importiere erhalte ich als Adresse jedesmal -> 17fvnCG3pY35XL9rFvSSoEKEDuoDHesw5F



Title: Re: Fragen zur Beziehung Private <-> Public Key
Post by: fornit on April 06, 2013, 05:30:04 PM
"5KTh19mkG2w85QWZRawRntfaURp7qBcVf5jE8AATdvXzKVkfzht" enthält wie gesagt die information, dass der key uncompressed ist. dass ""FacopAA6v9N5o9U95HVBhGdbqJWrpUGjBq1K5D61YEYm" auch gleich als diese adresse interpretiert wird, ist eigentlich voreilig und führt bei frisch generierten keys von neueren clients zu einer falschen adresse.


Title: Re: Fragen zur Beziehung Private <-> Public Key
Post by: yxt on April 06, 2013, 07:30:03 PM
Coins die auf der 14H.... Adresse landen lassen sich mit dem falsch interpretierten Schlüssel auch nutzen?


Title: Re: Fragen zur Beziehung Private <-> Public Key
Post by: fornit on April 06, 2013, 07:52:02 PM
Coins die auf der 14H.... Adresse landen lassen sich mit dem falsch interpretierten Schlüssel auch nutzen?

bin gerade nicht sicher, ob ich die frage richtig verstehe. prinzipiell kann man beide adressen gleichzeitig nutzen, bei meinen blockchain.info wallet wäre das jetzt z.b. der fall.



ach candoo, da du im nachhinein dein post editiert hast, fühle ich mich wohl doch genötigt, den scammer-tag zu beantragen. geht mir gar nicht um die 1000€, mir war eigentlich schon vorher klar, dass du die aussage wohl einfach nur mal so rausgegehauen hast. aber die reaktion finde ich dann eben doch schon sehr fragwürdig, gerade für jemanden, dem andere leute etliche tausend euro anvertrauen.


Title: Re: Fragen zur Beziehung Private <-> Public Key
Post by: candoo on April 06, 2013, 07:56:41 PM
Coins die auf der 14H.... Adresse landen lassen sich mit dem falsch interpretierten Schlüssel auch nutzen?

bin gerade nicht sicher, ob ich die frage richtig verstehe. prinzipiell kann man beide adressen gleichzeitig nutzen, bei meinen blockchain.info wallet wäre das jetzt z.b. der fall.



ach candoo, da du im nachhinein dein post editiert hast, fühle ich mich wohl doch genötigt, den scammer-tag zu beantragen. geht mir gar nicht um die 1000€, mir war eigentlich schon vorher klar, dass du die aussage wohl einfach nur mal so rausgegehauen hast. aber die reaktion finde ich dann eben doch schon sehr fragwürdig, gerade für jemanden, dem andere leute etliche tausend euro anvertrauen.

Hab ich wieder reingemacht. Aber durch die kompression liegt meiner Meinung nach nur eine Fehlinterpretation von blockchain.info da oder nicht?

Selbst wenn ich im Client den privatekey importiere - erhalte ich immer nur die erste Adresse?

Edit

Quote
Bitcoin Address:
17fvnCG3pY35XL9rFvSSoEKEDuoDHesw5F
Private Key (Wallet Import Format):
5KTh19mkG2w85QWZRawRntfaURp7qBcVf5jE8AATdvXzKVkfzht

Wenn du es schaffst mit dem Private Key eine zweite Bitcoin Adresse zu erstellen, gebe ich dir 1000€

Bisher habe ich noch nicht gesehen dass du den Key "5KTh19mkG2w85QWZRawRntfaURp7qBcVf5jE8AATdvXzKVkfzht" benutzt hast. Es ist dir nur mit dem Key FacopAA6v9N5o9U95HVBhGdbqJWrpUGjBq1K5D61YEYm gelungen. :*


Title: Re: Fragen zur Beziehung Private <-> Public Key
Post by: fornit on April 06, 2013, 08:07:52 PM
natürlich kann man das eine fehlinterpretation nennen. gerade um das zu vermeiden, benutzt man ja normalerweise auch nicht den private key direkt, sondern das wallet import format. letztlich muss aber immer irgendwo mitgespeichert werden, ob der private key nun einen komprimierten public key hat oder nicht. der private key alleine ist nicht eindeutig. letztlich wurde mit den compressed public keys die eindeutigkeit private key -> adresse aufgegeben.


Title: Re: Fragen zur Beziehung Private <-> Public Key
Post by: candoo on April 06, 2013, 08:11:28 PM
Der Fehler entsteht als nur wenn man FacopAA6v9N5o9U95HVBhGdbqJWrpUGjBq1K5D61YEYm  anstatt von 5KTh19mkG2w85QWZRawRntfaURp7qBcVf5jE8AATdvXzKVkfzht nutzt stimmts?


Title: Re: Fragen zur Beziehung Private <-> Public Key
Post by: fornit on April 06, 2013, 09:14:29 PM
Edit

Quote
Bitcoin Address:
17fvnCG3pY35XL9rFvSSoEKEDuoDHesw5F
Private Key (Wallet Import Format):
5KTh19mkG2w85QWZRawRntfaURp7qBcVf5jE8AATdvXzKVkfzht

Wenn du es schaffst mit dem Private Key eine zweite Bitcoin Adresse zu erstellen, gebe ich dir 1000€

Bisher habe ich noch nicht gesehen dass du den Key "5KTh19mkG2w85QWZRawRntfaURp7qBcVf5jE8AATdvXzKVkfzht" benutzt hast. Es ist dir nur mit dem Key FacopAA6v9N5o9U95HVBhGdbqJWrpUGjBq1K5D61YEYm gelungen. :*

ähm ja. das ist der gleiche key, bloss in einem anderen format.
aber du kannst ruhig aufhören, dich zu winden. ich werde dem geld nicht hinterherlaufen. bei mir bist du damit halt komplett unten durch. solche sprüche bringt man einfach nicht, wenn man nicht auch in der lage ist, im zweifelsfall auch dafür gerade zu stehen.


Title: Re: Fragen zur Beziehung Private <-> Public Key
Post by: candoo on April 06, 2013, 09:16:08 PM
Nein, du konntest mit 5KTh19mkG2w85QWZRawRntfaURp7qBcVf5jE8AATdvXzKVkfzht keine zweite Adresse erzeugen.

Es ging nur den Private Key in ein anderes Format zu bringen und bedingt durch den "Fehler" im Format lässt sich eine Zweite Adresse erzeugen.

Denn "5KTh19mkG2w85QWZRawRntfaURp7qBcVf5jE8AATdvXzKVkfzht" speichert zeitgleich die information, wie die private adress dazu  aussieht.


Title: Re: Fragen zur Beziehung Private <-> Public Key
Post by: fornit on April 06, 2013, 09:56:59 PM
aber du kannst ruhig aufhören, dich zu winden.

wenn man weiss, was der private key und was das wallet import format ist, gibts da eigentlich nicht viel zu deuteln.
https://en.bitcoin.it/wiki/Wallet_import_format


Title: Re: Fragen zur Beziehung Private <-> Public Key
Post by: yxt on April 08, 2013, 08:11:29 AM
@fornit
Wollte wissen ob des tatsächlich funktioniert coins von der Adresse zu senden...

@candoo
irgendwie schlechter Stil...

------------------------------

Quote
Transaction Details

Transaction ID:
9a7994b7cc564d2cf0fa48d12c732f4ceb3153f5f8250c3f4c3bed2601b85c17

Status: 100 confirmations
Amount sent:    -0.00001  
Transaction fee: unknown
Date: 2013-04-07 19:40

Inputs:
-17fvnCG3pY35XL9rFvSSoEKEDuoDHesw5F

Outputs:
-18Yxev6BStHddqKE6seaphkErfinpwquWc

hahaha
wer hat die sich jetzt geschnappt?