Zum Inhalt springen
buybitcoinsmart

Glossar / Transaktionen und Gebühren

Transaktions-ID

Auch bekannt als Txid, Transaktions-Hash, Transaction ID.

Was ist eine Transaktions-ID?
Eine Transaktions-ID ist der aus 64 Zeichen bestehende hexadezimale Fingerabdruck einer Bitcoin-Transaktion, der durch zweimaliges Hashen mit SHA-256 entsteht, und mit ihr wird diese Zahlung allgemein bezeichnet.

Niemand vergibt die Kennung: Sie ergibt sich aus dem Inhalt der Transaktion selbst, sodass die Änderung eines einzigen Satoshi eine völlig andere Kennung erzeugt. Der Wert ist 32 Byte lang, wird als 64 Hex-Zeichen dargestellt und von jedem Block-Explorer in umgekehrter Byte-Reihenfolge angezeigt. Sie ist die eine Zeichenfolge, mit der Sie und der Support einer Börse auf dieselbe Zahlung blicken.

Wie sie funktioniert

Die Ableitung einer Transaktions-ID erfordert zwei Schritte und keine Geheimnisse. Die Transaktion wird in ihre rohe Byte-Form serialisiert, dann zweimal durch SHA-256 geschickt, und die resultierenden 32 Byte sind die Kennung. Jeder, der die rohen Byte hat, berechnet dasselbe Ergebnis, weshalb eine Kennung nicht reserviert, angefordert oder gefälscht werden kann.

Die Anzeigereihenfolge ist das Erste, was Menschen verwirrt. Bitcoin hasht intern in eine Richtung und gibt sie in der anderen Richtung aus, sodass die Byte, die Sie in einem Block-Explorer sehen, die Umkehrung der Byte in der Datei sind. Nichts ist falsch, wenn ein Entwicklerwerkzeug Ihnen eine Zeichenfolge zeigt, die rückwärts aussieht.

SegWit hat die Kennung in zwei Teile geteilt. Seit BIP141 im Block 481.824 am 24. August 2017 aktiviert wurde, wird die Transaktions-ID über die Transaktion ohne ihre Witness-Daten berechnet, während eine zweite Kennung, die wtxid, alles einschließlich der Signaturen abdeckt. Der Grund ist die Malleabilität: Signaturen konnten zuvor von jedem, der die Transaktion weiterleitete, neu kodiert werden, was die Kennung änderte und das Geld genau dort beließ, wohin es ging. Mt. Gox machte im Februar 2014 die Malleabilität für seine fehlenden Coins verantwortlich, doch eine Studie von Decker und Wattenhofer maß die tatsächlichen Angriffe und stellte fest, dass vor dem Stopp der Auszahlungen durch die Börse nur 386 BTC der Malleabilität zuzuordnen waren, gegenüber den Hunderttausenden Coins, die sie verloren hatte.

Die Kennung ist auch das, worauf ein Block sich festlegt. Jede Transaktions-ID in einem Block wird in den Merkle-Root gehasht, der im Block-Header gespeichert ist, sodass ein Miner nicht nachträglich eine Zahlung still gegen eine andere tauschen kann.

Warum das beim Bitcoin-Kauf wichtig ist

Die Transaktions-ID ist der einzige Beweis, der die Lücke zwischen zwei Unternehmen überdauert. Wenn eine Auszahlung von Coinbase oder Bitstamp nicht angekommen ist, kommt das Support-Ticket nicht voran, bis Sie sie liefern, und sobald Sie sie haben, brauchen Sie das Ticket nicht mehr: Fügen Sie die Zeichenfolge in einen beliebigen Block-Explorer ein, und Sie können die Ausgaben, die Gebühr und die Anzahl der Bestätigungen selbst sehen. Das ist auch der schnellste Weg herauszufinden, ob die Verzögerung an der Warteschlange der Börse oder am Netzwerk liegt.

Der umgekehrte Fall ist der gefährliche. Eine Transaktions-ID beweist, dass eine Zahlung existiert, nicht dass sie an Sie gesendet wurde, nicht dass sie bestätigt wird und nicht dass der Absender der war, der er zu sein behauptet. Verkäufern auf Peer-to-Peer-Marktplätzen wird routinemäßig ein Screenshot einer Explorer-Seite gezeigt, und sie übergeben die Ware, bevor sie prüfen, ob eine Ausgabe dieser Transaktion eine Adresse bezahlt, die sie steuern. Prüfen Sie die Adresse, prüfen Sie den Betrag und prüfen Sie die Bestätigungen, in dieser Reihenfolge.

Unbestätigte Kennungen können auch verschwinden. Vollständiges Replace-by-Fee ist die standardmäßige Weiterleitungsrichtlinie in modernem Bitcoin Core, sodass ein Absender eine konkurrierende Version derselben Zahlung verbreiten kann, und diese Version hat eine andere Kennung. Bitcoin Core verwirft außerdem Transaktionen, die es länger als 336 Stunden, also 14 Tage, gehalten hat. Wenn ein Explorer "transaction not found" anzeigt, bedeutet das meistens, dass eines dieser beiden Dinge passiert ist, nicht dass Ihre Coins weg sind.

Die Transaktions-ID des Genesis-Blocks lesen

Die älteste Transaktions-ID in Bitcoin ist 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b, die einzige Transaktion im Block, der am 3. Januar 2009 gemint wurde. Weil dieser Block eine Transaktion und sonst nichts enthält, ist der Merkle-Root des Blocks die identische Zeichenfolge, was die klarste Veranschaulichung dafür ist, wie die Festlegung funktioniert.

Diese Transaktion zahlt 50 BTC an einen öffentlichen Schlüssel, und Bitcoin Core hat die Ausgabe nie in seinen Satz unverbrauchter Ausgaben aufgenommen, sodass die Kennung Geld benennt, das sich niemals bewegen kann. Sie trägt außerdem die Zeitungsschlagzeile "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks" in ihrem Coinbase-Feld.

Die Abhängigkeit verläuft in eine Richtung. Ändern Sie einen einzigen Buchstaben dieser Schlagzeile, und sowohl die Transaktions-ID als auch der Merkle-Root werden unkenntlich, weshalb eine Kennung ein Fingerabdruck und kein Etikett ist. Sie können keine auswählen, und Sie können eine Transaktion nicht bearbeiten, ohne eine neue zu erzeugen.

Transaktions-ID vs. Bitcoin-Adresse

Eine Adresse ist ein Ziel, und eine Transaktions-ID ist die Aufzeichnung eines Ereignisses. Adressen können im Voraus ausgegeben und wiederverwendet werden; Kennungen existieren erst, nachdem eine Transaktion erstellt wurde. Coins an eine Transaktions-ID zu senden ist unmöglich, und Wallets lehnen den Versuch ab, weil die Zeichenfolge die Prüfsummenvalidierung der Adresse nicht besteht. Betrüger, die sich als Support ausgeben, nutzen die Verwechslung aus, indem sie nach „Ihrer Transaktions-ID“ fragen und dann eine eigene Adresse angeben.

Transaktions-ID vs. Outpoint

Eine Transaktions-ID benennt eine ganze Transaktion, die in einem einzigen Stapel einer Börse 300 verschiedene Personen bezahlen kann. Ein Outpoint benennt eine Ausgabe darin, geschrieben als die Kennung, ein Doppelpunkt und der Ausgabeindex. Bildschirme zur Coin-Kontrolle, Bestätigungen auf Hardware-Wallets und PSBT-Dateien arbeiten alle mit Outpoints, sodass eine Kennung allein nicht ausreicht, um zu sagen, welche Coin Sie meinen.

Nicht zu verwechseln mit

Häufig gestellte Fragen

Was bedeutet es, wenn sich eine Transaktions-ID nicht finden lässt?

Meist, dass die Transaktion nie bestätigt wurde und sich in keinem Mempool mehr befindet. Bitcoin Core verwirft unbestätigte Transaktionen nach 14 Tagen, und eine Erhöhung der Gebühr per Replace-by-Fee veröffentlicht eine andere Kennung, sodass die ursprüngliche nirgends mehr existiert.

Ist eine Transaktions-ID der Beweis dafür, dass jemand mir gezahlt hat?

Nein. Sie belegt, dass eine Transaktion existiert. Öffnen Sie sie in einem Block-Explorer und prüfen Sie, dass eine Ausgabe eine Adresse in Ihrer eigenen Wallet bezahlt, dass der Betrag übereinstimmt und dass sie Bestätigungen hat. Ein Screenshot beweist überhaupt nichts.

Kann sich eine Transaktions-ID nach dem Senden ändern?

Bei einer bestätigten Transaktion nicht. Vor SegWit konnten Dritte Signaturen neu kodieren und die Kennung einer unbestätigten Zahlung verschieben, was das Malleabilitätsproblem ist, das BIP141 für SegWit-Inputs im August 2017 behoben hat.

Weiterlesen

Verwandte Begriffe

Mehr zum Thema Transaktionen und Gebühren

Diese Seite auf Englisch lesen