Pages:
Author

Topic: Do you want to pay the fee? - page 2. (Read 6894 times)

hero member
Activity: 518
Merit: 521
November 26, 2013, 03:52:18 AM
#84
I would like to point out that from a purely economic standpoint, transaction fees are a dead-weight loss to the economy.  ANY alternative revenue collection method would be economically superior for paying miners, be it a flat per year fee on every address, perpetual mining or a demurrage system as in Freicoin.  

Now I know their are arguments about message spamming but that's a technical argument and one that is ultimately going to need a radical technical solution because a Peer-2-Peer network that needs to send every transaction to every single user (with no incentive for doing so) is NOT going to scale to a worldwide basis.

And if transactions fees are significant, the system is subject to the Transactions Withholding Attack.

The issue of transaction spam is really not much different than DDoS prevention. You must rate limit and you need the mini-block chain design. Indeed I am beginning to see we should eliminate the transaction fee entirely.
hero member
Activity: 518
Merit: 521
November 26, 2013, 03:41:04 AM
#83
Thanks for this detailed information. I had't read that yet if it exists on the wiki.

It is my understanding that there is nothing in protocol that can enforce that calculation and thus that the calculation is merely the recommended behavior for mining?

Some comments...

This is a fully correct procedure for determing the fee owed in Bitcoin transaction.

If it is not enforced by the protocol, it can't be the "fully correct" procedure.

* priority is greater than 576. (note that developers use the number 57600000; it's 576 because I used millibitcoins rather than satoshis above)

This is discouraging a higher velocity of money V.

M x V = P x Q (a proxy for nominal GDP)

Thus this discourages the size of the GDP Bitcoin can adopt.

If your transaction is not "free" you had better add a transaction fee. To figure out the transaction fee you need to find the size of your transaction in bytes (see step 1 above), round it up to the next even multiple of a thousand, then multiply the result by 0.1 microbitcoins.

Thus the nominal tx fee is always increasing in dollars when BTC is. Yet the ATM debit card transaction fees are in some cases a fix amount, thus eventually Bitcoin becomes more expensive than the existing system.

Huh so how much should I pay for a fast transaction of 5 bitcoins? or even 2 bitcoins at a time because ill be splitting up all of them out of 28 bitcoins. What will my transaction fee be??

The fee is per kB.   0.1 mBTC per kB should be fine for inclusion in the next block.  Most tx that are waiting are <0.1mBTC, free, or have unconfirmed outputs.  The amount of the tx is irrelivent. 2 BTC or 200,000 BTC what matters is the physical size of the transaction.  Most tx are <= 1 kB.

When the finite block size overflows then that can't remain true.
sr. member
Activity: 252
Merit: 250
November 26, 2013, 03:06:06 AM
#82
What's your basis for this assertion? The miners act to safeguard transactions against double-spends, so shouldn't the cost of mining come from those making the transactions, and not from everyone?

Miners don't act to safeguard transactions or anything else whatsoever. They mine for profit and securing the network comes as an effect for that. You can't force people to behave in a way you only predict how they 'll behave. Give them profit and they 'll the the network for you.
donator
Activity: 1218
Merit: 1079
Gerald Davis
November 26, 2013, 03:00:00 AM
#81
Huh so how much should I pay for a fast transaction of 5 bitcoins? or even 2 bitcoins at a time because ill be splitting up all of them out of 28 bitcoins. What will my transaction fee be??

The fee is per kB.   0.1 mBTC per kB should be fine for inclusion in the next block.  Most tx that are waiting are <0.1mBTC, free, or have unconfirmed outputs.  The amount of the tx is irrelivent. 2 BTC or 200,000 BTC what matters is the physical size of the transaction.  Most tx are <= 1 kB.
newbie
Activity: 35
Merit: 0
November 26, 2013, 02:54:47 AM
#80
 Huh so how much should I pay for a fast transaction of 5 bitcoins? or even 2 bitcoins at a time because ill be splitting up all of them out of 28 bitcoins. What will my transaction fee be??
sr. member
Activity: 826
Merit: 250
CryptoTalk.Org - Get Paid for every Post!
November 26, 2013, 12:25:26 AM
#79
I would like to point out that from a purely economic standpoint, transaction fees are a dead-weight loss to the economy.  ANY alternative revenue collection method would be economically superior for paying miners, be it a flat per year fee on every address, perpetual mining or a demurrage system as in Freicoin.  

Now I know their are arguments about message spamming but that's a technical argument and one that is ultimately going to need a radical technical solution because a Peer-2-Peer network that needs to send every transaction to every single user (with no incentive for doing so) is NOT going to scale to a worldwide basis.

What's your basis for this assertion? The miners act to safeguard transactions against double-spends, so shouldn't the cost of mining come from those making the transactions, and not from everyone?

As for needing to send every transaction to every single user, that's already not the case.

I'm not making any statement about IF the network is worth securing or if the User who pays the Transaction fee 'deserves' to pay it or not.  But if you want to go their, then yes the Hoarder should pay for security, it is after all the future USABILITY of his own coins that are being protected by that security.  Is anyone under any illusion that if the network weakened and allowed double spends or transactions took forever that the person just holding coins would lose value because confidence in the coins generally would be lost.  The level of entitlement among BTC holders is just beyond comprehension sometimes.

Now my point is just that Transaction fees slow down ALL commerce, period.  Their are going to be transaction that would otherwise happen, but don't because of the transaction fee, be it a Tax or a credit-card fee or what ever you can imagine.  Therefor you want transaction fees as low as possible all other things being equal.  Obviously the current design has undesirable (possibly even fatal) trade-offs but that's not the point I'm making.

And as for the need to send every transaction, yes it is still their in the form of the block download, the every user needs to record of transactions to use the system as it was designed aka not putting trust in anything but the block-chain.
donator
Activity: 1218
Merit: 1079
Gerald Davis
November 26, 2013, 12:09:11 AM
#78
The data in the wiki is correct.

It's quite incomplete, though. And it costs $8 to add to it.

What is incomplete?
donator
Activity: 1218
Merit: 1079
Gerald Davis
November 25, 2013, 11:47:45 PM
#77
Cryddit you are still incorrect as the size of inputs and outputs can vary, bitcoin supports compressed keys and it is the default key type for most wallets now.

It is very important when providing corrections to get the data correct.  The data in the wiki is correct.  Not really sure I see the point to providing an alternate explanation which gets material facts wrong and requires three corrections and even then is only 95% correct.

When you provide exact values like 12 + 204 * (# inputs) + 32 * (# outputs) it creates a perception that this is the exact and only value.   Far better to say in aproximations.   Also the client is going to do the work on computing the required fee.  Not sure where you got the 12 from but it is incorrect (or not correct for all txs) and the 204 assumes the use of uncompressed keys which is uncommon at this time.
sr. member
Activity: 826
Merit: 250
CryptoTalk.Org - Get Paid for every Post!
November 25, 2013, 11:40:28 PM
#76
I would like to point out that from a purely economic standpoint, transaction fees are a dead-weight loss to the economy.  ANY alternative revenue collection method would be economically superior for paying miners, be it a flat per year fee on every address, perpetual mining or a demurrage system as in Freicoin.  

Now I know their are arguments about message spamming but that's a technical argument and one that is ultimately going to need a radical technical solution because a Peer-2-Peer network that needs to send every transaction to every single user (with no incentive for doing so) is NOT going to scale to a worldwide basis.
legendary
Activity: 924
Merit: 1132
November 25, 2013, 09:52:58 PM
#75
This is a fully correct procedure for determing the fee owed in Bitcoin transaction.

Step 1: Determine the size of your transaction in bytes.  It's 12 bytes, plus 204 bytes per input, plus 32 bytes per output. If it's 255 inputs or more, add one byte.  If it's 255 outputs or more, add one byte.  Likewise if it's 65536 or more inputs or outputs, add another byte. If there's anything even a little bit unusual about the "scripts" involved for any input or output, this formula is not valid. Remember that your transaction usually has at least one more output than is visible; this is because you don't usually have exact change, and the transaction must split at least one of your coins (and may consolidate others) to come back to you.

(NOTE:  It has been pointed out that because a key in the input can be 41 rather than 65 bytes, an input may take 180 rather than 204 bytes.  The person who pointed this out has not yet provided any way to tell whether an input takes 204 or 180 bytes.  Therefore treat the above as an upper bound and 12 bytes, plus 180 bytes per input, plus 32 bytes per output as a lower bound. 

Some definite method to tell exactly will be provided as soon as I absolutely know how to tell exactly how long that key is.  )

Step 2: Determine your transaction's "priority." The formula is given as priority = sum(input_value_in_base_units * input_age)/size_in_bytes.
But I use input value in millibitcoins instead, to save the bother of dealing with five unnecessary decimal positions.

Your transaction is "free" if all of the following are true.
 * it's smaller than 10,000 bytes.
 * All the outputs are 0.01 BTC (currently around $8) or larger.
 * priority is greater than 576. (note that developers use the number 57600000; it's 576 because I used millibitcoins rather than satoshis above)

Your transaction is also "free" if its priority is higher than the priority of all other transactions in the block except for enough other transactions to make 27,000 bytes but you can't know that when you're figuring out fees.  If you don't pay fees the transaction may be indefinitely delayed by higher priority transactions. Anyway, if your transaction did propagate across the network, there will eventually be a block with room to put it into that 27000 bytes. It may not be the next one or the one after that, but it'll happen.

Now, if your transaction qualifies as "free" it will be propagated across the network, though maybe somewhat slower, without fees.
  
If your transaction is not "free" you had better add a transaction fee. To figure out the transaction fee you need to find the size of your transaction in bytes (see step 1 above), round it up to the next even multiple of a thousand, then multiply the result by 0.1 microbitcoins.

And the final gotcha: if you have to add another input, or more than one other input, in order to cover the transaction fee, then the size of your transaction in bytes has changed, and you must start over and figure out your fee again.  And if you get your fee even one satoshi short, then most clients will just drop your transaction on the floor instead of propagating it and you'll have absolutely no benefit from the fee you did add. If your transaction confirms at all it may take days, and the fee will have been a complete waste of your money.

sr. member
Activity: 378
Merit: 250
November 25, 2013, 08:55:15 PM
#74
Kudos to Cryddit for admitting a mistake and more so for attempting to educate us less knowledgeable users.

@ anth0ny , thanks for the offer of exchange but I think I'll hang on to my bits for now lol.
kju
newbie
Activity: 20
Merit: 0
November 25, 2013, 08:36:28 PM
#73
Okay, time for a public apology to everybody:  I've believed that fees are a factor of ten higher than they actually are, and I have in fact been giving misinformation.

It is of great character to admit when one was wrong. We all do mistakes, my biggest one was selling 5 BTC last year and now having only less than 0.09... I'm looking forward to your correct post because I agree that this transaction fee stuff is very unclear to many people and needs some better explanation so that people do not get burned. You might want to add the tips regarding consolidation of dust into such a post.
legendary
Activity: 924
Merit: 1132
November 25, 2013, 08:30:37 PM
#72
Okay, time for a public apology to everybody:  I've believed that fees are a factor of ten higher than they actually are, and I have in fact been giving misinformation.  

This is difficult. I need to apologize especially to deepceleron, who called me on my mistake, even though he didn't provide the specific information to correct it. I was wrong and you corrected me and I got mad at you.  I'm very sorry and deeply embarrassed.

And a special thank you to anth0ny, who DID provide the specific information to correct my mistake.

I would not have noticed this mistake except that anth0ny corrected me on a specific point showing exactly where (and why) I'd gotten it wrong.  As I already said once, if you're going to call someone a liar you have to specifically provide the truth.

Next post, I'll put the REAL fee calculation formula, because I can't go back and correct the one I already posted.  I will delete it though so that it doesn't lead anyone wrong in the future.  

It turns out that I was allowed to go back and correct my previous posts.  I have done so so that they will not lead people wrong in the future.
kju
newbie
Activity: 20
Merit: 0
November 25, 2013, 08:23:59 PM
#71
Your transaction is "free" if all of the following are true.
 * it's smaller than 10,000 bytes. (but they didn't tell you how to figure that out)
 * All the outputs are 0.1 BTC (currently around $80) or smaller.
 * priority is greater than 576. (and you couldn't know that without being able to figure out the size)

A transaction may be safely sent without fees if these conditions are met:
It is smaller than 10,000 bytes.
All outputs are 0.01 BTC or larger.
Its priority is large enough (see the Technical Info section below)

Quite a difference to say the least.
legendary
Activity: 924
Merit: 1132
November 25, 2013, 08:21:51 PM
#70
But one of the inputs is worth more than 0.1 bitcoin, so it isn't free.

Huh?

Okay, based on size 16216 bytes, you round it up getting 17000 bytes.  you multiply that by 1 microbitcoin and you get a fee owed of 17 millibitcoin.

Wouldn't the default fee (based on the reference implementation) be 1.7 mBTC?

Quote
The default fee for low-priority transactions is lowered from 0.0005 BTC (for each 1,000 bytes in the transaction; an average transaction is about 500 bytes) to 0.0001 BTC.

https://bitcointalksearch.org/topic/bitcoin-qt-bitcoind-082-final-available-219504

You know what?  I *DID* misplace that decimal.  It's 0.1 microbitcoin, not 1.0 microbitcoin.  So, yes, this scenario actually owes 1.7 millibitcoin or (currently) about $1.75 rather than $17.5 as I thought.  
legendary
Activity: 924
Merit: 1132
November 25, 2013, 08:08:18 PM
#69
(NOTE, I HAVE EDITED THIS.  IT GAVE WRONG INFORMATION PREVIOUSLY.  EDITS ARE MARKED WITH STRIKEOUT AND CAPS. )

when all 21m coins have been mined, transaction fees will supposedly be valuable enough to continue the act of mining and adding compute power to the network. transaction fees are desirable.

Actually I think they'll be considerably higher than that considering what I anticipate the value of Bitcoin to be at that time. Mining fees will need to be reduced considerably for Bitcoin processing to remain "cheaper than alternatives" when Bitcoin goes north of US$10K, or the per-coin transaction fee will be 80 cents.  Even for smallish purchases there are usually at least 3-4 txid's involved, so is a "usual" transaction fee of $2.40 or $3.20 per transaction entirely reasonable for processing each and every one of your daily purchases?  Bearing in mind that today credit card companies are doing it for a nickel or so plus 1% of the transaction amount?

So save that dust; if they do reduce transaction fees in the future, it may become spendable again.

You're someone else I've been accused of misinforming, so let's step through it; I was considering per-input tx fee to be about 7 or 8 cents, so I thought bitcoin ten times as expensive would mean that per-input tx fees would be 70 or 80 cents.  

Let's reconsider:  
Bitcoin transactions of 1 input 2 outputs (the 3-address transaction I was thinking of) actually occupy less than 1000 bytes, hence can qualify to be free.  If all inputs are less LARGER THAN than 0.1 BTC and its priority is 57600000 or higher, (by the devs formula with the 5 extra zeros) it can be free.

Okay, current scenario for transferring $5 in value with bitcoin at $750:  $5 is 1/150 of a bitcoin, so it's a good bet that all inputs are less than 0.1 bitcoin (currently about $75).  

SO THIS ISN'T FREE AND THE PRIORITY IS NOT RELEVANT.
If the priority is 57600000 or higher it can be freeCOULD HAVE BEEN FREE EXCEPT THAT THE AMOUNTS ARE TOO SMALL.  You're trying to transfer 0.006666.... of a bitcoin, so if you've got exact change the priority is 666667 (the value in satoshis) times the number of days you've held the coin you're spending.  So if you've had this txout unspent for more than 864 days it's a COULD HAVE BEEN A free transaction.  If you've had that txout unspent for less than 854 days it isn't a free transaction.  Do you actually know how old your unspent txouts are?  I'll assume you've held it for less than 2 years and go on.

Anyway, the transaction is under 1000 bytes, so you multiply the 1000 times 1 0.1 microbitcoin and you get 1 0.1 millibitcoin or 7 0.7 cents.  On a $5 transfer.

Now consider the future scenario I mentioned, with bitcoin going north of $10K and you're still trying to transfer $5.  The amounts are 1/10 what they were before so it passes DOES NOT PASS that test, the size is still exactly what it was before so it passes that test, but the priority is less than 1/10 what it was because the coins are smaller BTC denominations, so it fails the last test unless you've been holding the coin for more than 11387 days. That's 31 years and a bit over 11 months so I'll assume the coins aren't that old and therefore this transaction is definitely not free.

But the fee is still based on transaction size, and transaction size is exactly the same, so the fee is still 1 0.1 microbitcoin.  Except in this scenario the microbitcoin is worth $1 SO YOUR FEE IS A DIME.  that's a bit more expensive ONLY ABOUT 2/15 OF than the 70 or 80 cents I guesstimated, but SO I was WAS NOT in the right ballpark.  $1 seems a bit steep for a $5 transfer, doesn't it?

legendary
Activity: 924
Merit: 1132
November 25, 2013, 07:38:16 PM
#68
(NOTE: THIS HAS BEEN CORRECTED.  IT GAVE INFORMATION PREVIOUSLY WHICH WAS WRONG BY A FACTOR OF TEN.)

Shocked WHAT!? I thought blockchain had super low fees for transferring money?  So if I went on blockchain right now and transferred a paper wallet with 28 bitcoins and I wanted to put 5 bitcoins each per 1 paper wallet I would be nailed with a $30 fee?? I was watching max keiser the other day and he said it was like 80 cents to send a million dollars? -__- wth? or is this fee just for people who use wallet clients installed rather then the actual blockchain website itself??

Most people have individual "coins" or technically "unspent txouts" in their wallet of denominations of 0.1 Bitcoin or less.  "Bitcoin" is a measure of actual value and "coins" is the number of spendable txouts that comprise that value.  

If you have a wallet with 28 bitcoins, but you got that amount in a single lump (ie, you have a single "coin" with a denomination of 28 bitcoins) then your transaction to transfer 5 bitcoin to another wallet will have tx fees of about eight to 24 cents depending on a few things.   On the other hand if that 28 bitcoin value is an accumulation of "coins" worth 0.01 bitcoin each, then you'll make a transaction of 500 inputs to transfer 5 Bitcoins of value, and it'll cost you something like $40 in tx fees.  

Okay, I've been accused of misinforming DID IN FACT MISINFORM you so let's step through this.  

You have 28 bitcoin in your wallet and you want to transfer 5 bitcoin to someone.  

First scenario: your wallet contains 1 coin, whose denomination or value is 28 Bitcoin.  This is a straight-up transaction with one input (your 28-BTC coin) and 2 outputs (your friend's 5 BTC coin and whatever you get back from the transaction.)

The transaction size is 12 bytes, plus 32 bytes per input, plus 204 bytes per output. It could have been free based on its size.

But one of the inputs is worth more than 0.1 bitcoin, so it isn't free.
THE INPUT IS WORTH MORE THAN 0.1 BITCOIN SO IT CAN BE FREE.  

(CORRECTION FOLLOWS.  BECAUSE I WAS WRONG ABOUT THE ABOVE THE PRIORITY OF THE TX IS RELEVANT.)  
The priority of the transaction is value in millibitcoins of the input, times age of the input divided by the size in bytes.  The size in bytes is 452 bytes, the value in millibitcoins of the input is 28000, so the priority is 26216000 divided by the age of the coin in days.  This is over the threshold of 536 if you've been holding the coin you're spending is more than 1/4891 days, which is a bit less than 2 seconds.  So we're going to guess that it's well over the priority needed to be a free transaction.


So this is in fact a free transaction.

(END OF CORRECTION REGARDING PRIORITY)

Total transaction size is 12 + 32 + 408 = 452 bytes.  Round it up to the next multiple of a thousand, so it's considered as 1000 bytes. You need to multiply the 1000 times 1 1/10 microbitcoin to get the fee, so you'll pay 1 1/10 millibitcoin.  Based on 750 dollars a bitcoin, that makes your transaction fee about 7.5 cents 3/4 of a cent.  I said 8 to 24; so I was wrong, it was a little bit below what I thought was the minimum of the range.  But considering that you're transferring 750 x 5 = 3750 dollars, 7.5 cents 3/4 of a cent isn't such a bad fee. AND FURTHERMORE YOU DIDN'T HAVE TO PAY IT BECAUSE IT WAS A FREE TRANSACTION.

Second scenario:  You have 28 BTC in "coins" denominated 0.01 BTC each and you want to transfer 5 BTC to someone.  

The transaction size is 12 bytes, plus 32 bytes per input (and you have at least 500 inputs) plus 204 bytes per output (and you'll have either one or two outputs).  12 + 16000 + 204 bytes is 16216 bytes.  And you have to add another 1 byte = 16217 bytes because more than 254 inputs.   That's not a free transaction.

Okay, based on size 16216 bytes, you round it up getting 17000 bytes.  you multiply that by 1 0.1 microbitcoin and you get a fee owed of 17 1.7 millibitcoin.  Your fees are 17 1.7 millibitcoin, so you have to add 1 more input to cover it making 517 501 inputs.  That changes the size of your transaction.  you now have 12 + 1654416032 (inputs x 32) + 1 (for having more than 250 inputs) + 204 (for 1 output).408 for 2 outputs because you need to get change.  Your transaction size is now 16567 16453 bytes.  Because that also rounds up to 17000 bytes, you don't have to add any more inputs changing the size of your transaction again.

Now, you multiply the 17 1.7 millibitcoin fee times the 750 dollars per bitcoin and you get $12.75. $1.275 In this scenario your fee for transferring the same 3750 dollars is 12.75. $1.275  When I was guesstimating I told you it would be something like $40, so I was over by $27.25 $38.75 because adding inputs is cheaper than IS FAR CHEAPER THAN I thought it was.

So this is the truth that someone who called "misinformation" did not provide; you transfer your 5 BTC and if you have in your wallet a larger-than-5-BTC coin or a whole bunch of 0.01 BTC coins, it costs you somewhere between 7.5 cents FREE and 12.751.275 dollars.  

sr. member
Activity: 378
Merit: 250
November 25, 2013, 06:56:28 PM
#67
I can see fees becoming a scammers dream.

Imagine "for sale 0.8 BTC , $US at Mt. Gox rate, you pay fees" and your'e buying hundreds of bits of dust.
This is incorrect. Even if the transaction is from many txouts in the sender's wallet (and they have to pay a larger fee), you will be receiving a single consolidated payment for the amount.

The only instance where "buyer pays fees" may be services where you withdraw a balance from your account on an exchange or pool to your wallet. Professionals manage their wallets so amplified fees don't occur.

Dude, you missed it where he said "you pay fees" was part of the deal. 

That's a dumb deal to accept, and highly nonstandard, but Deesome is absolutely right.



Thanks Cryddit, the scenario I was imagining was newbies with not a lot money to invest wanting to get into Bitcoin.
sr. member
Activity: 378
Merit: 250
November 25, 2013, 06:54:00 PM
#66
Fees are needed to pay miners for their work in securing the network.
If miners don't work, transactions won't ever confirm anymore.

So you just have to pay miners enough for them to keep on confirming transactions.
0.0000001 or 0.05, all depends on what the miners think is acceptable.
If you don't agree, just mine and setup your own fee policy.

/thread.



So theoretically if I have a wallet loaded with a small balance say 1.2 btc comprised of dust transactions, I could re-download the bitcoin client with a new wallet address and start mining with no fees then send myself the 1.2btc.
Would that consolidate the dust into one Bitcoin transaction?
legendary
Activity: 924
Merit: 1132
November 25, 2013, 06:52:00 PM
#65
I can see fees becoming a scammers dream.

Imagine "for sale 0.8 BTC , $US at Mt. Gox rate, you pay fees" and your'e buying hundreds of bits of dust.
This is incorrect. Even if the transaction is from many txouts in the sender's wallet (and they have to pay a larger fee), you will be receiving a single consolidated payment for the amount.

The only instance where "buyer pays fees" may be services where you withdraw a balance from your account on an exchange or pool to your wallet. Professionals manage their wallets so amplified fees don't occur.

Dude, you missed it where he said "you pay fees" was part of the deal. 

That's a dumb deal to accept, and highly nonstandard, but Deesome is absolutely right.

Pages:
Jump to: