Was ist ein "Unspent Transaction Output" (UTXO) und was muss man beachten?

Oha :exploding_head: 1000 Dank für diesen ausführlichen und super verständlichen Betrag! Unglaublich, wie toll die Community hier ist! :heart:

2 „Gefällt mir“

Echt ein super Beitrag :smiley:

Ich habe eine Frage: Also je mehr in einer Transaktion drin steht, desto größer ist sie (und kostet dann auch mehr). Gibt es bei der Größe einen unterschied zwischen „inputs“ und „outputs“?
Also macht es einen unterschied ob eine transaktion ganz viele inputs hat oder ganz viele outputs hat?

und noch eine frage: müsste es nicht einen output für die miner geben? weil in dem einen bild oben sieht man nur 1.

1 „Gefällt mir“

Zwei sehr gute Fragen!

Wenn du dir die Transaktion oben mal anschaust fällt dir eine Differenz zwischen Input und Output auf, das ist die Gebühr die an die Miner geht. Man gibt also mehr in die Transaktion rein als man raus nimmt und definiert, je nach dem wie groß die Differenz ist, die Höhe der Gebühr.

Das selbe passiert im Restaurant wenn du der Bedienung für das 19,70€ Essen einen 20€ Schein gibst und sagst „Stimmt so“.

So kann man ohne zusätzlichen Platzverbrauch einen weiteren Parameter, die Netzwerkgebühr, definieren. Es gilt immer Fee = Input - Output.

Es gibt tatsächlich einen Unterschied. Während bei einem Output einfach nur ein Ziel angegeben wird muss im Input neben der Information um welchen UTXO es geht auch bewiesen werden dass man den Private Key für diesen UTXO besitzt.

Das näher zu erklären würde aber etwas den Rahmen sprengen und das müsste ich mir auch genauer anschauen.

Dazu kannst du dir Kapitel 6 in Mastering Bitcoin anschauen:

4 „Gefällt mir“

Ahhh, das macht sinn! danke für die antwort @sutterseba . :blush:

also kann man grob schon sagen dass eine transaktion mit ganz vielen inputs teurer ist als eine mit vielen outputs? weil das würde ja nochmal bestärken dass es wichtig ist diese zusammenfassungen zu machen…

@sutterseba

Ich versuche mich gerade an einer Konsolidierung. Dazu hast Du geschrieben:

Das wirft bei mir die Frage auf, wo ich auf der BitBox die UTXO finde, die zu einer Walletadresse gehören.

Wenn ich wie von Dir dargestellt, Coin Control aktiviere, sehe ich für jede Adresse eine ID. Ist das die UTXO oder noch etwas anderes?

In der BitBox App wird für jeden UTXO unter der Adresse die Transaktions ID als „Outpoint“ angegeben. Damit kann die Transaktion und der entsprechende Output in dieser Transaktion exakt identifiziert werden.

Dieser Outpoint beschreibt zum Beispiel den achten (bzw. neunten) Output dieser Transaktion:

ff6a1633b87ad2e231a77008fca8f91e82ac611918a3938687f719cd56bd43cf:8

Zuerst die Transaktions ID an sich, und dann das :8 für den entsprechenden Output.

Falls mehrere Transaktionen auf einer Adresse eingegangen sind, werden dir in der App einfach mehrere UTXO aufgelistet, zwar unter der gleichen Adresse, aber mit unterschiedlichen Outpoints.

Denn, wie im Zitat oben, es geht um Transaktions-Outputs, nicht um Adressen. Die Adresse ist nur das Namensschild auf dem Briefkasten. Die UTXO sind die Anzahl Briefe in diesem Briefkasten. Mit Coin Control kannst du individuell aussuchen welche Briefe du aus dem Briefkasten nehmen willst.

Beantwortet das die Frage? :grinning:

5 „Gefällt mir“

Ich bin mir nicht sicher, ob ich das richtig verstehe. Kann ich das Beispiel Deiner Erklärung

wie folgt zusammenfassen?

Id : UTXO

Falls ja, hätte ich noch eine Frage dazu: Ich habe mehrfach auf dieselbe Adresse eingezahlt. Warum habe ich unterschiedliche Ids erhalten?

Weil es unterschiedliche Transaktionen sind! Jede Transaktion hat eine eigene txid, das sollte klar sein. Die Pakete die du dir an deine Anschrift schicken lässt haben ja auch unterschiedliche Sendungsnummern.

Du kannst ja auch mehrere UTXO in einer Transaktion haben, dann bleibt die txid die gleiche, nur der Output hinten wird angepasst.

Genau.

Transaktion → txid:vout ← UTXO

Genau so steht es auch low-level im tatächlichen Input einer Transaktion:

"vin": [
{
        "txid" : "4bbf676731987cce1e4639ec28d1219f065ab2aa5e9deb323c0b56bd0482d499",
        "vout" : 0,

// Hier geht's dann noch weiter...
4 „Gefällt mir“

könnte ich auch sagen, dass id:UTXO meine btc/sats repräsentiert?

Das könntest du nicht nur so sagen, das ist so. :grinning:

3 „Gefällt mir“

Cool, danke für deine Geduld

2 „Gefällt mir“

Sehr geiler Artikel, ich konnte extrem viel neues mitnehmen, auch wenn ich schon viel wusste. Danke!:pray:

2 „Gefällt mir“

Vielen Dank @sutterseba für den sehr ausführlichen Artikel. Ich habe kürzlich zu einem DCA bei Pocket Bitcoin gewechselt. Zuvor habe ich das manuell über eine Börse gemacht und mir dann von Zeit zu Zeit die Coins auf eine Hardware-Wallet übertragen. Auch überlege ich mir gerade für die Tochter einer Bekannten einen DCA über Pocket Bitcoin einzurichten, damit die Mutter monatlich einen kleinen Betrag einzahlen kann. Nach diesen Ausführungen bin ich mir nun aber nicht mehr sicher, ob das eine gute Idee ist. Ich selber kann eine Konsolidierung wie hier beschrieben vornehmen. Der Mutter möchte ich das aber nicht zumuten - es soll ja möglichst einfach sein. Ist es wahrscheinlich, dass bspw. in 15 Jahren die Kosten für eine Überweisung so hoch sind, dass die über diese Jahre ersparten Satoshis von den Transaktionskosten aufgebraucht werden? Das wären ja dann über die Jahre 180 UTXO mit bspw. Satoshis im Wert von je €50 pro UTXO. Wie seht ihr das? Oder habe ich da etwas falsch verstanden?

Zu der Frage gibt es schon viele Diskussionen im Forum, schau mal hier rein:

Transaktionsgebühren werden nicht den eigentlichen Betrag der Transaktion auffressen, das glaube ich nicht. Aber wie sich die Gebühren genau entwickeln werden kann dir niemand sagen, weshalb es eben sinnvoll ist sich bestmöglichst darauf vorzubereiten.

Aber das Konsolidieren von UTXO ist kein absolut kein Muss, du kannst der Bekannten das DCA mit Pocket mit gutem Gewissen einrichten, würde ich sagen. Die Gebühren werden sich ja relativ stetig entwickeln; man kann immer noch rechtzeitig eine Transaktion tätigen. Ansonsten kannst du ja auch quartalsweise mit Pocket kaufen und hast dann nur 4 UTXO pro Jahr.

Und nur zum sicher stellen: Du zahlst nicht pro UTXO eine Transaktionsgebühr, sondern für die Größe der ganzen Transaktion, die natürlich u.a. von der Anzahl an Inputs abhängt.

Hier hatte ich mal meine 2 sats zu hohen Gebühren allgemein abgegeben:

2 „Gefällt mir“

Danke für die Antwort @sutterseba Ich denke, soweit habe ich das verstanden. Ich überlege mir nun gerade, wie ich dies am besten lösen könnte. Beim DCA wäre es vermutlich sinnvoll, bspw. die 12 Transaktionen jeweils Ende Jahr an eine neue eigene Adresse zu senden. So hätte man bspw. nach 15 Jahren lediglich 15 anstatt 180 UTXO. Auch für meine Situation überlege ich mir gerade, was eine sinnvolle Lösung sein könnte. Da Pocket Bitcoin inzwischen die Möglichkeit bietet, mit dem XPub einen DCA einzurichten, könnte man dies möglicherweise mit mehreren Accounts in der BitBox lösen.
Account 1 = Hodl
Account 2 = Pocket
Account 3 = Börse
So könnte ich dann bspw. ebenfalls Ende Jahr vom Pocket- und Börsen-Account zum Hodl-Account je eine Transaktion machen. Mit den Accounts der BitBox muss ich mich aber noch genauer befassen. Bin mir da nicht sicher, ob diese auch auf einer anderen Hardware-Wallet wiederhergestellt werden können. Im entsprechenden Beitrag habe ich auf die Schnelle nichts gefunden.

Klingt gut so.

Ja, das ist kein Problem. Die Accounts sind Teil des Derivation Path und werden alle mit der Mnemonic abgeleitet.

Je nach dem muss man mit der entsprechenden Software etwas rum spielen, da nicht immer automatisch nach Accounts beim Ableiten gesucht wird.

Wieso 15? Du kannst beim jährlichen konsolidieren ja das vorherige Jahr (bzw. Jahre) auch zusammenführen. So hast du im „Hodl“ Account immer nur einen einzigen UTXO.

1 „Gefällt mir“

Stimmt, zu wenig weit nachgedacht. Spielt es eine Rolle, ob ich meine Walletauf der BitBox erstellt habe, bevor die Möglichkeit bestand Accounts zu erstellen? Kann ich nach dem Update der BitBox Software auf der bisherigen Wallet einfach neue Accounts erstellen? Frage passt natürlich nicht wirklich in diesen Beitrag, sorry.

Ja.

Sollten dir nach einer Wiederherstellung bzw. neu einrichten mal die Accounts nicht mehr angezeigt werden, dann erstell sie in der BitBox App einfach neu. Die zugehörigen Balances werden dann automatisch gefunden.

Also in keinem Fall Panik bekommen, die Accounts können nicht verloren gehen da sie einem einheitlichen Standard folgen und von keiner Hard-/Software abhängig sind.

Müssen die Namen der Accounts bekannt sein oder können die Accounts auch ohne Namen wieder hergestellt werden? Ansonsten ginge das ja in Richtung 25. „Wort“. Könnte man das Konsolidieren von Accounts auch in die Software von BitBox integrieren? Wäre doch eine nützliche Funktion :+1:

Nein, in diese Richtung geht es definitiv nicht.

Hier mal exemplarisch ein Derivation Path:

m/84'/0'/0'/0/0

Dieser beschreibt jetzt gerade die erste Adresse (Receiving) auf dem ersten Account.

Die fünfte receiving Adresse auf dem zweiten Account wäre also:

m/84'/0'/1'/0/4

Die siebte change Adresse des dritten Accounts wäre dann:

m/84'/0'/2'/1/6

Hier wird nirgends ein Account Name o.ä. gespeichert. Die Accounts werden standardgemäß einfach abgeleitet und man kommt mit dem selben Seed immer zum selben Ergebnis.

Die Frage ist also immer welche Pfade die Wallet Software „absucht“. Schaut sie sich zum Beispiel nur den Account Index 0, also den „ersten“ Account an, sieht es so aus als wären deine Bitcoin „verloren“ gegangen, was natürlich nicht der Fall ist - sie hat nur nicht nach ihnen gesucht.

Mit Coin Control ist das quasi integriert. Das Konsolidieren besteht schließlich nur aus einer Transaktion an eine eigene Adresse. Mit der Sparrow Wallet hast du da noch mehr Übersichtlichkeit, falls dich das interessiert.

Hoffe ich habe dich mit den Ableitungspfaden jetzt nicht gegen die Wand gefahren. Was das angeht kenne ich mich auch noch nicht all zu gut aus, also kann sein dass da technisch irgendwo noch ein Fehler drin ist.


Um die Frage „Was ist eine Change bzw. Receiving Adresse“ vorweg zu nehmen:

Du kommst eigentlich nur mit Receiving Adressen in Kontakt, die werden dir angezeigt wenn du auf „Emfpangen“ klickst. Die Change Adressen werden von den restlichen Adressen getrennt und automatisch von der Wallet generiert und verwendet falls du in einer Transaktion Wechselgeld bekommen sollst.

Damit wird sicher gestellt dass nicht aus versehen eine Adresse doppelt als Change Adresse verwendet wird und irgendwelche Historien offen gelegt werden.


Wie genau die BitBox App das Handhabt weiß ich nicht. Es kann sein dass die Software erkennt dass Account Index 1 & 2 bereits verwendet wurden weshalb du beim neuen erstellen dann den Index 3 siehst. Kann also sein dass man dann die selben Namen verwenden sollte um auch den korrekten Account zu sehen.

Aber ein einfaches neu aufsetzen der BitBox bzw. neuinstallation der BitBoxApp sollte das sowieso umgehen, ist also kein Problem.

So technisch muss man das garnicht wissen - Aber du hast halt quasi danach gefragt :grin:

7 „Gefällt mir“