Ist der Prozess der Indizierung von Transaktionen durch Zuweisung einer Transaktions-ID erforderlich oder handelt es sich um ein Problem der Skalierbarkeit?

Ist es nicht möglich, dass Benutzer einfach „Transaktion senden“-Nachrichten mit einem Wertfeld und einem Adressfeld in die Blockchain signieren und die Prüfer die Arbeit erledigen lassen, die Blockchain zu durchsuchen und alle Sendetransaktionen zu addieren, um dies zu validieren? Münzen gibt es tatsächlich? Ich gehe hypothetisch davon aus, dass Coinbase-Transaktionen noch existieren und liste einfach Ausgaben an Empfängeradressen auf und schreibe diesen Adressen so neue Coins gut.

Ist eine Transaktions-ID einfach ein Werkzeug, um Skalierbarkeit zu erreichen? Warum müssen Transaktionen auf frühere Eingaben verweisen?

Verwandte: Ultimative Blockchain-Komprimierung mit vertrauensfreien Lite-Knoten – bitcointalk.org/index.php?topic=88208.0 und bitcointalk.org/index.php?topic=204283.0

Antworten (1)

Der Grund, warum Sie explizit angeben müssen, welche vorherigen Ausgaben von einer Transaktion beansprucht werden sollen, ist einfach, dass Sie Benutzern im Netzwerk keinen Blankoscheck ausstellen möchten. Angenommen, Sie wollten 1 Bitcoin von einem beliebigen Ausgang, der für Adresse A verfügbar ist, an Adresse B übertragen. Sie würden dann eine Transaktion erstellen, die wie folgt aussieht:

amount=1|to=B|sign(amount=1|to=B, sign_with=A)

Diese Transaktion würde an das Netzwerk gesendet und zum gewünschten Ergebnis führen. Das Hauptproblem ist, dass, wenn Sie mehr als die 1 Bitcoin haben, die Sie ausgeben möchten, nichts den Besitzer der Adresse B daran hindert, weitere Transaktionen zu erstellen, die ihm alle Ihre Bitcoins geben.

Das zweite Problem entsteht mit der Änderung aus dieser Transaktion, wenn Sie keine Ausgaben haben, die sich genau auf 1 Bitcoin summieren, erstellen Sie implizit eine neue Ausgabe für die Änderung. Das bringt uns zum letzten Problem: Die Auswahl von Outputs, die ausgegeben werden sollen, führt möglicherweise nicht immer zum gleichen Ergebnis. Wenn es mehrere Kombinationen gibt, mit denen die neue Ausgabe an B erstellt werden kann, müssten sich die Knoten im Netzwerk darauf einigen, welche Ausgaben ausgegeben werden sollen, was wiederum Transaktions-IDs erfordern würde.

All diese Probleme werden vereinfacht, wenn der Eigentümer der Münzen festlegt, welche ausgegeben werden sollen.

Eine Möglichkeit, die Erstellung weiterer Transaktionen zu verhindern, wäre das Hinzufügen einer Einschränkung für die eindeutige [Quelladresse + TX-Signatur] zu Blockchain-Transaktionen
Das würde eine triviale Möglichkeit schaffen, das System zu DoSen ...