Warum sind Segwit-Transaktionen billiger als Legacy-Transaktionen?

Was ist der Grund, die Gebühren für Segwit-Adressen zu senken, während ältere Adressen mit höheren Gebühren beibehalten werden? -- Mich interessiert beides, warum Segwit-Transaktionen billiger sind als Legacy-Adressen und warum Legacy-Adressen immer noch existieren, wenn sie teurer sind.

Antworten (2)

Warum sind Segwit-Transaktionen billiger?

Getrennte Witness-Transaktionen sind billiger, weil sie so konzipiert sind .

Bei Legacy-Transaktionen hat jedes Byte die gleichen „Kosten“; Sie zählen alle gleichermaßen zum 1000000-Byte-Blocklimit. Im Gegensatz dazu halten Segwit-Transaktionen bestimmte Daten (Signaturen usw.) in einem separaten „Zeugen“-Abschnitt, und dieser Zeugenabschnitt wird abgezinst: Jedes Zeugenbyte zählt nur als 0,25 Byte zum Blocklimit. Die Gebühren werden vom Markt und nicht von einer Systemregel bestimmt, aber die Tatsache, dass bei Segwit-Transaktionen ein Teil ihres Inhalts abgezinst ist, führt dazu, dass der Markt sie weniger bepreist.

Dieser Rabatt ist aus einem bestimmten Grund gerechtfertigt: Bei Legacy-Transaktionen ist es deutlich günstiger, einen Transaktionsoutput zu erstellen, als einen auszugeben. Dies fördert unnötigen Staub: Ausgaben, die zu Zeiten niedriger Gebühren erstellt wurden, können bei hohen Gebühren unwirtschaftlich werden (= mehr kosten, als sie wert sind). Dies ist eine Belastung für das gesamte Ökosystem, da vollständige Knoten (zumindest vorerst) einen schnellen Zugriff auf die Menge aller nicht verbrauchten Ausgaben aufrechterhalten müssen.

Warum werden Legacy-Transaktionen noch verwendet?

Kompatibilität. Dazu gibt es wenig mehr zu sagen: Sie sind immer noch erlaubt, weil es ohne triftigen Grund unmöglich wäre, eine Änderung zu bekommen, die die vorhandene Software der Leute kaputt macht. Und die Leute benutzen sie immer noch, weil sie ihre Infrastruktur nicht aufgerüstet haben, um Segwit-Transaktionen zu verwenden - die Engineering-Kosten für die Durchführung dieses Upgrades können (zu Recht oder nicht) als höher angesehen werden als das, was durch ein Upgrade gewonnen würde.

Nit: Das Blocksize-Limit ist tot, es lebe das Blockweight-Limit.
@Murch Ja, obwohl ich vermeiden wollte, auf diese Details einzugehen. Die Beschreibung des Zeugen als um 0,25 auf die 1000000-Grenze abgezinst zu beschreiben, entspricht meiner Meinung nach der tatsächlichen Spezifikation?
Warum ist der Zeugenabschnitt rabattiert? Ist es irgendwie billiger zu speichern und zu übertragen?
Es ist billiger, weil die Regeln es vorschreiben. Die Rechtfertigung für diese Regel ist, dass sie das Netzwerk tatsächlich nicht so stark belasten: Ausgaben fügen dem UTXOs-Set hinzu, aber Eingaben entfernen es. Nur Eingaben haben einen Zeugenabschnitt, sodass eine Transaktion mit mehr Eingaben (dh eine, die stark abgezinst wird) das Netzwerk weniger belastet.

Es muss einen Anreiz für die Verwendung eines effizienteren Transaktionstyps geben, der die Skalierbarkeit des Netzwerks weniger berücksichtigt.