Prioritized transactions, and tx fees

9 messages BitcoinTalk Jeff Garzik, Satoshi Nakamoto, Michael Marquardt, wscott, MoonShadow September 29, 2010 — September 30, 2010
Jeff Garzik September 29, 2010 11:13 UTC Source ·

As noted in this wiki page (http://www.bitcoin.org/wiki/doku.php?id=transaction_fee) and in this satoshi post (http://bitcointalk.org/index.php?topic=795.msg8960#msg8960), the -paytxfee switch may be employed give your sent transactions “priority.”

Prioritized transactions appear to be defined as increasing the likelihood that a transaction will be included in a block, even if that block is very large (byte-wise or tx-wise).

Considering that 99.9% of blocks are outside the range that will incur tx fees, it can be said that tx fees are largely useless today. But it makes me curious…

Are there any other areas of the bitcoin client or network that could somehow prioritize transactions based on tx fees? Examples: if you have a list of transactions to send out to the network, send prioritized ones to more connected nodesrestart mining work immediately if priority tx arrives, but continue working on existing block for a while, if free tx arrives And with my businessman’s cap on, I would think it prudent practice for any bitcoin business to use -paytxfee=0.02 by default, just to be safe, guaranteeing priority on the existing network and existing clients, in cases of extreme network load.

Other comments about how to use tx fees welcome… I strongly believe that a healthy tx fee structure is important to the long term health of the bitcoin P2P network.

theymos September 29, 2010 21:11 UTC Source ·

As far as I can tell, transactions are not prioritized according to fee size. Paytxfee just ensures that you will meet the fee requirements (and it isn’t guaranteed to do that). This does seem to be contrary to what Satoshi and sirius-m have implied, but I can’t find any prioritization in the code.

wscott September 30, 2010 09:40 UTC Source ·

The fees are a function of total transaction volume. Right now the volume is pretty tiny so all fees are zero. Later when the volume is high only some of the current transactions will be included in each block so you either pay a fee to make sure your transaction is desirable to be in each block or wait until the trading volume drops.

-Wayne

Satoshi Nakamoto September 30, 2010 18:11 UTC Source ·

It ramps up the fee requirement as the block fills up:

<50KB  free
50KB   0.01
250KB  0.02
333KB  0.03
375KB  0.04
etc.

It’s a typical pricing mechanism.  After the first 50KB sells out, the price is raised to 0.01.  After 250KB is sold, it goes up to 0.02.  At some price, you can pretty much always get in if you’re willing to outbid the other customers.

Just including the minimum 0.01 goes a long way.

theymos September 30, 2010 18:16 UTC Source ·

That’s cost per kilobyte, though, and a kilobyte can only hold ~9 TxIns, so 0.01 is not guaranteed to meet the requirement.

Satoshi Nakamoto September 30, 2010 18:22 UTC Source ·

True, the switch should be something more dynamic that pays per KB.  It’s harder to think of how to explain it.

theymos September 30, 2010 18:32 UTC Source ·

No one’s going to figure out -paytxfee without reading the forums anyway, so we might as well just use -expectedBlockSize and rely on forum members to explain reasonable values if it actually becomes necessary.

MoonShadow September 30, 2010 18:33 UTC Source ·
Quote from: satoshi on September 30, 2010, 6:11:56 PM UTC

It ramps up the fee requirement as the block fills up:

50K 0.01 250K 0.02 333K 0.03 375K 0.04 etc.

It’s a typical pricing mechanism. After the first 50K sells out, the price is raised to 0.01. After 250K is sold, it goes up to 0.02. At some price, you can pretty much always get in if you’re willing to outbid the other customers.

Just including the minimum 0.01 goes a long way.

So, in a Snowcrash future with Bitcoin as a major currency, generation of a block with 250K transactions would net the generating client a profit of 2K+ bitcoin, plus the regular award? Or is this total block size? Am I looking at this right? If there is ever a future that this transaction fee structure would be triggered by the transaction volume in a 10 minute span, then the Bitcoin economy would have to rival one of the top ten economies (defined by national borders) and that fee would be a fortune.

Is that fee structure ridgid, or can it be backed down as the value of bitcoin increases? I can conceive of a future wherein a ridgid fee of even .01 bitcoin could become a burden upon further growth. If the value of a bitcoin were to break parity with the Euro, such a fee structure could start to strangle the micropayments end of the economy. Granted, a sustained transaction rate of 300K every hour would still be a huge economy before such transaction fees came into play, making Paypal look like a small player.

Jeff Garzik (jgarzik) September 30, 2010 18:38 UTC Source ·

Does anybody have estimates of total, worldwide USD or EUR transactions in an average 10-minute timespan?