Können Sie Bitcoins zusammen aus demselben Wallet versenden, wenn sie über verschiedene Adressen empfangen wurden?

Was an Ihre einzelnen Bitcoin-Adressen gesendet wurde, wird angeblich in der Blockchain aufgezeichnet, aber können Sie dann alle kombinierten Bitcoins (die Sie über verschiedene Adressen erhalten haben) auf einmal mit Ihrem öffentlichen Schlüssel senden? Wenn ich zum Beispiel 1 Bitcoin über Adresse 1, 2 über Adresse 2 und 5 über Adresse 3 erhalten habe, alle diese Adressen von demselben öffentlichen Schlüssel stammen, und ich 6 BTC an einen Freund senden wollte, könnte ich alle senden sie sofort mit meinem öffentlichen Schlüssel? Oder müsste ich eine Kombination von Bitcoins von verschiedenen Adressen senden, dh durch separate Transaktionen? Und wenn ich sie alle zusammen mit dem öffentlichen Schlüssel senden könnte, wie wird festgestellt, dass ich im Besitz all dieser Bitcoins bin, wenn sie nicht direkt an meinen öffentlichen Schlüssel gesendet wurden, sondern an verschiedene irreversibel gehashte Adressen, die von meinem öffentlichen Schlüssel abgeleitet wurden?

Antworten (1)

Eine Bitcoin-Transaktion kann einen oder mehrere Eingänge und einen oder mehrere Ausgänge haben. Hier ist zum Beispiel eine Transaktion mit 1 Input 3 Outputs , und hier ist eine mit 3 Inputs 1 Output .

Ich glaube, Sie verwechseln die Begriffe öffentlicher Schlüssel und privater Schlüssel. Eine Brieftasche ist eine Sammlung von Schlüsselpaaren (private Schlüssel und öffentliche Schlüssel), und jedes kann verwendet werden, um eine eindeutige Bitcoin-Adresse zu erstellen. Wenn Sie also drei verschiedene Eingabetransaktionen an drei verschiedene Bitcoin-Adressen haben, kann jede davon mit ihrem eigenen privaten Schlüssel ausgegeben werden.

Ihre Brieftasche signiert die Transaktion mit jedem dieser drei Schlüssel, und der Rest des Netzwerks kann die Signatur validieren, indem er sie mit dem öffentlichen Schlüssel vergleicht, der jeder Eingabe zugeordnet ist (obwohl er den privaten Schlüssel nie kennt!). Um mehr darüber zu erfahren, wie dies funktioniert, lesen Sie einige Informationen darüber, wie die Kryptografie mit öffentlichen Schlüsseln funktioniert . Es ist ein nützliches kryptografisches Tool, das in vielen Systemen verwendet wird, nicht nur in Bitcoin.

Bei der Transaktion mit 3 Eingaben und 1 Ausgabe musste der Absender also die Bitcoins von 3 verschiedenen Adressen senden (allerdings alle mit demselben privaten Schlüssel signiert) und diese Adressen bei der Durchführung der Transaktion angeben, anstatt alle zu senden Bitcoins von einem Ort, da sie, wie ich annehme, alle aus derselben Wallet stammen?
Jede Bitcoin-Adresse bezieht sich auf einen eindeutigen privaten Schlüssel, es gibt keinen privaten Schlüssel, der für alle Eingaben in einer Transaktion mit drei Eingaben signiert. Ich denke, Sie verwechseln dies mit einer BIP 32 HD-Brieftasche, bei der ein privater Hauptschlüssel verwendet wird, um die nachfolgenden privaten Schlüssel der Brieftasche abzuleiten (von denen jeder seine eigene eindeutige Bitcoin-Adresse haben wird). Als Nutzer müssen Sie sich darüber keine Gedanken machen, die Wallet-Software übernimmt die Eingabeauswahl und Transaktionssignierung im Hintergrund für Sie.
Ich kann in Exodus mehrere Bitcoin-Adressen generieren, daher hatte ich den Eindruck, dass durch Hashing des öffentlichen Schlüssels eine beliebige Anzahl von Adressen erstellt werden kann. Alle diese Adressen gehen also auf den einen gemeinsamen Schlüssel zurück. Sind Sie sicher, dass sich jede Bitcoin-Adresse auf einen eindeutigen privaten Schlüssel bezieht? Oder haben Sie sich auf öffentliche Schlüssel bezogen?
Mehrere Adressen werden nicht durch Hashen eines öffentlichen Schlüssels erstellt, das ist ein Missverständnis. Eine Hash-Funktion ist deterministisch. Wenn Sie also dieselbe Eingabe mehr als einmal bereitstellen, erhalten Sie jedes Mal dieselbe Ausgabe. Allerdings kommt mir in den Sinn, dass Sie möglicherweise von einem erweiterten öffentlichen Schlüssel (xpub) sprechen, der zum Ableiten von unendlichen untergeordneten Pub-Schlüsseln verwendet werden kann. Auch in diesem Fall benötigen Sie noch den erweiterten privaten Schlüssel (xpriv), der den xpub-Schlüssel erstellt hat, damit Sie den untergeordneten privaten Schlüssel jedes untergeordneten Pub-Schlüssels ableiten können. Jede Adresse hat also immer noch einen eigenen privaten Schlüssel, der zum Ausgeben erforderlich ist
Eine hierarchisch deterministische (HD) BIP32-Brieftasche funktioniert auf diese Weise, alle Adressen werden von einem erweiterten Master-Private-Key (xpriv-Schlüssel) abgeleitet, aber es sind öffentliche/private Schlüsselpaare, die Sie ableiten, nicht nur Adressen, die alle von a einzelner privater Schlüssel. Die mnemonische Phrase, die viele Wallets Sie aufschreiben sollen, ist die Seed-Phrase, um Ihren xpriv-Schlüssel für die Wallet zu generieren.