Privater Schlüssel und Adresse

Private keyist eine 32-Byte-Zahl.

Address (Hash)ist eine 20-Byte-Zahl.

Stimmt es, dass es viele gibt Private keys, die den gleichen 20-Byte-Hash haben?

AddressPS Anfahrt Private key:

Private key(32-Byte-Zahl, zufällig) --1--> 04+ Public key(64-Byte-Zahl, elliptischer Kurvenpunkt) --2--> Hash, Address(20-Byte-Zahl) --3--> AddressString (Base58-String).

  1. Elliptische Kurvenpunktmultiplikation
  2. SHA256, reifemd160
  3. Hex konvertiert in Base58

Antworten (2)

Ja, das ist wahr.

Um jedoch von einer Adresse zu einem entsprechenden privaten Schlüssel zu gelangen, ist immer noch ein undurchführbar großer Rechenaufwand erforderlich.

any corresponding
Ich verstehe deinen Kommentar nicht.
Is it true that there is many Private keys that have the same 20b hash (Address)?--> Yes, that is true.. Also was verstehst du nicht?
Warum meinst du mit deinem "jedenfalls entsprechenden" Kommentar?
Ich meine, richtiger ist a set of corresponding keysnatürlich zu sagen, wenn die These stimmt. Danke für die Hilfe
Was ich meine ist, dass Sie, um die Münzen von jemandem zu stehlen, einen privaten Schlüssel finden müssen, der seiner Adresse entspricht, und nicht unbedingt dem, den er verwendet hat. Einer reicht, man braucht nicht alle. Es ist jedoch immer noch undurchführbar viel Arbeit, nur einen zu finden.

hmmm, etwas verwirrend, vielleicht kann ich etwas klarstellen, das hilft auch anderen Lesern. Eine 32b-Nummer oder eine 20b-Nummer scheint keine genaue Beschreibung zu sein. Bytes werden als großes „B“ und Bits als unteres „b“ abgekürzt (IEC 80000-13, IEEE 1541). Ein 32b-Privkey wären 4 Bytes, das ist etwas zu kurz :-)

Ein Bitcoin-Privatschlüssel hat 32 Bytes (was eine 256-Bit-Zahl ist). Eine Bitcoin-Adresse ist eine Zeichenfolge von 26-34 Zeichen, um "menschenlesbarer" zu sein. Es wird auf folgende Weise aus dem privaten Schlüssel abgeleitet:

privkey --> public key --> sha256 --> ricemd160 (hier haben wir tatsächlich 20 Bytes) --> + network Byte --> double sha256 --> +chksum --> +Bytes reordering --> base58 encoding. Das liest sich komplexer als es eigentlich ist, eine gute Übersicht hier:http://gobittest.appspot.com/Address

Ihre letzte Frage ist also etwas knifflig:

Stimmt es, dass es viele private Schlüssel gibt, die denselben 20b-Hash (Adresse) haben?

Im Allgemeinen besteht die Idee des Hashings darin, dass Sie eine Zeichenfolge in die Funktion eingeben und eine Ausgabe mit fester Länge zurückgeben. Wenn Sie ein einzelnes Bit in dieser Zeichenfolge ändern, gibt das Ergebnis ein völlig anderes zurück. Und wie Pieter sagte, ist es fast unmöglich, vom Ausgang zum Eingang zu wechseln. Wenn Sie also fragen:

  • ob Sie dieselbe Adresse (oder denselben öffentlichen Schlüssel) aus verschiedenen privaten Schlüsseln generieren können? --> nein (bis heute gab es keinen Beweis dafür, aber es gibt Projekte auf dem Weg, "Kollisionen" zu finden)

  • wenn alle privaten Schlüssel (Bitcoin-)Adressen mit der gleichen Länge generieren? --> nein, Adressen haben eine Länge von 26-34 Bytes.

  • wenn alle priv key die gleiche Länge von Pubkeys erzeugen (und gehashte 20Bytes lang sind), woraus dann die Bitcoin-Adresse generiert wird? -> ja