Transaktionsgebühren: Unterschied zwischen den Versionen

Aus Bitcoin Wiki
Wechseln zu: Navigation, Suche
(Seite erstellt)
(kein Unterschied)

Version vom 7. Januar 2013, 00:20 Uhr

Receiving the fees from hundreds of transactions (0.44 BTC)

Transaktionsgebühren können jedem Transfer von Bitcoins zwischen zwei Adressen hinzugefügt werden. Im Moment werden viele Transaktionen getätigt ohne das überhaupt eine Transaktionsgebühr vorausgesetzt wird, aber in Transaktionen, die Bitcoins von vielen Adressen beinhalten und deswegen eine große Datenmenge umfassen, wird in der Regel eine geringe Transaktionsgebühr vorausgesetzt.

Die Transaktionsgebühr geht an einen der Bitcoin Miner. Wenn ein neuer Block mit einem korrekten Hash erstellt wird, werden alle wartenden Transaktionen in diesen Block eingebettet und alle gesammelten Transaktionsgebühren gehen an den Erzeuger des Blocks.

Im Prinzip sind Transaktionsgebühren freiwillig. Die Person, die die Bitcointransaktion tätigt kann eine Transaktionsgebühr in beliebiger Höhe anweisen oder auch überhaupt keine. Allerdings ist ein Miner nicht verpflichtet eine Transaktion ohne Gebühren in seinen neu erzeugten Block aufzunehmen. Die Transaktionsgebühr ist daher ein Mittel um sicherzustellen, dass eine Transaktion in den nächsten, erzeugten Block aufgenommen wird.

Es wird vermutet, dass mit der Zeit die gesammelten Transaktionsgebühren ein Anreiz für die Miner sind mehr Bitcoins mit dem Erzeugen von neuen Blocks zu verdienen. Ohne Transaktionsgebühren würde nur die Blockvergütung (derzeit 25 Bitcoins 07.01.2012) anfallen. Die Transaktionsgebühren sind auch ein Mittel zum Zweck das erzeugen von neuen Blocks attraktiv zu halten, wenn es in ferner Zukunft keine feste Vergütung für neu erstellte Blocks mehr gibt.

Minimale Transaktionsgebühr

Seit dem 10. Juni 2012 lauten die minimalen Transaktionsgebühren im original Bitcoin Client wie folgt:

  • Transaktion für das Einbetten in einem neuen Block akzeptieren: 0.0005 BTC
  • Transaktion an andere Bitcoinclients weiterleiten: 0.0001 BTC

Eine Transaktion kann ohne Gebühren versendet werden wenn beide der folgenden Fälle zutreffen:

  • Die Transaktion ist kleiner als 10 (SI) kilobytes (10.000 bytes).
  • Alle Transaktionsausgänge betragen 0.01 BTC oder mehr.

Übersicht

  • Der original Bitcoinclient prüft jede ausgehende Transaktion. Wenn eine Transaktionsgebühr nach den vorstehenden Regeln erwartet wird, verhindert der Client das Senden der Transaktion, wenn die Transaktionsgebühr zu gering angesetzt wird.
  • Der Benutzer wird aufgefordert die Gebühr zu bestätigen bevor die Transaktion gesendet wird.
  • Technisch werden die Gebühren gesendet indem sich mehr Bitcoins in dem In- als im Out-Bereich des Datenpakets befinden. So gibt es einen Überschuss im Datenpaket, der keiner Adresse zugeordnet ist.
  • Derjenige, der den Block erzeugt und verbreitet, der diese Transaktion enthält, kann sich diese überschüssigen Bitcoins nehmen. Sie sind in der normalen Blockvergütung als zusätzlicher Bonus enthalten.
  • Wenn ein Miner eine Transaktion empfängt, die keine Transaktionsgebühr enthält, aber eigentlich sollte, dann kann er die Übernahme in seinen erzeugten Block verweigern. Die Transaktion wird dann evtl. in einen später erzeugten Block von jemand anderem übernommen, der gewillt ist dies ohne Gebühren zu tun. Eine bestimmte Höhe der Transaktionsgebühr kann aber kein Miner erzwingen. Er kann nur das Angebot respektive die Transaktionsgebühr akzeptieren oder das Abwickeln der Transaktion verweigern.
Dieses Guthaben setzt sich ausschließlich aus 0.01 BTC cents zusammen. Da das versenden des Guthabens so eine große Datenmenge erzeugen würde ist eine sehr hohe Gebühr nötig.

Die verschiedenen Bitcoinclients und Versionen haben unterschiedliche Regeln um festzustellen, ob eine Transaktion akzeptiert werden soll und ob Transaktionsgebühren zu entrichten sind um die Transaktion möglichst schnell in einen Block zu bekommen.

Der Vorteil, wenn eine Transaktionsgebühr entrichtet wird ist, dass die Transaktion üblicherweise schneller in einen der nächsten Blöcke aufgenommen wird, als wenn keine Transaktionsgebühr entrichtet wird - sozusagen ein Wechselspiel zwischen Zeit und Geld. Entweder eine geringe Gebühr und die Überweisung dauert länger oder eine hohe Gebühr und die Überweisung wird schon im nächsten Block aufgenommen.

Die Regeln sind nicht in Stein gemeißelt. Das Bitcoin-Netzwerk kann viele verschiedene Regeln simultan umsetzen. Wenn es Miner gibt, die nie eine Transaktionsgebühr voraussetzen und der eigene Client so modifiziert ist, dass niemals eine Transaktionsgebühr entrichtet wird, dann wird die eigene Transaktion bei Gelegenheit von diesen Minern in einen Block aufgenommen. Das kann allerdings unter Umständen lange dauern. In der Zukunft wird sich vermutlich auch dieser Bereich durch Angebot und Nachfrage festigen.

Sollte festgestellt werden, dass die eigenen Transaktionen sehr lange benötigen um bestätigt zu werden ist der Grund möglicherweise, dass keine Transaktionsgebühr entrichtet wurde. Einen aktuellen Bitcoinclient zu benutzen wird in der Regel helfen eine angemessene Transaktionsgebühr zu errechnen.

Eine Transaktion senden, wenn nicht genügend Bitcoins für die Transaktionsgebühr vorhanden sind.

Technische Informationen

Die Transaktionspriorität wird aus der Betrags-gewichteten Summe des Input alters, geteilt durch die Transaktionsgröße in bytes berechnet:

priority = sum(input_value_in_base_units * input_age)/size_in_bytes

Transaktionen setzen ein priority-Wert von über 57.600.000 voraus um das erzwungene Limit zu vermeiden (seit Client version 0.3.21). Dieser Grenzwert ist im Quellcode als COIN * 144 / 250 hinterlegt um zu verdeutlichen, dass der Grenzwert einen ein Tag alten 1 BTC Coin darstellt (144 ist die erwartete Anzahl von Blöcken pro Tag) und eine Transaktionsgröße von 250 Bytes.

Eine Beispielrechnung: Wenn eine Transkation 2 Inputs hat, einer von 5 BTC hat 10 Bestätigungen und einer von 2 BTC hat 3 Bestätigungen und die Transaktion damit eine Größe von 500 Bytes, dann hat die Transaktion einen priority-Wert von

(500000000 * 10 + 200000000 * 3) / 500 = 11,800,000


Weiterführende Links