Wenn BTC-Wechselgeld an Wechseladressen verteilt werden soll, kann das verteilte Wechselgeld gepoolt und zusammen in einer neuen Transaktion bezahlt werden?

Seit ich mich das letzte Mal mit Bitcoin versucht habe, indem ich eine Brieftasche mit einer einzigen Adresse benutzte (unter Verwendung von Bruchteilen von Münzen, die aus Captcha-Faucets gewonnen wurden), habe ich neue Dinge wie das Ändern von Adressen gelernt. Ich verstehe, dass Sie bei einer Transaktion den vollen Wert der Adresse bezahlen und die Änderung an sie oder vorzugsweise an eine neue Adresse zurückgesendet wird, um die Anonymität aller zu gewährleisten.

Nehmen wir also an, Sie haben eine Brieftasche mit 10 Adressen und 20 Wechseladressen. Nach einer Weile haben Sie Ihr kollektives Vermögen auf alle 30 verteilt.

Jetzt ist es an der Zeit, jemandem einen Betrag zu zahlen, der größer ist als jede einzelne Adresse, die Sie haben.

Fasst Ihr Bitcoin-Client irgendwie das Geld von den von Ihnen kontrollierten Adressen zusammen und leitet es mit einer einzigen Transaktionsgebühr in einer einzigen Transaktion an Ihren beabsichtigten Empfänger weiter? Ich hielt dies für unmöglich, da eine Adresse nur die Münzen ausgeben kann, die sie direkt besitzt, und eine Transaktion eine Quelladresse hat.

Muss Ihr Kunde zuerst die BTC in Ihren individuellen Adressen durch n Transaktionen in einer einzigen neuen Adresse sammeln und diese neue Adresse dann mit einer anderen Transaktion ausgeben? Ich könnte die Transaktionsgebühr bis zu 31 Mal für eine einzige Zahlung an jemanden zahlen müssen.

--

Ehrlich gesagt bin ich über ein Dutzend Websites, Wikis usw. gegangen und diese dumme Frage wird nirgendwo direkt oder anderweitig beantwortet. Was ich darüber weiß (Adressen können nur die Münzen ausgeben, die sie kontrollieren, und eine Transaktion hat nur 1 Quelle und 2 Ziele), widerspricht der Vernunft (nur für 1 Transaktion bezahlen müssen, da Sie alle Adressen kontrollieren, die BTC kontrollieren, die Sie ausgeben möchten). .

Ihr erstes Missverständnis: Eine Transaktion kann zwischen 1 und 1000 Inputs und zwischen 1 und 1000 Outputs haben. Diese Eingaben können von Münzen ausgegeben werden, die einer oder mehreren Adressen zugewiesen sind. Diese Ausgänge können an eine oder mehrere Adressen senden.
@PieterWuille perfekte Klarstellung, danke

Antworten (2)

Eine Transaktion hat 1 Quelladresse

Das ist nicht richtig. Eine Transaktion kann eine beliebige Anzahl von Eingaben haben, sodass sie die Ergebnisse einer beliebigen Anzahl vorheriger Transaktionen mit einer beliebigen Anzahl von Adressen ausgeben kann. Siehe https://en.bitcoin.it/wiki/Transaction .

Hier ist ein Beispiel für eine Transaktion mit 4 Eingaben.

Wenn Sie eine große Zahlung mit Transaktionen von Ihren 30 verschiedenen Adressen vornehmen möchten, können Sie eine Transaktion mit 30 Eingaben durchführen. Ihre Bitcoin-Brieftasche erledigt dies für Sie; Wenn Sie versuchen, eine Zahlung mit einem höheren Betrag zu leisten, als eine einzelne vorherige Transaktion enthält, werden automatisch so viele Transaktionen ausgewählt, die als Eingaben verwendet werden, wie erforderlich.

Jede zusätzliche Eingabe macht die Transaktion größer, und die Gebühren basieren auf der Größe einer Transaktion, sodass eine Transaktion mit 30 Eingaben eine höhere Gebühr erfordert als eine mit 1 Eingabe. Es sollte jedoch weniger als die Gebühren für 30 separate Transaktionen betragen.

Wie Nate und Pieter bereits erwähnt haben, können Sie bis zu 1000 Eingaben von verschiedenen Adressen haben.

Ein weiterer Punkt, den ich klarstellen möchte, ist, dass sich Ihre Situation nicht ändern würde, wenn Sie alle Ihre Bitcoins an einer Adresse haben (mit Ausnahme der Auswirkungen auf die Privatsphäre), da jede Transaktion nicht ausgegebene Transaktionsausgaben erzeugt, die separat nachverfolgt werden. Es gibt kein "Adressgleichgewicht", sondern eine Abstraktion, um über alle UTXO zu sprechen, die Sie kontrollieren. Ob diese UTXO der gleichen Adresse oder unterschiedlichen Adressen zugeordnet sind, macht für den Aufbau einer neuen Transaktion keinen Unterschied.