Zum Inhalt springen
buybitcoinsmart

Glossar / Transaktionen und Gebühren

Ausgabeindex

Auch bekannt als vout.

Was ist ein Ausgabeindex?
Ein Ausgabeindex ist die Position einer Ausgabe innerhalb einer Transaktion, gezählt ab null, und es ist die Zahl nach dem Doppelpunkt, wenn ein Coin als txid:1 geschrieben wird.

Transaktionen können Dutzende Empfänger auf einmal bezahlen, daher sagt die Kennung allein nie, welche Zahlung Ihre ist. Der Index wird als vier Byte großer Wert gespeichert, wodurch Werte bis 4.294.967.295 möglich sind, weit mehr Ausgaben, als ein Block fassen könnte. Zusammen mit der Transaktions-ID bildet er einen Outpoint, die dauerhafte Adresse eines Coins innerhalb des Ledgers.

So funktioniert es

Ausgaben sind geordnet, und die Reihenfolge ist die, die der Ersteller der Transaktion serialisiert hat. Die erste Ausgabe ist Index 0, die zweite ist Index 1, und die Nummerierung läuft ohne Lücken bis zum Ende der Liste. Nichts am Index beschreibt den Betrag, den Empfänger oder den Zweck der Ausgabe; er ist eine Position und nichts weiter.

Jeder Input jeder Transaktion trägt eine dieser Zahlen. Ein Input beginnt mit einer 36 Byte großen Referenz: 32 Byte Transaktions-ID, gefolgt von einem vier Byte großen Index im Little-Endian-Format. So gibt ein Input an, welchen Coin er verbraucht, und deshalb können Nodes eine Zahlung prüfen, ohne die ganze Blockchain zu durchsuchen.

Die Coinbase-Transaktion jedes Blocks durchbricht das Muster bewusst. Da sie keinen Coin zum Ausgeben hat, verweist ihr einziger Input auf eine Transaktions-ID aus 32 Nullbytes mit dem Index 0xffffffff, dem höchsten Wert, den das Feld aufnehmen kann. Alles, was auf diesen Outpoint verweist, wird als neu ausgegebenes Geld erkannt und nicht als Übertragung.

Die Position gibt auch Informationen preis, weshalb Wallets sie als Datenschutzeinstellung behandeln. Würde das Wechselgeld immer auf Index 1 landen, könnte jeder Beobachter die Wechselgeld-Ausgabe jeder Transaktion sofort zuordnen. Bitcoin Core platziert die Wechselgeld-Ausgabe an einer zufälligen Stelle, und BIP69 schlug den entgegengesetzten Ansatz vor, Inputs und Outputs in eine deterministische lexikografische Reihenfolge zu bringen, sodass sich aus der Reihenfolge überhaupt nichts ableiten lässt.

Wo er auftaucht

Coin-Control-Bildschirme sind der Ort, an dem die meisten Menschen der Zahl begegnen, ohne ihren Namen zu kennen. Sparrow, Electrum und Bitcoin Core listen Ihre Coins jeweils als Transaktions-ID plus Index auf, weil zwei Ausgaben derselben Transaktion beide Ihnen gehören können und nur der Index sie unterscheidet.

Das Batching von Börsen macht die Zahl sichtbar. Wenn Kraken oder Binance hundert Auszahlungen in einer Transaktion auszahlt, liegt Ihr Coin an der Position, die die Batching-Software ihm gegeben hat, sodass es völlig normal ist, Ihr Geld auf Index 87 von 120 Ausgaben zu sehen, und dies kein Zeichen dafür ist, dass etwas schiefgelaufen ist.

Entwicklerwerkzeuge fragen ihn direkt ab. Der Befehl gettxout nimmt eine Transaktions-ID und einen Index als getrennte Argumente, PSBT-Dateien verweisen bei Inputs auf den Outpoint, und Hardware-Wallets zeigen "output 2 of 3" auf dem Bildschirm an, während Sie eine Zahlung bestätigen. Support-Mitarbeiter, die nach "the txid and the vout" fragen, fragen nach demselben Wertepaar.

Ausgabeindex vs. Outpoint

Ein Ausgabeindex allein ist bedeutungslos, weil Index 0 in jeder jemals erstellten Transaktion existiert. Ein Outpoint ist das Paar, Transaktions-ID und Index zusammen, und er bezeichnet genau einen Coin unter allen Coins, die je existiert haben. Der Unterschied zählt in dem Moment, in dem Sie etwas in ein Coin-Control-Feld oder in ein Support-Ticket einfügen: die halbe Referenz ist keine Referenz.

Nicht zu verwechseln mit

Häufig gestellte Fragen

Was bedeutet vout in einem Block-Explorer?

Es ist der Ausgabeindex, die Position einer Ausgabe innerhalb ihrer Transaktion, beginnend bei null. Explorer und RPC-Ausgaben verwenden vout als Feldnamen, und Wallets nennen dasselbe oft die Ausgabenummer.

Ist Ausgabe 0 immer die Zahlung und Ausgabe 1 immer das Wechselgeld?

Nein, und das anzunehmen ist eine bekannte Datenschutzschwäche. Bitcoin Core platziert die Wechselgeld-Ausgabe gerade deshalb an einer zufälligen Stelle, damit Beobachter aus der Reihenfolge keine Absicht herauslesen können.

Verwandte Begriffe

Mehr zum Thema Transaktionen und Gebühren

Diese Seite auf Englisch lesen