Bitcoin Forum
May 09, 2024, 03:53:37 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2  All
  Print  
Author Topic: Updating graph of fees for unconfirmed transactions  (Read 2443 times)
weex (OP)
Legendary
*
Offline Offline

Activity: 1102
Merit: 1014



View Profile
June 26, 2015, 10:44:37 PM
Last edit: June 30, 2015, 05:53:43 PM by weex
 #1

While writing a thing about fees, I wrote this sentence:

"There is no way to easily view the distribution of fees among transactions that
are waiting to be confirmed and" mid-sentence went off to build this:

http://bitcoinexchangerate.org/fees

Hope it helps everyone more easily visualize the fee situation. It'll update every 2 minutes as long as the bc.i API allows me or until I switch it over to running from local bitcoind data.

Animations:
#1 https://bitcointalk.org/index.php?topic=1101202.msg11725683#msg11725683 (1kb floor)
#2 https://bitcointalk.org/index.php?topic=1101202.msg11732681#msg11732681 (1kb floor, fixed 2MB scale)
#3 https://bitcointalk.org/index.php?topic=1101202.msg11741136#msg11741136 (no fee floor)
#4 https://bitcointalk.org/index.php?topic=1101202.msg11756208#msg11756208 (June 30, 2015 stress test)

-weex
1715226817
Hero Member
*
Offline Offline

Posts: 1715226817

View Profile Personal Message (Offline)

Ignore
1715226817
Reply with quote  #2

1715226817
Report to moderator
1715226817
Hero Member
*
Offline Offline

Posts: 1715226817

View Profile Personal Message (Offline)

Ignore
1715226817
Reply with quote  #2

1715226817
Report to moderator
1715226817
Hero Member
*
Offline Offline

Posts: 1715226817

View Profile Personal Message (Offline)

Ignore
1715226817
Reply with quote  #2

1715226817
Report to moderator
The Bitcoin software, network, and concept is called "Bitcoin" with a capitalized "B". Bitcoin currency units are called "bitcoins" with a lowercase "b" -- this is often abbreviated BTC.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715226817
Hero Member
*
Offline Offline

Posts: 1715226817

View Profile Personal Message (Offline)

Ignore
1715226817
Reply with quote  #2

1715226817
Report to moderator
1715226817
Hero Member
*
Offline Offline

Posts: 1715226817

View Profile Personal Message (Offline)

Ignore
1715226817
Reply with quote  #2

1715226817
Report to moderator
odolvlobo
Legendary
*
Offline Offline

Activity: 4298
Merit: 3214



View Profile
June 26, 2015, 11:04:31 PM
 #2

nice

Join an anti-signature campaign: Click ignore on the members of signature campaigns.
PGP Fingerprint: 6B6BC26599EC24EF7E29A405EAF050539D0B2925 Signing address: 13GAVJo8YaAuenj6keiEykwxWUZ7jMoSLt
QuestionAuthority
Legendary
*
Offline Offline

Activity: 2156
Merit: 1393


You lead and I'll watch you walk away.


View Profile
June 26, 2015, 11:12:51 PM
 #3

Sweet. Could you include a statement showing the current minimum fee for automatic inclusion in the next available block? Something like, Current minimum for immediate processing: XXXX

weex (OP)
Legendary
*
Offline Offline

Activity: 1102
Merit: 1014



View Profile
June 26, 2015, 11:17:11 PM
 #4

Sweet. Could you include a statement showing the current minimum fee for automatic inclusion in the next available block? Something like, Current minimum for immediate processing: XXXX
Sure, I'll include a couple of them when I can get back to the code. One at 750KB and another at 950KB or what the max tends to actually be. Most of time as I've been testing it, the minimum fee hasn't really been calculable as the total  KB outstanding was less than 750KB.

I'm working on getting this running from a local bitcoind first as bc.i is not entirely likely to work in the case of massive transaction load...i.e. some sort of stress test.
QuestionAuthority
Legendary
*
Offline Offline

Activity: 2156
Merit: 1393


You lead and I'll watch you walk away.


View Profile
June 26, 2015, 11:19:18 PM
 #5

Sweet. Could you include a statement showing the current minimum fee for automatic inclusion in the next available block? Something like, Current minimum for immediate processing: XXXX
Sure, I'll include a couple of them when I can get back to the code. One at 750KB and another at 950KB or what the max tends to actually be. Most of time as I've been testing it, the minimum fee hasn't really been calculable as the total  KB outstanding was less than 750KB.

I'm working on getting this running from a local bitcoind first as bc.i is not entirely likely to work in the case of massive transaction load...i.e. some sort of stress test.

Thanks, it looks great so far and I can definitely see myself using it often. Good work!

chennan
Legendary
*
Offline Offline

Activity: 1316
Merit: 1004


View Profile
June 27, 2015, 01:22:09 AM
 #6

Quote
Getting 1278 unconfirmed transactions.
Total transactions: 1252 No fee: 61
Number of transactions: 1252
Minimum fee: 0.0
Average fee for payers: 0.000140692404153
Median fee for payers: 0.0001
Stdev of fee for payers: 0.000268533671518
Total bytes: 549736
I didn't expect ppl are paying 0.000268533671518 BTC transaction fee to get transactions confirmed! If every one is paying larger than recommended fee, the miners will be happy! Nice chart! It gives us the rough fees we should pay to have the priority to get the the transaction included in the next block!

What I am concern is that if every ppl are paying high fee, what about the low value transaction? They cannot afford high fee and have to wait long time for the confirmation.

jaberwock
Legendary
*
Offline Offline

Activity: 2548
Merit: 1073



View Profile
June 27, 2015, 01:51:54 AM
 #7

Quote
Getting 1278 unconfirmed transactions.
Total transactions: 1252 No fee: 61
Number of transactions: 1252
Minimum fee: 0.0
Average fee for payers: 0.000140692404153
Median fee for payers: 0.0001
Stdev of fee for payers: 0.000268533671518
Total bytes: 549736
I didn't expect ppl are paying 0.000268533671518 BTC transaction fee to get transactions confirmed! If every one is paying larger than recommended fee, the miners will be happy! Nice chart! It gives us the rough fees we should pay to have the priority to get the the transaction included in the next block!

What I am concern is that if every ppl are paying high fee, what about the low value transaction? They cannot afford high fee and have to wait long time for the confirmation.

0.000268533671518 is the stdev(variation) for the fee people pay, not the minimum fee they pay, or the minimum). Some larger transactions require no fee, and other might take hours to confirm, and others pay more to make sure the transaction will be included in the next block or because they want spam the blockchain do dust transactions. Usually people pay 0.0001 BTC as transaction fee, and it is more than enough

jeannemadrigal2
Sr. Member
****
Offline Offline

Activity: 322
Merit: 250



View Profile
June 27, 2015, 02:19:10 AM
 #8

Thanks this is a really good tool, and it will become important as the blocks start to fill up in the future to determine how much we need to include in our transaction fees.
weex (OP)
Legendary
*
Offline Offline

Activity: 1102
Merit: 1014



View Profile
June 27, 2015, 04:55:32 AM
 #9

/u/btcee99 on reddit brought up a good point since I linked to the code there: https://github.com/weex/bitcoin-fee-distribution

I set a floor of 1KB on the size when calculating fee/kb. I did this because of the way bitcoin core works now. You set a default fee like 0.0001 and it doesn't include a smaller fee just because your transaction was 226 bytes or whatever. Does anyone know roughly how different wallets handle calculating fees? Are there any that always multiply the transaction size by the a fee/kb rate? Is a 1kb floor assumed on any other code out there? Just thinking about loud. I'll research these questions later.
cazkooo
Legendary
*
Offline Offline

Activity: 1540
Merit: 1013



View Profile
June 27, 2015, 05:47:31 AM
 #10

If every one is paying larger than recommended fee

That is why a fork is needed for this because without a fork, everyone will need to pay higher fee to get it confirmed within the next block or that person will need to wait several hours. Also with paying high fee, this means bitcoin will not be suitable anymore for the smaller transaction like below 0.001 bitcoin
ammy009
Sr. Member
****
Offline Offline

Activity: 303
Merit: 250



View Profile WWW
June 27, 2015, 06:35:26 AM
 #11

just awesome ...... continue it  Smiley

weex (OP)
Legendary
*
Offline Offline

Activity: 1102
Merit: 1014



View Profile
June 27, 2015, 07:15:28 AM
 #12

Running now from a local Bitcoin Core node so it updates every minute. The node was just started so will take time to catch up to bc.i's or even TradeBlock's unconfirmed transaction numbers.

If you see something interesting, please post the graph to imgur and link it.
newb4now
Hero Member
*****
Offline Offline

Activity: 686
Merit: 500


View Profile
June 27, 2015, 07:41:51 AM
 #13

Thanks this is a really good tool, and it will become important as the blocks start to fill up in the future to determine how much we need to include in our transaction fees.

I agree. I will start following this as well.
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
June 27, 2015, 08:05:24 AM
 #14

Running now from a local Bitcoin Core node so it updates every minute. The node was just started so will take time to catch up to bc.i's or even TradeBlock's unconfirmed transaction numbers.

If you see something interesting, please post the graph to imgur and link it.

Could you maybe add time as another dimension or keep a certain amount of pictures? I found the analysis how these things change over time most interesting. This might make messy pictures though if its a landscape in 3d space.

Im not really here, its just your imagination.
weex (OP)
Legendary
*
Offline Offline

Activity: 1102
Merit: 1014



View Profile
June 27, 2015, 08:36:51 AM
Last edit: June 27, 2015, 06:41:23 PM by weex
 #15

Running now from a local Bitcoin Core node so it updates every minute. The node was just started so will take time to catch up to bc.i's or even TradeBlock's unconfirmed transaction numbers.

If you see something interesting, please post the graph to imgur and link it.

Could you maybe add time as another dimension or keep a certain amount of pictures? I found the analysis how these things change over time most interesting. This might make messy pictures though if its a landscape in 3d space.
I've started hanging onto the images and will create an animated gif once there are a few dozen of these things.

Edit: Here it is for the last 6-8 hours.
weex (OP)
Legendary
*
Offline Offline

Activity: 1102
Merit: 1014



View Profile
June 27, 2015, 06:42:54 PM
 #16

Bump for added animation.
trout
Sr. Member
****
Offline Offline

Activity: 333
Merit: 252


View Profile
June 27, 2015, 06:53:19 PM
 #17

the animation could be interesting if the scale on the left stayed fixed.
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1520


No I dont escrow anymore.


View Profile WWW
June 27, 2015, 07:03:04 PM
 #18

Bump for added animation.

Awesome.

the animation could be interesting if the scale on the left stayed fixed.

I suspect that the big changes are when blocks are found. Bitcoin creates nice sawtooth functions.

Im not really here, its just your imagination.
hodlmybtc
Hero Member
*****
Offline Offline

Activity: 700
Merit: 500



View Profile WWW
June 27, 2015, 08:12:50 PM
 #19

Nice work! Very interesting to see.

the animation could be interesting if the scale on the left stayed fixed.

It would definately be better for your eyes and brain Grin
weex (OP)
Legendary
*
Offline Offline

Activity: 1102
Merit: 1014



View Profile
June 27, 2015, 08:50:13 PM
 #20

the animation could be interesting if the scale on the left stayed fixed.
Started building a new one with 1200kb fixed max, then of course it started looking like there was going to be more so I changed it to 2000kb and what do you know it? A block was just found so it looks like nothing. Anyway, leaving it at 2000kb because it would suck if the 0.1mBTC level went above the max. Now, just to wait some hours.

As for the site, a sliding scale is best. Anyone who's running a node (--provider=bitcoind) and wants to play with this can have it running in a couple minutes.
Pages: [1] 2  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!