Author

Topic: Private Key/Public Key/Bitcoin Adresse (Read 2414 times)

hero member
Activity: 707
Merit: 500
May 31, 2016, 01:47:45 AM
#5
Ein Punkt ist noch, dass in einer eingehenden Transaktion nur die Bitcoin Adresse steht. Der public key wird erst öffentlich, wenn man eine Transaktion macht um die btc auszugeben.
Das bedeutet selbst falls sich irgendwann rausstellen sollte, dass es doch möglich ist, vom public key zum private key zu kommen (gefundene Fehler in der krypto, Quantum computing) wären Bitcoin (relativ) sicher, solange man jede Adresse nur einmal verwendet und die hash Algorithmen intakt sind.

Das ist aber momentan für die Praxis nicht relevant.
jr. member
Activity: 68
Merit: 1
habe nun ein wenig weiter recherchiert - ist es richtig dass...

die Bitcoin Adresse eigentlich nicht notwendig wäre - das ganze würde auch allein mit dem Public Key funktionieren.
Die Bitcoin Adresse dient nur dazu:
1.) um sicherzustellen dass es eine gültige Adresse ist (sie wird zuerst in einem Hash transformiert anschließend wird eine Checksum eingetragen)
damit sind Tippfehler oder ähnliches ausgeschlossen
das beudeutet aber wenn man "zufällig" eine gültige erwischt kann man dennoch an eine nicht vorhandene Adresse Bitcoins übermitteln  - diese sind aber für immer verloren...

2.) um die lesbarkeit zu verbessen
der Hash wird wird durch eine Base58Check durchgejagt damit 0,O,I und i entfernt werden.

Ist dies korrekt - oder fehlt hier noch etwas?


jr. member
Activity: 68
Merit: 1
Hier steht:
A Bitcoin address is a 160-bit hash of the public portion of a public/private ECDSA keypair.
https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses
Das heißt meine Bitcoin Adresse ist ein Hash Code der auf Basis des Public Keys generiert wird (eine verkürzte/vereinfachte Darstellung des öffentlichen Schlüssels)

Warum wird diese Transformation vom Public Key durchgeführt?
2 - Perform SHA-256 hashing on the public key
3 - Perform RIPEMD-160 hashing on the result of SHA-256
4 - Add version byte in front of RIPEMD-160 hash (0x00 for Main Network)
5 - Perform SHA-256 hash on the extended RIPEMD-160 result
6 - Perform SHA-256 hash on the result of the previous SHA-256 hash
7 - Take the first 4 bytes of the second SHA-256 hash. This is the address checksum
8 - Add the 4 checksum bytes from stage 7 at the end of extended RIPEMD-160 hash from stage 4. This is the 25-byte binary Bitcoin Address.
9 - Convert the result from a byte string into a base58 string using Base58Check encoding. This is the most commonly used Bitcoin Address format

thx
sr. member
Activity: 424
Merit: 343
Was genau meinst Du mit Nachrichten?

Wenn es um das senden und empfangen von Geld geht gibt es nur den Public und Private Key.
Der Public Key ist Deine Bitcoin Adresse auf dem Du Geld empfangen kannst und das Saldo prüfen kannst.
jr. member
Activity: 68
Merit: 1
Hallo,

Ich habe eine Verständnisfrage zu den Adressen. Warum werden für Bitcoin 3 Adressen benötigt?

Mir ist klar dass es einen Public Key gibt den ich weitergeben kann und mit Hilfe dessen meine Nachrichten verfiziert werden können.
Den Private Key benötige ich um meine Nachrichten zu verschlüsseln.
Das Schlüsselpaar wird nach diesem Algo generiert: https://en.bitcoin.it/wiki/Elliptic_Curve_Digital_Signature_Algorithm.

Aber warum wird dann noch ein weiterer Schritt durchgeführt? Warum verwende ich nicht einfach meinen Public Key um die send to Adresse zu definiere?
Und wie wird dieser Schlüssel generiert (nicht technisch sondern fachlich wäre für mich interessant warum ist hier eine weiter Transformation notwendig ist)?


Thx
Jump to: