36 / 736CHG

Change Address

Adresse für das Wechselgeld einer Zahlung

Eine Adresse Ihrer eigenen Wallet, an die der ungenutzte Rest einer Zahlung geht. So können Sie einen Teil eines Eingangs ausgeben und den Rest behalten.

Eine Change Address verwendet die Wallet, um bei einer Zahlung den Restbetrag zurückzugeben. Bitcoin gibt ausgewählte Zahlungseingänge vollständig aus. Nach Zahlung und Gebühr geht der Rest normalerweise an einen neuen eigenen Ausgang. Das Geld gehört weiterhin Ihnen, wird nun aber in einem anderen Ausgang und oft unter einer neuen Adresse geführt.

Alice hat früher 120 000 sat erhalten, die kleinsten Bitcoin-Einheiten, und möchte 100 000 sat bezahlen. In diesem Beispiel bestehen ihre Mittel aus einem UTXO: einem noch nicht ausgegebenen Ausgang einer früheren Transaktion. Dieser wird zum Eingang der Zahlung und vollständig ausgegeben. Bei einer Gebühr von 2 000 sat erhält der Empfänger 100 000 sat; die übrigen 18 000 sat gehen an einen neuen Ausgang von Alices Wallet. Das ähnelt dem Bezahlen mit einem größeren Geldschein, doch beide Beträge werden in derselben Transaktion verteilt. Alice muss nicht warten, bis der Empfänger etwas zurückschickt. Die Wallet wählt die Wechselgeldadresse normalerweise selbst. Deshalb kann ein Blockexplorer zwei Zieladressen zeigen, obwohl Alice nur eine Person bezahlt hat. Nach der Bestätigung ist das Wechselgeld ein neues UTXO mit einer eigenen Ausgangskennung, dem outpoint. Das Wechselgeld ist kein übrig gebliebenes Stück des alten Ausgangs. Ein outpoint besteht aus der Transaktionskennung txid und der Position des Ausgangs innerhalb dieser Transaktion. Alice kann es bei späteren Zahlungen wie ihre übrigen Mittel verwenden. [1]

Das Skript scriptPubKey legt die Bedingungen fest, unter denen ein Ausgang ausgegeben werden darf. Den Grund Ihrer Zahlung nennt es nicht. Ein Block enthält Beträge und scriptPubKey-Skripte, keine Kennzeichnungen für Zahlenden, Empfänger oder Wechselgeld. Die Wallet erkennt ihre eigenen Wechselgeldausgänge anhand ihrer Ableitungsaufzeichnungen; ein Blockexplorer oder Analyst schätzt ihren Zweck. Weder die Reihenfolge der Ausgänge noch die Annahme, der zweite Ausgang sei das Wechselgeld, ist zuverlässig. Eine Transaktion kann kein Wechselgeld, einen Wechselgeldausgang, mehrere vom Absender kontrollierte Ausgänge oder Ausgänge mehrerer Beteiligter enthalten. Die Bezeichnung change beschreibt somit das Verhältnis eines Ausgangs zu einer Wallet. Sie ist keine eigenständige, im Protokoll gespeicherte Eigenschaft. [1]

Eine Heuristik ist eine Vermutung anhand indirekter Hinweise. Payjoin und CoinJoin erlauben mehreren Beteiligten, eine Transaktion gemeinsam zu erstellen; einfache Vermutungen können daher scheitern. Ein BIP ist ein Dokument mit einem technischen Vorschlag oder Standard. Gängige Heuristiken vermuten Wechselgeld etwa bei einem Ausgang mit demselben Skripttyp wie die Eingänge, einem nicht runden Betrag, einer neuen Adresse oder einem Betrag, der dem berechneten Rest entspricht. Bei gewöhnlichen Zahlungen mit zwei Ausgängen können solche Vermutungen zutreffen und spätere Ausgaben verknüpfen; für jede gibt es jedoch Gegenbeispiele. BIP78 Payjoin unterläuft gezielt die Annahme eines gemeinsamen Eigentümers der Eingänge sowie die Erkennung von Wechselgeld anhand des Skripttyps oder runder Beträge. CoinJoin, gebündelte Zahlungen und Übertragungen zwischen eigenen Adressen schaffen weitere Mehrdeutigkeit. Eine Einschätzung muss ihre Unsicherheit und stützende Belege nennen; eine Heuristik allein ist weder ein Protokollbeweis noch ein Nachweis rechtlichen Eigentums. [4] [14]

Eine PSBT ist ein Paket mit einem Transaktionsentwurf und Zusatzinformationen, das Wallet und Signiergerät austauschen können. Multisig verlangt eine Freigabe nach einer Regel mit mehreren Schlüsseln. Die Angaben zur Schlüsselableitung nach BIP32 in den Ausgängen einer PSBT ermöglichen einem Hardware- oder offline betriebenen Signiergerät, vorgeschlagenes Wechselgeld zu prüfen. Das Gerät muss den Ausgang selbst ableiten und kontrollieren, ob er denselben Wallet-Regeln entspricht. BIP174 beschreibt die Prüfung für einen einzelnen Schlüssel und für Multisig; bei mehreren Signaturen reicht es nicht, dass der Ausgang einen lokalen Schlüssel enthält. Ein böswilliger Koordinator, der die Transaktion zusammenstellt, kann Wechselgeld durch einen eigenen Ausgang ersetzen oder den Restbetrag in einer überhöhten Gebühr verstecken. Prüfen Sie daher vor dem Signieren auf einer vertrauenswürdigen Anzeige die Empfängerausgänge, die Gesamtgebühr und jeden als Wechselgeld bezeichneten Ausgang. [5]

Für die Rechnung stehen I für ausgewählte Mittel, R für Empfängerzahlungen, F für die Gebühr und C für Wechselgeld: C = I − R − F. RPC ist eine Programmierschnittstelle für Befehle an einen Knoten. Coin Selection, also die Auswahl der UTXOs, bestimmt Eingänge, Gebühr und mögliches Wechselgeld gemeinsam. Eine exakt passende Kombination von Eingängen benötigt keinen Wechselgeldausgang. Andernfalls vergleicht die Wallet den Restbetrag mit den Kosten für die Erstellung und spätere Ausgabe dieses Ausgangs. Der RPC fundrawtransaction in Bitcoin Core kann höchstens einen Wechselgeldausgang ergänzen und gibt dessen Position zurück. Werden alle ausgewählten Mittel an die Empfänger gesendet, entsteht bewusst kein Wechselgeld. Die manuelle Auswahl mit Coin Control verändert die Eingänge und damit die Höhe des Wechselgelds; jeder gewählte Eingang wird jedoch vollständig verbraucht. Prüfen Sie daher die endgültigen Eingänge, Empfängerbeträge, Gebühr und das Wechselgeld, nicht nur den Zahlungsbetrag. [9] [10] [13]

Eine HD Wallet leitet aus einem Ausgangsgeheimnis viele Schlüssel und Adressen ab. Der Ableitungspfad bestimmt, welche Adresse berechnet wird; BIP bezeichnet ein Dokument mit einem technischen Vorschlag oder Standard. Eine HD Wallet leitet Empfangsadressen gewöhnlich auf einem externen Zweig und Wechselgeldadressen auf einem internen Zweig ab. BIP44 bezeichnet change=0 als externen und change=1 als internen Zweig. Für ein Konto mit nativem SegWit sind beispielsweise m/84'/0'/0'/0/i und m/84'/0'/0'/1/i entsprechende Pfade. Das ist eine Wallet-Konvention, keine Konsensregel; eine Wallet mit Deskriptoren kann andere Regeln verwenden. Eine neue interne Adresse begrenzt die Wiederverwendung von Adressen. Den Restbetrag an die ursprüngliche Adresse zurückzuschicken ist gültig, verknüpft aber die Zahlungshistorie und kann deren Zuordnung zu einer bestimmten Person erleichtern. [2] [3]

Die Schreibweise xpub unten steht für einen erweiterten öffentlichen Schlüssel. Er kann öffentliche Daten abgeleiteter Schlüssel liefern, aber selbst keine Zahlungen signieren. Der Seed ist der geheime Ausgangswert für die Schlüsselableitung. Ein Ausgabedeskriptor beschreibt den Skripttyp, die Schlüssel, deren Herkunftsinformationen und die Regel zum Ableiten weiterer Adressen. Das Paar wpkh([fingerprint/84h/0h/0h]xpub…/0/*) und …/1/* kann so den Empfangs- und den Wechselgeldzweig beschreiben; BIP389 erlaubt eine gemeinsame Schreibweise für mehrere Zweige. Das Kennzeichen internal sagt der Wallet, welchen Deskriptor sie für Wechselgeld verwenden soll, verändert aber nicht das resultierende Skript selbst. Bei einer Wiederherstellung reicht der Seed allein möglicherweise nicht aus, um alle Mittel zu finden. Ohne Angaben zum Konto, zum Skripttyp und zur Ableitung kann die Wallet gültige Wechselgeldausgänge übersehen, obwohl die benötigten Schlüssel noch vorhanden sind. [6] [7] [8]

Dust bezeichnet einen sehr kleinen Ausgang, der nach den Regeln eines Knotens zur Weiterleitung von Transaktionen beurteilt wird. Die jeweilige Grenze berechnet sich aus dem Ausgangstyp, der geschätzten Datenmenge für seine spätere Ausgabe und dem einstellbaren Gebührensatz dust relay feerate. Sie ist weder ein universeller Satoshi-Betrag noch ein Verbot durch den Konsens. Eine Wallet kann auch Wechselgeld oberhalb dieser Grenze ablehnen, wenn die Erstellung und spätere Ausgabe des Ausgangs mehr kosten würden als der zurückgegebene Betrag. Diese wirtschaftliche Schwelle hängt vom aktuellen Gebührensatz, der Schätzung künftiger Gebühren und der Skriptgröße ab. Ohne Wechselgeld steigt die jetzige Gebühr; ein allzu kleiner Ausgang kann wiederum später unverhältnismäßig teuer auszugeben sein. [12]

Replace-by-fee (RBF) ersetzt eine unbestätigte Transaktion durch eine andere mit höherer Gebühr. Der RPC bumpfee in Bitcoin Core kann den Unterschied durch weniger Wechselgeld, zusätzliche Eingänge oder einen neuen Wechselgeldausgang ausgleichen. Fällt das Wechselgeld unter die durch Knotenregeln oder Wirtschaftlichkeit bestimmte Schwelle, kann es entfallen. Die Ausgabe unbestätigten Wechselgelds erzeugt eine Folgetransaktion, die von der ursprünglichen Transaktion abhängt; deren Ersetzung kann diese Verbindung ungültig machen. Der Befehl bumpfee verweigert die Ersetzung, wenn die Wallet oder der Mempool des Knotens, also seine Sammlung unbestätigter Transaktionen, bereits eine Transaktion enthält, die einen Ausgang der ursprünglichen Zahlung ausgibt. CPFP (Child Pays for Parent) erstellt eine Folgetransaktion, statt die ursprüngliche zu ersetzen. Sie gibt einen von der Wallet kontrollierten Ausgang der ursprünglichen Zahlung aus und zahlt eine höhere Gebühr. Dadurch steigt der gemeinsame Gebührensatz, was Minern einen Anreiz gibt, beide Transaktionen zusammen zu bestätigen. Solange mögliche Ersetzungen nicht geklärt sind, sollten weder eine unbestätigte txid noch eine Ausgangsreferenz outpoint als endgültig gelten. [11] [15]

Bei der Wiederherstellung müssen Empfangs- und Wechselgeldadressen gefunden werden. Bei einer üblichen Wallet mit einer Signatur reichen dafür normalerweise die richtige Seed Phrase (Wiederherstellungswörter), eine gegebenenfalls verwendete Passphrase und passende Wallet-Einstellungen. Der Seed ist der geheime Ausgangswert für die Schlüsselableitung; die Passphrase ist ein zusätzliches Passwort, falls Sie eines eingerichtet haben. Nicht jeder Nutzer muss daher Deskriptoren von Hand sichern. Bei eigenen Einstellungen oder Multisig, wo mehrere Schlüssel die Freigabe bestimmen, können die Wörter allein jedoch unzureichend sein. Bewahren Sie auch die Wallet-Beschreibung auf: Netzwerk, Konto, Skripttyp, Ableitungsregeln sowie bei Multisig die erweiterten öffentlichen Schlüssel xpub aller Beteiligten, ihre Reihenfolge und die notwendige Signaturzahl. Fehlt der Zweig /1/*, kann die Wiederherstellung Wechselgeld übersehen und einen zu niedrigen Kontostand zeigen. Prüfen Sie bekannte Adressen und Ausgänge beider Zweige, den Ableitungsbereich und den Beginn der Suche im Transaktionsverlauf. Ein Wiederherstellungstest sollte auch zeigen, dass Sie eine Zahlung vorbereiten und korrekt signieren können. [2] [6] [7]

Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Bitcoin-Adresse, UTXO, Coin Control, Wallet, Coin Selection, HD Wallet. Auf diesen Eintrag verweisen außerdem Bitcoin-Adresse, Coin Control, Bitcoin-Privatsphäre, Pseudonymität.

DOC · 001Bitcoin Developer Guide — TransactionsDokumentation DOC · 002BIP 32 — Hierarchical Deterministic WalletsSpezifikation DOC · 003BIP 44 — Multi-Account HierarchySpezifikation DOC · 004BIP 78 — PayjoinSpezifikation DOC · 005BIP 174 — Partially Signed Bitcoin Transaction FormatSpezifikation DOC · 006BIP 380 — Output Script DescriptorsSpezifikation DOC · 007BIP 389 — Multipath Descriptor Key ExpressionsSpezifikation DOC · 008Bitcoin Core — Output DescriptorsDokumentation DOC · 009Bitcoin Core — Coin Selection ImplementationDokumentation DOC · 010Bitcoin Core RPC — fundrawtransactionDokumentation DOC · 011Bitcoin Core RPC — bumpfeeDokumentation DOC · 012Bitcoin Core — Transaction Relay PolicyDokumentation DOC · 013Bitcoin Optech — Coin SelectionDokumentation DOC · 014Meiklejohn et al. — A Fistful of BitcoinsDokumentation DOC · 015Bitcoin Optech — Child Pays for ParentDokumentation
Überarbeitet: Quellenbasiert · Keine Anlageberatung