Was ist Transaktionsformbarkeit?

Die Bitcoin-Börse MtGox hat in dieser Pressemitteilung erklärt, dass „Transaction Temperability“ sie veranlasst habe, den Versand von Bitcoins einzustellen. Eine kürzlich gestellte Frage , ob es wirklich ein Problem ist. Aber was ist Transaktionsformbarkeit überhaupt?

Antworten (1)

Bitcoin-Transaktionen haben eine Transaktions-ID (txid), die als Hash über die an der Transaktion beteiligten Daten gebildet wird. Das deutet darauf hin, dass es sich um eine eindeutige Kennung für eine Transaktion handelt.

Die tx-id einer Transaktion ist jedoch erst dann eindeutig, wenn die genauen Daten in der Transaktion durch Aufnahme in die Blockchain finalisiert (und bestätigt) wurden. Bis dahin gibt es Hacks, die es ermöglichen, die zugrunde liegenden Daten und den Hash zu ändern. Dies ist kein Sicherheitsproblem, da nicht geändert werden kann, wie viele Bitcoins von welchem ​​Eingang zu welchem ​​Ausgang übertragen werden. Aber Details wie das Format der kryptographischen Signatur, die bestätigt, dass die Eingabe die Transaktion autorisiert, oder das genaue verwendete Signaturskript können geändert werden: Sie sind formbar, wodurch auch der Hash oder die Transaktions-ID formbar werden.

Dies sollte überhaupt kein großes Problem sein. Aber es ist so, wenn Sie Ihre Bitcoin-Handhabung auf der Annahme aufbauen, dass Transaktions-IDs nicht formbar sind, wie es MtGox möglicherweise getan hat. Sie müssen auch vorsichtig sein, wenn Sie unbestätigte Transaktionen ausgeben, da dies nur funktioniert, wenn niemand die zwischengeschalteten Transaktions-IDs ändert. Nichts davon ist ein Problem im Standard-Bitcoin-Client, aber wenn Sie Ihren eigenen rollen, insbesondere wenn Sie nur eine einzige Bitcoin-Adresse verwenden möchten, um viele einzelne Transaktionen abzuwickeln, ist es einfach, Transaktionen schnell abzufeuern, die direkt auf der unbestätigten vorherigen aufbauen Fehler zu machen. Wenn Leute Transaktions-IDs von MtGox-Auszahlungen geändert haben und MtGox einen so schnellen Ansatz gewählt hat, könnte dies erklären, warum es viele Beschwerden über nie eintreffende Auszahlungen gegeben hat:

EDIT: Eine viel ausführlichere Erklärung finden Sie in diesem Quartz-News-Artikel

Ich habe diese Antwort als Grundlage für das Wiki für Transaktionsformbarkeits- Tags verwendet.