Warum sendet Bitcoin die „Änderung“ an eine andere Adresse?

Zum Beispiel habe ich eine Adresse (A) mit 20 BTC und sende 9 BTC an Adresse (B). Bitcoin erstellt einen „Wechsel“-Teil der Transaktion, wo die verbleibenden 11 BTC an Adresse (C) gehen.

Warum nicht das Wechselgeld an A zurücksenden?

Anstatt von:

Initial balance: 
A: 20 BTC 
B: 0 BTC 
C: 0 BTC

Transaction Pair: 
A -> B 9 BTC 
A -> C 11 BTC

End result 
A: 0 BTC 
B: 9 BTC 
C: 11 BTC

Warum nicht?

Initial balance:
A: 20 BTC
B: 0 BTC

Transaction Pair:
A -> B 9 BTC
A -> A 11 BTC

End result
A: 11 BTC
B: 9 BTC
und gibt es eine Option im Client, dies auszuschalten (dh an die ursprüngliche Adresse zurückzusenden)?
Ich habe einen „noprivacy“-Zweig unter github.com/gavinandresen/bitcoin-git , der Änderungen an die Finanzierungsadresse zurücksendet, aber er bringt den Code „accounts“ durcheinander und sorgt für verwirrend aussehende Transaktionslisten.
Gibt es eine Lösung als? Ich würde es auch vorziehen, wenn die Änderung zurück zur ursprünglichen Adresse kommt.

Antworten (3)

Zwei Gründe:

  1. Wer auch immer an Ihre „A“-Adresse gesendet hat, kann nicht behaupten, Ihnen 31 Bitcoins gesendet zu haben („Sehen Sie! Schauen Sie im Block-Explorer, es gibt zwei Transaktionen, die an „A“ gesendet werden, eine für 20 Bitcoins und eine für 11 – senden Sie mir zurück die zusätzliche 11!")

  2. Die Verwendung einer neuen Änderungsadresse erschwert es anderen Personen, nachzuvollziehen, wie viele Bitcoins Sie haben oder wofür Sie sie ausgeben.

Es verschleiert auch , welcher Output das „Ausgaben“ und welches das „Wechselgeld“ ist.
Die Verhinderung falscher Behauptungen wäre von zweifelhaftem Wert. Transaktionen sind sowieso irreversibel und die Transaktion zeigt deutlich an, dass die Münzen von A nach A gegangen sind. Der zweite Teil Ihrer Antwort plus die Klarstellung von David scheint höchstwahrscheinlich rational zu sein.
Wenn Sie das Wechselgeld an einen anderen Ort senden, sieht es so aus, als würden Sie Ihr gesamtes Guthaben ausgeben, was nicht der Fall ist. Dies kann für Anfänger sehr verwirrend sein. Ich denke, dies sollte eine Opt-in-Option für den Standardclient sein.
Ich denke auch, dass getrennte Änderungsadressen ein sehr schlechtes "Feature" sind. Das Zurücksenden an dieselbe Adresse würde verhindern, dass Paper Wallets veraltet sind, wenn ein Teil davon ausgegeben wird. Verschleierung des Zahlungsflusses soll auch nicht Teil des „offiziellen“ Bitcoin-Clients sein. Das Hauptbuch einfach zu halten, würde Bitcoin mehr Legitimität verleihen.
@DeathAndTaxes, also ist Gavins erster Punkt im Grunde falsch/ungültig?
Ich stimme @Steven Roose zu. Look this address: blockchain.info/address/175fTMj3sNZANncHTGEGw4SAims14ZDxNX I sent 5 mBTC from 175fTMj3sNZANncHTGEGw4SAims14ZDxNX to 1JGZbBj5iuxzskxAxRmoQgKZXoDehGEA6r and then my client creates an address 15taCtq1Mj76wuweVjnvrmKxSt3gKMVXqJ to receive the left 0.8 mBTC. Aber mein Client zeigt nur zwei Adressen: 1GzeYtD8KGVw7LmWCtsQ7wMX3Me7KUBwna und 175fTMj3sNZANncHTGEGw4SAims14ZDxNX. Beide mit Nullsaldo. Aber mein Bitcoin-qt zeigt, dass ich 0,8 mBTC Guthaben habe. Es ist sehr seltsam und verwirrend.
Sehen Sie sich das auch an: bitzuma.com/posts/… Es ist schwer für den Endbenutzer. Ich bevorzuge wie früher.
@DeathAndTaxes, meinst du, dass es vorteilhafter wäre, nur ein Ziel zu haben, wenn wir eine neue Münze erfinden, die keinen "Verschleierungsvorteil" benötigt?
@ Pacerier, ich hoffe es! :) Dieses Security-through-Obscurity-Argument sieht unglaublich albern aus. Aber es scheint immer noch nicht trivial zu beweisen, dass man der Absender einer tx ist. (insbesondere mit mehreren Eingängen); siehe zB bitcoin.stackexchange.com/questions/18502/…

Während die anderen Antworten leicht wahr sind, gibt es einen anderen Grund. Adressen, die ausgegeben wurden, sind von Natur aus weniger sicher als nicht ausgegebene Adressen. Dies liegt daran, dass Sie bei Ausgaben für eine Adresse den öffentlichen Schlüssel zu der Adresse preisgeben. Das bedeutet, dass Sie, um diese Gelder zu stehlen, nur den privaten Schlüssel finden müssen, während Sie normalerweise den Hash brechen und den privaten Schlüssel finden müssten.

Diese beiden Aufgaben sind extrem schwierig, daher ist es im Moment kein großes Problem, wenn Sie an verbrauchte Adressen senden. Das Problem stellt sich beim theoretischen Quantencomputer. ECDSA, die Technologie, die Ihren privaten Schlüssel sichert, ist für Quantencomputer extrem einfach rückgängig zu machen. Der Hasch ist es nicht. Wenn Quantencomputer populär werden, werden die verwendeten Adressen daher exponentiell weniger sicher.

Weitere Informationen unter https://bitcoin.stackexchange.com/a/7134/11666

Auch: https://bitcointalk.org/index.php?topic=153302.0

Im BitcoinTalk-Beitrag ist die Besorgnis darüber, dass Hacker Transaktionen zwischen der Übertragung und der Aufnahme in Blöcke knacken, begründet. Glücklicherweise schließen ehrliche Miner die erste Transaktion unabhängig von der Gebühr zuerst ein, sodass der Angriff vereitelt wird. Dem steht auch entgegen, dass es noch einige Zeit dauern würde, den öffentlichen Schlüssel zu knacken.

Warum glauben Sie, dass das Brechen eines Schlüsselpaares einfacher ist als das Brechen eines Krypto-Hashes?
@Basic, da der öffentliche Schlüssel aus dem privaten Schlüssel über den SHA256-Algorithmus generiert wird, der für Quantencomputerangriffe anfällig ist. Während die Bitcoin-Adresse aus dem Publik-Schlüssel generiert wird, indem sowohl SHA256- als auch RIPEMD160-Algorithmen verwendet werden, müssen potenzielle Hacker zwei verschiedene Verschlüsselungen angreifen.
@Sulevus Wenn Sie etwas mehrmals verschlüsseln/hashen, wird es nicht unbedingt sicherer ... Es hängt ganz davon ab, wie die beiden Systeme die Entropie über mehrere Vorgänge hinweg bewahren.

Die Idee der Änderungsadressen ist ein Versuch, Transaktionen zu anonymisieren. Leider sind Bitcoin-Transaktionen nicht anonym, auch nicht bei Verwendung von Änderungsadressen:

Wenn Sie eine Brieftasche haben, die mit Änderungsadressen gefüllt ist, werden Transaktionen gezwungen, einige dieser Änderungsadressen zu verwenden, um Transaktionen zu füllen, die Sie durchführen möchten. Die Tatsache, dass der Empfänger derselbe ist und dass der Zeitpunkt der Transaktion derselbe ist, bedeutet, dass ein externer Beobachter ein hohes Vertrauen haben wird, dass diese Adressen derselben Person gehören. Wenn alle diese Adressen nur Bitcoins von einer einzigen Adresse erhalten haben, ist es sehr klar, dass es sich um Wechseladressen für diese Adresse handelt.

Das bedeutet, dass Ihre Adressen bei der Verwendung deanonymisiert werden. Dies macht Ihre Privatsphäre im Grunde wertlos, da jeder ein paar Jahre zurückblicken und alle sehen kann, von denen Sie Geld bezahlt oder erhalten haben.

Dies ist nicht unbedingt eine schlechte Sache, da die Rückverfolgbarkeit von Transaktionen es den Regierungen erschweren wird, den Kampf gegen die Einführung von Bitcoins zu rechtfertigen.

Während Sie mit Änderungsadressen für kurze Zeit ein kleines bisschen Privatsphäre gewinnen können, gibt es einen RIESIGEN Nachteil: Es macht die Sicherung Ihres Geldes unlösbar. Wenn Sie eine Adresse sichern möchten, können Sie das ganz einfach tun. Verschlüsseln Sie einfach Ihre Wallet und kopieren Sie sie auf verschiedene Geräte (Ihr Telefon, externe Festplatte, USB-Laufwerk, Papier-Wallet usw.). Wenn jedoch Änderungsadressen verwendet werden, müssen Sie jedes Mal, wenn Sie eine Transaktion durchführen, in alle Ihre Backups kopieren (so schmerzhaft wie das Drucken einer neuen Papiergeldbörse) . Das ist unlösbar.

Diese Hartnäckigkeit ist meiner Meinung nach ein RIESIGES Problem für Bitcoins. Die Menschen brauchen eine sichere Möglichkeit, „ihre eigene Bank“ zu sein, und Adressenwechsel machen Bitcoins für die meisten Menschen kaputt.

UPDATE: Deterministische Brieftaschen lösen dieses Problem etwas, indem sie es Ihnen ermöglichen, alle potenziellen Adressen der Brieftasche aus einem einzigen Seed-Wert zu bestimmen. Auf diese Weise können Sie einmal sichern und zu einem späteren Zeitpunkt wiederherstellen, indem Sie den Seed verwenden, um Adressen zu generieren und zu überprüfen, bis Sie sicher sind, dass Sie keine anderen als die von Ihnen überprüften verwendet haben. Armory, Electrum und CarbonWallet verwenden alle deterministische Wallets.

Ich mag diese Antwort wirklich, aber es scheint, als wäre sie besser unter einer anderen Frage angegeben. Gavins Antwort ist zu 100 % wahr, und diese Antwort wäre besser für eine Frage zur Anonymität von Änderungsadressen.
@BT, wie funktioniert Dark Wallet dann?
@Pacerier Ich weiß nicht viel über Dark Wallet, aber es kann sicherlich viel kompliziertere Schemata geben, die Adressen anonymer halten. Dies würde Dinge wie gestaffelte Transaktionen und ausgeklügelte Transaktionsmischungen beinhalten. Dies sind nicht Ihre durchschnittlichen Transaktionen. Es handelt sich um komplexe Techniken, die ohne die Verwendung von Änderungsadressen genauso nützlich sind.
@ColinDean, ist der "Dilemma"-Tippfehler in deinem Profil beabsichtigt?
@BT, Das Hinzufügen der Verwendung von Änderungsadressen erhöht jedoch die Kosten für die Unanonymisierung, oder?
@Pacerier Ja, aber obwohl ich nicht ganz sicher bin, wie hoch die Kosten sind, denke ich, dass das theoretische Limit die Kosten verdoppelt. In normalen Szenarien, in denen diese Adresse schließlich in Verbindung mit einer anderen Änderungsadresse verwendet wird, sind die Kosten für die Bestimmung dieser Adresse im Grunde genommen vernachlässigbar.
Die ursprüngliche Idee von AIUI war, dass jede Adresse genau einmal verwendet wird, wobei sich Änderungsadressen in dieser Hinsicht nicht von jeder anderen Adresse unterscheiden. Leider verwenden viele Leute eine einzelne Adresse viele Male und veröffentlichen sie sogar öffentlich. Das gibt Orten, an denen sich Tracer anheften können.