Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: d4n13 on December 13, 2017, 03:34:23 PM



Title: Why are some miners charitable with low fee TXNs?
Post by: d4n13 on December 13, 2017, 03:34:23 PM
UPDATE: These are all CPFP... mystery solved.

Reference: https://github.com/brianddk/btc-small-fee (https://github.com/brianddk/btc-small-fee)

There has recently been a number of very good analysis tools / sites related to fee calculation based on mempool fee distribution.  I began to get more interested in fee distribution on confirmed blocks instead.  I believe both pursuits are important.  One gives info on what the competition is while the other gives info on what the last selection process was.  What I've found is that all blocks seem to include... for lack of a better term... charitable transactions.  I'm trying to understand why.  If there is an abundance of fair fee transactions in the mempool, why would a miner include anything else.  The best WAG I can come up with, are the following:

  • Off-book incentive - Perhaps the miners have an off-book incentive to include some transactions that further their business.  Some payment to another pool or their utility company or whatever.  Perhaps the transaction is low-priority as far as the miners are concerned, so they include some fee in case some other miner finds it, but really they are just waiting to pick up those transactions themselves.
  • Too busy to care - Perhaps the compute cost to actually filter out the transactions is higher than the benefit of excluding them.  To me this is the most likely.  There are good ways to do a sloppy sort that would get a selection mostly sorted, but not entirely.  I'd imagine a bubble-sort continually running on the mempool, but blocks periodically getting cut before the sort is complete.
  • Child-pays-for-parent - Perhaps these low fee transactions are CPFP transactions, and there is a high-fee child somewhere in the block.  I'll need to modify my block-walker to try to flesh this-possibility out.
  • A perfect fit - Perhaps the size of the transaction is perfect to allow the block to be at maximum capacity.  For example, if there were 191 bytes space left in the block, it is obviously more profitable to include a low-fee 191 byte transaction, than to just leave that space blank.
  • Something I don't know - I accounted for SegWit, and admittedly did not account for CPFP.  Perhaps there is another part of the protocol that makes these TXNs profitable that I failed to consider

szfeesegwittx.hash
2244480false1aebfb469ce0aac91e13b47ea6e6cbdab54152d4edebdc282d1b064ee605edf6 (https://blockchain.info/tx/1aebfb469ce0aac91e13b47ea6e6cbdab54152d4edebdc282d1b064ee605edf6)
2264520falseff324af8cb7a74006f55a1300a6833ae4a362477e894e25e2a604b45909f5ae9 (https://blockchain.info/tx/ff324af8cb7a74006f55a1300a6833ae4a362477e894e25e2a604b45909f5ae9)
2158357true99984dc2694fceaac51067be155508a32916d8e32c07ebee30722521c3f8d815 (https://blockchain.info/tx/99984dc2694fceaac51067be155508a32916d8e32c07ebee30722521c3f8d815)
22610000falsed2df5a3c1f743f9375df0b355b26a37f98a4522e6ad9560a26bb7d84ae956bcc (https://blockchain.info/tx/d2df5a3c1f743f9375df0b355b26a37f98a4522e6ad9560a26bb7d84ae956bcc)
22511300false473fa22f9e882aef5edb81a07fb6b57bfc8c5c3b57716e0be76e843796ac1be8 (https://blockchain.info/tx/473fa22f9e882aef5edb81a07fb6b57bfc8c5c3b57716e0be76e843796ac1be8)
2262260false0a21c097f0c59d9a52df9fb565e59f504a7a577b9a7289bfb892cd68d5f58c11 (https://blockchain.info/tx/0a21c097f0c59d9a52df9fb565e59f504a7a577b9a7289bfb892cd68d5f58c11)
2253616false7ad533320fd0394fae388c62de0f416dad865154d43360550b03fba354b01a3a (https://blockchain.info/tx/7ad533320fd0394fae388c62de0f416dad865154d43360550b03fba354b01a3a)
1913840false8687f155056110717d327d0ee5f33153f7684976a095d67d35a271461e37b078 (https://blockchain.info/tx/8687f155056110717d327d0ee5f33153f7684976a095d67d35a271461e37b078)
2254972falsec04d4c27dcc93623b00fca37e6bbfd8c4949fc1d9197a2724fbd5f399fb5ce8e (https://blockchain.info/tx/c04d4c27dcc93623b00fca37e6bbfd8c4949fc1d9197a2724fbd5f399fb5ce8e)
3735610falsebf632f070df0c1d9c849a20f165143fbb07d5c6829e83cb2afecddbda659fd17 (https://blockchain.info/tx/bf632f070df0c1d9c849a20f165143fbb07d5c6829e83cb2afecddbda659fd17)
2245625false2ec6e58d2bf4ff2928208ca564b5597b1a7ff93b291a4793f9d3028f003f8fe1 (https://blockchain.info/tx/2ec6e58d2bf4ff2928208ca564b5597b1a7ff93b291a4793f9d3028f003f8fe1)
2255675false11b2e7c3a0b42695dd47461b1383807dd0fa74aaf83ae11ddf04b289b028dc2b (https://blockchain.info/tx/11b2e7c3a0b42695dd47461b1383807dd0fa74aaf83ae11ddf04b289b028dc2b)
3749400falsee81c1859b48414e8f0a192d1c90b9a6c3fc4a3c0f9877ab1e9fb21e143851f35 (https://blockchain.info/tx/e81c1859b48414e8f0a192d1c90b9a6c3fc4a3c0f9877ab1e9fb21e143851f35)
22611692falsef8664ca547b4254bed5a4ca48c5e022af2297f7ac2fc42db0fc9d70fa7481839 (https://blockchain.info/tx/f8664ca547b4254bed5a4ca48c5e022af2297f7ac2fc42db0fc9d70fa7481839)
22624300false2799a4d60f87a380e3b56b9e142fb8113e14bc6e9b4b192d65f5a9a00b04b66e (https://blockchain.info/tx/2799a4d60f87a380e3b56b9e142fb8113e14bc6e9b4b192d65f5a9a00b04b66e)