Thursday 28 July 2016

Analysis of Fees in Blocks


I'm continuing to work on my visualization of fees in blocks, which I hope will offer a perspective on the block data by looking at blocks in the context of normalized fees: that is the USD cost for a median transaction to be placed within a block.Here is my visualization for the 200 blocks #422000 through #422399: http://bit.ly/2aAqJPp thing that I've started looking at is the fee changes related to the random 0-3 hour delay between blocks. This should be fairly obvious, but to confirm with data: slow blocks are clearly more expensive to get into than quick blocks. Generally speaking it looks like the price of a slow block entry doubles or triples in response to the build up of fees.Because you don't know the timing of the next block, if you are not using RBF and you want to get into the next block, you have to bid as if the next block will be slow even if it isn't. Unfortunately I don't have a good data source to match historical fee estimates to the blocks, but from manual correlation I would suggest that the fees given by http://bit.ly/1XoJ0S8 are very good for a "slow block".In addition to confirming the obvious, I've noticed several non-standard miner behaviors regarding fees, from looking at the data over 200 blocks.Minimum Fee BlocksMany pools do not accept zero fee transactions. But others, they do not accept low Satoshi fee transactions either. Here are the blocks that point to this behavior:BW Pool, $0.03 - 20 Sat/Byte: #422288, #422278, #422239, #422207KNC, $0.02 - 10 Sat/Byte: #422398Telco 214, $0.04 - 25 Sat/Byte - #422370Cheaper Fees are Static FeesThe ratio of static fees where there is only 1 digit in the fee, indicating a disconnection from size/market variables, I've seen this decreasing over time. It seems to be present more frequently in low fee blocks than in blocks that have higher fees.72% Static Fee: #42239285% Static Fee: #422379Fast Blocks are often Empty BlocksThis is also well established, but data backs this up: some pools skip transactions when they mine a fast block. Not all pools do this, notably BitFury does not. Mostly it's AntPool, but it's not limited to them. This empty block behavior, it also creates higher fees, because they stack up behind it. It creates a mini "slow block" effect.Antpool: #422384, #422371, #422254BW Pool: #422284Fee SkippingOne thing that I have noticed, that has not been widely remarked upon, is that miners are grabbing low fee transactions and skipping higher fee transactions. Why they are doing it, it seems most likely that there are separate deals for that space, out of band. Otherwise I'm not sure why this makes sense for a miner to do. Multiple pools can be seen doing this to various degrees, but BTCC does it the most, and I think they've said publicly that they do offer an out-of-band confirmation payment service. I don't think this is very harmful behavior, however I do think it's not great: this makes it harder for accurate fee estimation to be achieved because some bids are hidden.AntPool: #422201BTCC: #422366, #422250 #422383, #422368, #422269, #422216F2Pool: #422364, #422362Kano CKPool: #422363, #422276Data StorageThere is a latent level of OP_RETURN transactions that are storing data. I don't know how to look for other forms of storing data, even though I know that they are out there, so I just look at OP_RETURN transactions for "Data Storage". The level of usage seems low, like 1%, which I hide in my report as being minimal. However some blocks dedicate a few percentage to data storage. This doesn't seem like a big concern, at most I've seen 10-15% of block data be dedicated to OP_RETURN. Separately I started to look to see if this rate was increasing, it doesn't seem to be, so I stopped looking.Updated Report Design Via FeedbackThanks to people who have previously given advice and feedback on how the fee graphing should appear. It's still a work in progress that I am slowly improving.This updated version was updated in response to feedback:Clarify that fees are total cost estimates - thx djpnewtonIncreased disambiguation between empty space and filled space, clarify the meaning of vertical space usage - thx vbenesMade tooltips more obvious that show Satoshi / Byte - thx gibboncub / bitcoinwalletAdded quick and slow block estimations - thx 5tuYour feedback was much appreciated. This is still a slow work in progress, trying to expand on the analysis as I go. via /r/Bitcoin http://bit.ly/2aAq2FV

No comments :

Post a Comment