Warum verwendet Bitcoin das UTXO-Modell? [Duplikat]

Ich weiß was es bedeutet. Aber ich kann nicht verstehen, warum Bitcoin sich für ein solches Modell entschieden hat, bei dem Sie kein Guthaben haben, sondern nur nicht ausgegebene Transaktionsausgaben. Und ist das nicht dasselbe wie das Gleichgewicht zu haben? Ich nehme an, wenn Sie keine Münzen ausgegeben haben, haben Sie sie im Gleichgewicht. Welchen Vorteil hat es gegenüber einem gewöhnlichen (Nicht-UTXO) Modell? Bitte mit Vergleich mit anderen Kryptowährungen, die kein UTXO haben, wenn möglich.

Antworten (1)

Stellen Sie sich vor, wir haben eine bilanzbasierte Blockchain, eine Transaktion wird erstellt, die 1 BTC von Alice an Bob sendet, diese Transaktion wird in einen Block abgebaut und bestätigt. Es kommt ein weiterer Block, der wieder dieselbe Transaktion enthält. Das ist offensichtlich nicht richtig, aber es ist sehr schwierig für uns, ein System zu schaffen, wo dies nicht möglich ist.

Wir müssen entweder:

  • Speichern Sie eine Liste aller Transaktionen, die stattgefunden haben, beziehen Sie sich in Echtzeit darauf und schließen Sie alle aus, auf die bereits reagiert wurde (der Saldo wird abgezogen und im Hauptbuch erhöht).

  • Haben Sie eine Nonce für jede Adresse, die sich bei jeder Transaktion erhöht, und erlauben Sie keine Transaktion mit einer niedrigeren Nonce, als wir derzeit annehmen.

Letzteres ist zwar am sinnvollsten und das in Ethereum verwendete System, aber suboptimal. Für jedes einzelne Konto als Konsensregel müssen wir alle Nonces für alle Ewigkeit bis zu einem vom Konsenssystem festgelegten Maximum speichern. Wir können auch keine Ausführung von Transaktionen außerhalb der Reihenfolge haben, da sie zu exklusiven Aktionen werden (wenn 1 und 3 passiert sind, kann 2 jetzt nie passieren), dies beseitigt die Möglichkeit, vorsignierte, aber nicht übertragene Transaktionen zu speichern, wie sie in Bitcoin verwendet werden .

Stattdessen speichern wir nur eine Liste von Transaktionsausgaben im UTXO, die noch nie ausgegeben wurden, und streichen sie aus der Datenbank, wenn sie ausgegeben wurden. Die Wiedergabe einer bereits vorhandenen Transaktion kann nicht erfolgen, da sie eine Ausgabe ausgibt, die nicht vorhanden ist. Dies ist letztendlich am skalierbarsten, da ausgegebene Transaktionen keinen Fingerabdruck auf dem Node-Speicher hinterlassen und Gültigkeitsprüfungen in Millisekunden durchführen können.

Die Verwendung eines UTXO führt dazu, dass Transaktionen atomar und automatisch nicht wiederholbar sind.

Sie sollten Ihre Antwort auf die Frage kopieren, von der dieser Beitrag als Duplikat markiert wurde. Die Antwort auf die Vergangenheit ist gut, aber ich denke, Ihre Erklärung ist nett und nähert sich der Antwort auf andere Weise.
Sehen Sie sich die Zeitstempel an.
Ah, sorry, ich habe einen verwirrenden Tippfehler in meinem ersten Kommentar gemacht, er sollte sagen "Die Antwort auf diesen Beitrag ist gut,..." . Ich weiß, dass Sie hier geantwortet haben, bevor es als Duplikat markiert wurde. Ich wollte nur sagen, wenn diese andere Frage das Ziel für Duplikate ist, sollten Sie Ihre Antwort darauf kopieren. Ich denke, es ist eine hilfreiche Antwort, und es wird mehr Ansichten erhalten, wenn Sie sie dorthin kopieren (da diese Frage jetzt als doppelt markiert ist).
Unterholz, tut mir leid.