Unterschied bitcoinadresse und public key

Hey all,

ich arbeite mich aktuell in die ganze Bitcoinmaterie ein und bin ziemlich begeistert von Konzept und den ganzen Möglichkeiten.

Da ich aber im Rahmen meiner Möglichkeiten (ich bin kein ITler) möglichst alles recht genau verstehen will, hier eine (vermutlich sehr einfache) Frage:

Aus dem private key wird der public key generiert. Aus dem public key lassen sich wiederum verschieden e Bitcoinandressen generieren. So weit habe ich das verstanden. Mir ist nur noch nicht ganz klar warum man die Bitcoinadressen braucht. Könnte man nicht auch einfach seinen public key preisgeben? Technisch wäre das doch möglich, oder? Nachteil wäre eben, dass recht schnell klar wäre wem der private key gehört. Aber dienen die verschiedenen Bitcoinadressen nur der „Verschleierung“ des private key? Das ganze hat ja – wenn ich es richtig verstehe – auch den Nachteil, dass meine Bitcoins nicht einer Adresse sondern mehreren Adressen zugeordnet sind. Will ich also alle BTC transferieren, muss ich etliche Transaktionen nebst Gebühren auslösen. Verstehe ich das richtig oder habe ich einen Denkfehler?

Danke euch!

Liebe Grüße,

C

Richtig!

Aus einem Public Key wird eine Adresse generiert. Vielleicht verwechselst du das mit dem Seed oder einem Extended Public Key. Aus diesen können mehrere Adressen abgeleitet werden.

Mir fallen dazu zwei Gründe ein:

  1. Eine Adresse bietet mehr Sicherheit. Wenn jemand deinen Public Key kennt, dann ist es „nur“ noch ein Schritt bis zum Private Key. ECDSA ist heute noch sehr sicher, könnte aber zu Quantencomputer-Zeiten durch den Shore-Algorithmus an Sicherheit verlieren. Rein theoretisch wäre auch heute schon möglich, dass jemand einen Weg findet ECDSA Public Keys zu Private Keys zurückzurechnen, es ist nur verdammt unwahrscheinlich.

Wenn man nun den ECDSA Public Key einfach nochmal mit anderen, alleine schon sehr sicheren Verfahren hasht, hat man die Sicherheit diversifiziert. Man müsste dann schon drei eigenständige Verfahren zurückrechnen können.

Eine Bitcoin Adresse entsteht durch zweifaches Hashen des Public Keys:
Adresse = RIPEMD-160(SHA-256(Public Key))

(die Adresse wird anschließend dann noch unabhängig von der Sicherheit zu verschiedenen Zwecken codiert)

Man hat mit ECDSA, SHA-256 und RIPEMD-160 alsdo drei Verfahren in Folge, die man heute noch nicht zurückrechnen kann. Die beiden letzteren gelten auch bisher als quantum-resistant.

  1. Durch das zweite Hashen mit dem RIPEMD-160 Algorithmus wird aus einer 256 Bit Zahl eine 160 Bit Zahl. Das schränkt den Adressraum (unbedeutend) ein, spart aber Platz bei Transaktionen auf der Blockchain.

Das ist wie gesagt wahrscheinlich eine Verwechslung.

2 „Gefällt mir“

Es kann ein Nachteil für die Transaktionskosten sein, ist aber aus Privacy Gesichtspunkten ein Vorteil.

Wenn du deine Coins so auf verschiedenen Adressen Verteilt hast, dass du viele Größen von Transaktionen mit jeweils möglichst wenig Inputs tätigen kannst, verknüpfst du auch weniger Informationen miteinander.

Diese Problematik wird unter dem Namen coin selection behandelt. Manche Wallets bieten manuelle Auswahl an, nach welchen Kriterien andere Wallets die Coins auswählen, weiß ich nicht.

1 „Gefällt mir“

Heißt das, dass meine Bitcoin in der Bitbox, die ich auf verschiedensten Adressen empfange habe, in der Blockchain nicht zusammen sind? oder kann durch den Private Key auf mehrere Adressen gleichzeitig zugegriffen werden?

Korrekt, genau das heißt das. Jede Adresse hat auch (etwas vereinfacht dargestellt) ihren eigenen Private Key.

Man kann die einzelnen Adressen nur in Verbindung bringen, wenn man in der Lage ist eine Verbindung zwischen den dorthin führenden Transaktionen herzustellen (z.B. alle die gleiche Ursprungsadresse).

2 „Gefällt mir“

Du musst dich mental von einem „Kontomodell“ verabschieden. Jede eingehende Bitcoin-Transaktion stellt eine eigene „Münze“ (UTXO) dar, egal ob diese immer auf dieselbe Adresse gehen, oder auf verschiedene.

Eine ausgehende Transaktion kann aber ohne weiteres wieder mehrre „Münzen“ zusammenfassen, auch egal ob von nur einer Adresse oder mehreren. Je mehr „Münzen“ zusammengefasst werden, destro grösser wird die Transaktion, und damit auch teurer.

Die Verwendung mehrerer Adressen ist nur für eine verbesserte Privatsphäre. Es entstehen dir ansonsten keine Nachteile, auch nicht bei Transaktionsgeühren.

5 „Gefällt mir“

Danke für die Antwort!
Gibt es Seiten, die solch eine Rückverfolgung ermöglichen?

Manuell zu einer Transaktion oder Adresse jeder Blockchain-Explorer.
Dieser stellt es bei einer Adresse auch graphisch ganz schön dar:

Eine durchgängige Rückverfolgung/Darstellung über mehrere Transaktionen/Adressen hinweg würde mich auch interessieren. Hat da jemand einen Tipp?

Warum entstehen nicht höhere Transaktionsgebühren, wenn die Transaktion teurer wird und mehr Münzen zusammengefasst werden? Übernimmt Shift-Crypto die Gebühren?

Doch, beim Zusammenfassen mehrere Münzen entstehen umso höhrere Transaktionsgebühren je mehr Münzen (UTXOs) zusammengefasst werden. Das hat Stadicus ja geschrieben.

Beim Versenden mehrerer Transaktionen z.B. auf eine eigene Wallet entstehen aber bei gleicher Anzahl Transaktionen nicht mehr Gebühren beim späteren Weitersenden, wenn diese ursprünglichen Transaktionen auf verschiedene Adressen gingen (im Vergleich zu immer auf die gleiche Adresse), weil die Anzahl der entstandenen UTXOs entscheidend ist.
Daher ist es aus Privatsphäregründen sinnvoll und nicht teurer, immer neue Adressen zu nehmen.

1 „Gefällt mir“