Grösse in Bytes einer Überweisung (Transkation) steigt mit der Zeit

Hallo zusammen im Video (45:30) zu Mehr als nur Hype! - „500.000$ pro BITCOIN noch realistisch“ laut Starinvestorin Wood
hat Roman die fragte zu Kosten (sprich Transaktionsgrösse) einer Überweisung beantwortet.

Habe ich das Richtig verstanden dass die Transaktionsgrösse (Sprich die Feehöhe die man bezahlen muss) einer Überweisung, grösser wird je mehr man mit dem Wallet wirklich mit BTC bezahlt?
So wie ich dass im Video verstanden habe kommt es immer darauf an wie viele Transaktionen mit einem bestimmten Betrag benötigt werden um die gesammte Zahlung zu machen.

Gruss
sappi

Nein, nicht ganz richtig.

Um es ganz einfach an einer Analogie zu erklären:
Stell dir vor du bekommst auf der einen Seite einen 100€ Schein in die Hand gedrückt - und auf der anderen 100 x 1€-Münzen. Was ist umständlicher in der Bezahlung? Klar, die 100 Münzen zusammen zu kratzen ist deutlich nerviger als einfach nur mit einem Schein zu bezahlen.

So ähnlich läuft das auch mit deiner Wallet, welche ja nichts anderes macht als deine UTXO („Unspent Transaction Outputs“) zusammenfasst in einen „Kontostand“. In der Blockchain selbst steht aber nirgends „@Sappi besitzt 1,308450835 BTC“ sondern diese kennt ja nur die eingegangenen Transaktionen und deren Betrag auf deine Adressen.

Nehmen wir mal an du hast monatlich 0,01 BTC auf deine Wallet eingezahlt und möchtest jetzt eine Transaktion in Höhe von 0,5 BTC tätigen. Jetzt muss deine Wallet diese ganzen UTXO aus der Vergangenheit zusammen kratzen (also die Münzen im Geldbeutel suchen), die alle in die Transaktion eingebunden werden, was natürlich deutlich mehr Speicherplatz benötigt. Genau deshalb ist diese Transaktion dann etwas teurer in den Gebühren, da sie einfach mehr Gewicht hat.

Daher kann man pauschal sagen, dass je mehr einzelne, kleinere Transaktionen du auf deine Wallet tätigst, desto teurer wird eine zukünftige, große Transaktion von deiner Wallet werden, da die Kassiererin (also die Blockchain :stuck_out_tongue_winking_eye:) die ganzen Münzen erst zählen und einsortieren muss.

Das stimmt also nicht, es kommt ja darauf an wie dein Geldbeutel gefüllt ist (Ob viele große Scheine oder Münzen), nicht wie oft du mit diesem schon bezahlt hast.

Das ist jetzt technisch keine wirklich perfekte Erklärung, da können dir andere deutlich bessere Antworten geben, da ich mich da auch nicht so genau auskenne, aber das Grundprinzip müsste so eigentlich stimmen.

1 „Gefällt mir“

Alles schön erklärt!

Richtig! Die Miner suchen sich selbst aus welche Transaktionen sie in einen Block aufnehmen, da die Größe eines Blocks begrenzt ist, und die Miner u.a. durch die Transaktionsgebühren bezahlt werden.

Wenn eine Transaktion, die mehr Speicher braucht, nur mit der gleichen Fee ausgestattet ist wie andere, kleinere Transaktionen, würde der Miner natürlich lieber mehr von den kleineren Transaktionen in den Block aufnehmen.

Deshalb stellt man in der Wallet-Software die Gebühr üblicherweise in satoshi/vbyte ein, da das das relevante Vergleichsmaß mit anderen Transaktionen ist. Bei gleicher Einstellung wird dann eine Transaktion mit vielen einzelnen Inputs automatisch teurer. Unabhängig vom Betrag der Inputs.

1 „Gefällt mir“

Kann man grob sagen wie das skaliert? Bedeutet Stückelung in x Teilen Faktor x bei der Größe der Transaktion gegenüber einer ungestückelten BTC Zahlung? Ganz kann das natürlich nicht sein, da es immer nur eine empfangsadresse gibt. Aber so grob?

Ei. In der Hinsicht wird man beim Stacking bestraft. Auch als Hodler will man ja mal auf seine Hardware Wallet überweisen…

Schau mal in das Thema coin selection rein.

Falls du viele kleine utxos hast, könnte es sich lohnen, diese zu konsolidieren (kann aber unerwünschte Wirkungen auf deine Privatsspähre haben, weil dann die Historie aller dieser coins zusammengeführt werden kann).

1 „Gefällt mir“

https://jlopp.github.io/bitcoin-transaction-size-calculator/

1 „Gefällt mir“

Es ist doch im realen leben so, dass man zu begin einen grossen Schein im Geldbeutel hat. Wenn man dann beginnt auszugeben, hat man am Ende immer viele kleine Münzen im Geldbeutel, oder geht es nur mir immer so :slight_smile:

Ja, da hört die Analogie dann auf zu funktionieren.

Danke für den Anhaltspunkt @Makowski! Mein Problem ist, dass ich gerne alle gestackten Satoshis aus mehreren Käufen in einer Soft-Wallet auf eine Hardware Wallet übertragen möchte. Wenn ich es richtig verstanden habe, ist das selbst schon die Konsolidierung der Coins. Heißt aber im Umkehrschluss auch, dass ich mindestens einmal die teureren Transaction Fees zahlen muss, da werd ich wohl nicht drum rum kommen, oder?

Das ist korrekt.

Das kommt drauf an. Du kommst nicht umhin, eine große Transaktion zu bauen. Was die kosten muss hängt davon ab, was an Transaktionsvolumen sonst so los ist.

Wenn du es damit nicht eilig hast und unmittelbar von niedrigen Gebühren profitierst, lohnt es sich abzuwarten. Kannst du die Gebühren in deinem Wallet selbst wählen? Viele Wallets bei denen das nicht möglich ist, überzahlen meistens. Da gibt es dann nur die Kategorien schnell, mittel, langsam, und langsam ist dann mit 30 sats/vB auch schon teuer.

Hier kannst du schauen, wie hoch die Gebühren gerade tatsächlich sind. Erfahrungsgemäß sinken sie am Wochenende ab. Lokaler Tiefpunkt ist oft Montag morgens zwischen 4 und 8h mitteleuropäischer Zeit.

Dann erwarten wir in fünf Tagen ein difficulty retargeting von ca. 15%. Das heißt, dass danach die Blöcke wieder schneller eintrudeln. Dann würden zunächst die aufgestauten Transaktionen abgebaut, danach kann’s wieder richtig preiswert werden.

Meine Prognose wäre, dass morgen (24.05.2021) früh wieder Transaktionen für 10 sats/vB möglich sind, und in zwei Wochen für wenige sats/vB.

EDIT:

3 „Gefällt mir“

Wow lieben Dank für diesen ausführlichen und hilfreichen Kommentar :slight_smile:

Da ich zwar Zeit mitbringe, aber es noch gerne in diesem Leben erledigt hätte, eine Frage:

Angenommen, ich wähle die Gebühren so niedrig, dass die Transaktion nie in einem Block landet. Wird der Mempool irgendwann mal aufgeräumt (sowas wie „alles älter 4 Wochen wird weggeschmissen“) oder muss ich dann selbst aktiv werden (Nullung durch Double Spend mit anderer Senderadresse oder Replace by Fee)?

Im Forum gibt es auch schon viele Threads dazu:

1 „Gefällt mir“

Vorsicht bei RBF in deinem Fall. Wenn du mit der Transaktion alle utxos leer räumst, kann es sein, dass du für das Erhöhen der Fees eine neue utxo benötigst. Würdest du die gleichen utxos verwenden, dann reduziert sich die Zahlung an die Zieladresse zugunsten der Gebühr. Es kann sein, dass dein Wallet kein RBF mehr erlaubt – weil die eigentliche Zahlung kleiner wird. Vom Protokoll dürfte da eigentlich nichts dagegen sprechen.

Gibt es eine Übersicht welche Hardware Wallets RBF können?

Ich glaube nicht, dass das eine Frage der Hardware ist. Die gängigen Hardware Wallets kannst du mit Electrum verwenden. Dort kannst du RBF Transaktionen bauen. Es würde mich wundern, wenn ein Wallet die Signatur verweigert weil das RBF Flag gesetzt ist.

1 „Gefällt mir“

Also klar verstehe ich, dass der Anteil vom Kuchen kleiner wird, wenn die Fee steigt. Und auch, dass eventuell eine neue UTXO benötigt wird und es deswegen unter Umständen nicht klappt. Dramatischeres kann aber nicht passieren, oder?

Ich kann natürlich nicht garantieren, dass du nicht irgendetwas komisches bei Basteln der Transaktion machst. :wink:

Prinzipiell (technisch) kann man beim Bauen von Transaktionen schon gravierende Fehler machen, z.B. die Coins für 100 Jahre locken.

Ich nehme aber an, dass deine Frage sich auf RBF bezieht und du weißt, wie man eine normale Transaktion mit eigens ausgewählten utxos aus Electrum sendet und das RBF Flag setzt.

Wenn die Fees nicht ausreichen, hängt die Transaktion unter Umständen ein paar Monate im Mempool fest. Wie schlimm das ist kommt drauf an. Es kommt z.B. drauf an, ob du das Geld schnell brauchst, ob die Keys des Absenders kompromittiert werden, ob der Verlust an Privatsphäre für dich relevant ist, sollte die Transaktion wieder aus dem Mempool fliegen, etc.

Zu letzterem Punkt: Auch falls die utxos so nicht zusammen in einer Transaktion auf der Blockchain landen, hast du sie doch durch das Broadcasten der Transaktion öffentlich gemacht und miteinander verknüpft.

Falls die Transaktion im Mempool hängen bleibt, aber du dann weitere utxos akkumuliert hast, die du auch konsolidieren möchtest, gibt es noch die Möglichkeit von child pays for parent (CPFP). Dabei nimmst du den output der Transaktion, die im Mempool hängt und die neuen utxos als inputs. Das alles schickst du dann mit entsprechenden Gebühren an eine neue Adresse. Wenn die Gebühren beider Transaktionen kombiniert ausreichen, haben die Miner einen Anreiz die ansonsten zu billige erste Transaktion trotzdem aufzunehmen, denn die zweite funktioniert ja nur zusammen mit der ersten.

CPFP ist in Summe teurer als RBF, weil du mehr Blockspace benötigst, unterscheidet sich aber von RBF darin, dass du jetzt weitere utxos hinzunehmen kannst, und auch die outputs neu gestalten kannst. Das geht soweit ich weiß mit RBF nicht.

Hier komme ich aber auch an meine Grenzen. RBF ist nicht Teil des Bitcoin Konsensus Protokolls. Wie einzelne Nodes mit RBF Transaktionen umgehen, also ob sie sie weiterleiten und ihren Mempool aktualisieren hängt an den einzelnen Node Implementierungen.

1 „Gefällt mir“