Was ist der maximale Transaktionsdurchsatz des Bitcoin-Netzwerks?

Ich habe verschiedene erwähnte Werte gesehen, aber die 3,3--7 Transaktionen/Sekunde scheinen häufig aufzutauchen. In Abschnitt 2 von On Scaling Decentralized Blockchains (A Position Paper) heißt es Folgendes:

Es gibt zwei interessante Szenarien: Das erste Szenario ist, wenn das Bitcoin-Netzwerk mit maximalem Durchsatz arbeitet, nämlich 3,3–7 Transaktionen/Sek . Dieser maximale Durchsatz wird hauptsächlich durch die maximale Blockgröße von Bitcoin von 1 MB und die variable Transaktionsgröße eingeschränkt. Die untere Grenze des maximalen Durchsatzes ergibt sich aus der aktuellen durchschnittlichen Transaktionsgröße von etwa 500 Byte, während die obere Grenze auf einer vielzitierten Schätzung aus [1] basiert, die ungewöhnlich kleinen (250 Byte) Transaktionen entspricht.

Die maximale Blockgröße beträgt laut Quellcode 1.000.000 . Meine Berechnungen ergeben diese Werte für durchschnittliche Transaktionsgrößen von 500 Bytes für die Untergrenze und 250 Bytes für die Obergrenze:

lower bound: 1,000,000 / 500 / 600 = 3.3333(3)
upper bound: 1,000,000 / 250 / 600 = 6.6666(6)

lower bound’: 1024*1024 / 500 / 600 = 3.4952533(3)
upper bound': 1024*1024 / 250 / 600 = 6.9905066(6)

Nach meinen Berechnungen beträgt der korrekt gerundete maximale Durchsatz des Bitcoin-Netzwerks 3,3--6,7 für die oben angegebenen Transaktionsdurchschnitte. Ich frage mich, ob ich etwas falsch gemacht habe. Die Autoren hätten nur die obere Grenze runden können, aber das macht nicht viel Sinn.

Dies könnte eine Frage sein, die man den Autoren der Arbeit stellen sollte, da sie anscheinend ihre Mathematik nicht gezeigt haben. Es ist für alle anderen schwer zu sagen, wie sie auf die Zahlen gekommen sind, die sie gemacht haben. Meine Vermutung ist, dass es Rundungen sind.
Ich habe den Titel bearbeitet, da es um das Bitcoin-Netzwerk geht und nicht um eine bestimmte Implementierung.

Antworten (1)

Die kleinste Transaktion, die üblicherweise in freier Wildbahn auftreten würde, ist eine P2PKH-Transaktion mit einer Eingabe und zwei Ausgaben (Betrag senden und Ausgabe ändern). Eine P2PKH-Eingabe hat 148 Bytes, eine P2PKH-Ausgabe hat 34 Bytes und der Transaktions-Overhead beträgt 10 Bytes, 148 bytes + 2*34 bytes + 10 bytes = 226 bytesfalls keine Änderungsausgabe erforderlich ist, könnten dies tatsächlich 192 Bytes sein.

Das Blocksize-Limit ist ein Megabyte, kein Mebibyte, also 1.000.000 Bytes.

Wenn alle Transaktionen nur P2PKH mit einer Eingabe und zwei Ausgaben wären, wäre der Durchsatz 1,000,000 / 226 / 600 = 7.37 tps. Die Mischung ist jedoch sehr unterschiedlich, da viel mehr Transaktionen im Netzwerk Multisignatur-Eingaben verwenden oder gleichzeitig an Schiffsladungen verschiedener Adressen senden, und die aktuelle durchschnittliche Transaktionsgröße beträgt etwa 520 Bytes, wodurch die Zahl von 3 tps viel höher ist präzise.

Ich weiß nicht, warum die Autoren nur die obere Grenze gerundet hätten.