Miner wollen möglichst viel Bitcoin pro Block verdienen. In einen Block passen zur Zeit 1MB an Daten. Entsprechend sortieren sie die Transaktionen nach Gebühr pro Byte und stopfen den Block so voll es geht. Nur weil du also eine Gebühr zahlst heißt das noch lange nicht das du auch in den oberen 1MB bist. Das sollte aber nur in seltenen Fallen ein wirkliches Problem sein. In der Regel steht man halt irgendwo in der Schlange und kommt auch relativ zügig ran solange man nicht an der Gebühr spart. Ab und zu rauscht mal jemand vorbei und zahlt halt Extra dafür. Wenn es also mal etwas dauert wird die Gebühr in den allermeisten Fällen zu niedrig gewesen sein. Das ist z.B. auch ein Grund wieso Bitcoin ohne eine Vergrößerung der Blöcke immer ungeeigneter für Kleinstbeträge wird.
Andere, seltenere Faktoren die eine Transaktion aufhalten können sind:
- Dust. Du sendest weniger als 2730 Satoshi bzw. die Transaktion (TX) erzeugt weniger als 2730 Satoshi als Wechselgeld. Dieser Betrag ist nicht fix und ändert sich von Zeit zu Zeit. Zur Zeit gilt 2730 Satoshi für alle Versionen von Bitcoin Core 0.11.x, für ältere ist die Grenze bei 546 Satoshi. In jedem Fall ist der Effekt aber der selbe. Ein Knoten im Netzwerk der deine TX erhällt und Dust findet leitet die TX nicht weiter. Daher ist es schwierig einen Miner zu erreichen was die Basis für eine Bestätigung ist.
- nicht Standard TX. Ähnlich wie Dust gibt es TX die zwar gültig sind aber bestimmte Regelungen nicht erfüllen. Diese werden ebenfalls nicht weitergeleitet. Das betrifft aber in der Regel niemanden der übliche Software nutzt.
- Konflikte mit einer bestehenden TX aka "double spend" bzw. malleability. Eine TX nutzt Eingänge und erzeugt Ausgänge. Die Eingänge verweisen auf TX die du in der Vergangenheit erhalten hast. Jeder Eingang kann nur genau einmal verwendet werden und hat einen festgelegten Wert. Ausgänge können später von dir oder anderen als Eingänge benutzt werden, ihren Wert legst Du fest. Ausgänge sind sozusagen was du jemandem sendest und Eingänge sind das was du erhalten hast und nun verwendest. Wenn Du (oder jemand anderes) eine TX (A) erzeugst die die selben Eingänge wie eine andere (B) benutzt steht die beiden solange im Konflikt bis eine bestätigt wurde. Welche das ist liegt an diversen Faktoren, in der Regel hat aber die erste TX die höchsten Chancen. Wenn z.B. erst A erzeugt wurde und jetzt 95% des Netzwerks A kennen, werden diese Netzwerkknoten B nicht akzeptieren und auch nicht weiter leiten. Malleability ist ein Angriff der eine Unterart davon darstellt. Dabei werden bestehende TX aus dem Netzwerk gefischt und leicht manipuliert. Es werden immer noch die selben Eingänge benutzt und die selben Ausgänge erzeugt, aber die TX ID ist unterschiedlich. Es entsteht eine Art Zwillings TX, nur eine kann bestätigt werden. Das hat vor einiger Zeit fast alle Programme massiv verwirrt. Blockchain.info hat z.B. teilweise doppelt soviele Bitcoin angezeigt wie eigentlich da waren, etc.
- unbestätigte Einänge (für was sind Eingänge siehe "Konflikte..."). Das ist vermutlich noch vor Dust der häufigste Faktor nach zu geringen Gebühren. Solange ein Eingang nicht bestätigt ist kann auch die TX die diesen benutzt nicht bestätigt werden. Dadurch das viele Programm es aber erlauben unbestätigte Eingänge zu nutzen kann man lange Ketten an TX mit geringen oder keinen Gebühren machen und für die 100te in der Folge dann eine übliche Gebühr zahlen. Für den Empfänger der 100ten TX sieht alles dufte aus, ist es aber nicht. Der ganze Rattenschwanz muss erst bestätigt werden. Das kann zwar alles im selben Block passieren, aber wieso sollten die Miner die ersten 99 bestätigen wenn sie dafür (so gut wie) nichts bekommen? Es gibt soweit ich weiß einen einzigen Pool der eine solche Kette bestätigten würden wenn die 101te TX für alle vorherigen mitzahlt. Das Prinzip nennt sich "Child pays for parent (CPFP)" und meint das die letzte TX in einer Kette die Gebühren zahlt. Wäre das ein weit verbreitets Prinzip wäre es sehr einfach Probleme mit zu geringen Gebühren zu lösen. Der Empfänger erzeugt einfach eine weitere TX und legt ordentlich Gebühren drauf. Dadurch könnte man die Gebühren vom Senden zu Empfänger verlagern.
... mehr fällt mir erstmal nicht ein.
- Volle Blocks wegen Spam oder auch einfach nur weil der Bitcoinpreis gerade mal wieder Richtung Mond geht oder abstürzt. Na Hauptsache wir behalten die 1Megabyte Grenze damit wir auch ja herausfinden wie es ist wenn das alles noch schlimmer wird.