Author

Topic: i thought transaction fees are optional? (Read 3411 times)

hero member
Activity: 566
Merit: 500
March 10, 2012, 09:07:22 PM
#26
That would cause inflation, effectively costing you money anyway.
And how would you prevent spam?
Valid questions. I was just clarifying where the ambiguity was, and not attempting to question Bitcoin's ingenious mechanisms that are being time proven as we talk.

Maybe an electronic value transfer system that carries no cost is impossible, not the least because of those two problems. At least, we can not conjure such up by throwing a few words around at our leisure here.
newbie
Activity: 12
Merit: 0
If miners received reward blocks forever then a zero fee system could carry on.
That would cause inflation, effectively costing you money anyway.

And how would you prevent spam?
legendary
Activity: 1358
Merit: 1002
So let's go back to the very first part of this thread -- the title:
  "i thought transaction fees are optional?"

The correct response is:
  "You thought wrong, sorry."

Maybe it's time to change the wording on the wiki, etc.?
legendary
Activity: 2506
Merit: 1010
How large zero-fee pool would be required to ensure timely (to some degree, and not arbitrary like now) transmittal of zero fee payments?

It isn't just having a miner that will accept zero-fee that is a factor here.  

The bitcoin software run by the nodes specifically will, by design, refuse to relay these tiny, zero-fee transactions.  So even if there is a miner willing to include them the miner will never know of them as they were never relayed by the peers.  (there is one exception -- if the client doing the spend knows the IP address(es) of miners that will accept these zero-fee transactions the client can be configured to explicitly connect to these miners.)

So let's go back to the very first part of this thread -- the title:
  "i thought transaction fees are optional?"

The correct response is:
  "You thought wrong, sorry."
hero member
Activity: 566
Merit: 500
I was asking for an example.
You would have to think of one yourself, if you dare to think outside the sphere of conventional merchandising. I am implying a value transfer system that could transcend the current use of any currency. I admit it is idealistic. But I think it's useful to let it out that we were disappointed to find out Bitcoin will not be our saviour for that problem.

Sendmany makes it possible for the fee to be trivial even for microtransactions.
Thanks. Only now do I realize this is technically possible. It certainly is not apparent when one starts to use and even learn some internals of bitcoin.

Quote
Though if you have a service that handles those micro transactions internally (denominated in bitcoins or something backed by bitcoins even) and only sends to and receives from the blockchain the deposits and withdrawals for its customers, then you can do that and is something well served by Bitcoin.

Yes, well, it seems Bitcoin at least sets us halfway there for enabling feasible transfer of miniscule value. Being dependent on a second tier system can however be compared to bitcoin being dependent on USD, which is not sustainable, but it seems all that can be done.

... which brings us to my earlier question: How large zero-fee pool would be required to ensure timely (to some degree, and not arbitrary like now) transmittal of zero fee payments?
legendary
Activity: 2506
Merit: 1010
Quote
ETA: worth noting sendmany option can greatly reduce fees for making many insignificant transactions.
Insignificant? I don't claim to fully understand how it works, could you clarify what transactions are insignificant?


The amounts are irrelevant.  This is because bitcoin fees are based on the size of the data that make up the transaction and not the amount of bitcoins spent in the transaction.  

Take the transactions from the Bitcoin Faucet for example.  That is an example of a microtransactions-based service running today.  Those payments are sent out in batches.  The 0.0005 fee is paid per batch so the actual fee for each recipient from the faucet is a fraction of 0.0005 BTC.  Sendmany makes it possible for the fee to be trivial even for microtransactions.

2nd: Make a million payments in one year for instance, and the fees will simply render significant overhead.

Yup -- that scenario is one that Bitcoin, a decentralized ledger system, does not serve.  Though if you have a service that handles those micro transactions internally (denominated in bitcoins or something backed by bitcoins even) and only sends to and receives from the blockchain the deposits and withdrawals for its customers, then you can do that and is something well served by Bitcoin.
donator
Activity: 1218
Merit: 1015
Which applications would suffer disuse due to .0005BTC tx fees?
1st: Micropayment applications namely. There is potential for a whole new world of applications where miniscule value can be transferred often without any fees. I initially thought Bitcoin is up to that, but it strongly looks like we will have to wait for something else for that.

2nd: Make a million payments in one year for instance, and the fees will simply render significant overhead.

3rd: The inconsistency of required fees is a more serious issue. But perhaps people just get used to the uncertainty involved in "donating".

Quote
ETA: worth noting sendmany option can greatly reduce fees for making many insignificant transactions.
Insignificant? I don't claim to fully understand how it works, could you clarify what transactions are insignificant?

1) I was asking for an example. In what situation would Bitcoin's miniscule fees compromise the usability of a practical application, where neither lumping payments and doing a sendmany transaction or delaying payments until a significant amount of coins are accumulated to justify a transaction is a reasonable option?

2) Again - an example of a situation where that's realistic would be great in helping me understand where tiny tx fees could deter actual business. Why would anyone need to send millions of single tiny transactions in a year? Micro-coin-tumbling?

3) I'd agree with that. Fee inconsistency is irritating (rather, that there isn't a flat fee), but I've never run into someone who actually couldn't implement their idea because of it. These "donations" ultimately go toward payment processing. Block rewards are set to halve within a few months, and this will happen again, later - and again and again and again. At some time in the future, the only payment miners will receive will come from tx fees. Processing transactions does require work.

As for insignificant transactions, I'd consider that anything which is less than ~$1 worth of Bitcoins, which would probably be the cheapest good or service I've ever seen on this forum. If you can't buy anything with the transaction, I'd consider it insignificant. Obviously, that's subjective - but I don't see why anyone should have to suffer a larger blockchain for such low-value transactions. Tx fees are ultimately set by individuals (supply and demand -- what the miners want vs. what users are willing to pay) *whoops, pardon my misinfo*, not the creators of Bitcoin.
hero member
Activity: 566
Merit: 500
Which applications would suffer disuse due to .0005BTC tx fees?
1st: Micropayment applications namely. There is potential for a whole new world of applications where miniscule value can be transferred often without any fees. I initially thought Bitcoin is up to that, but it strongly looks like we will have to wait for something else for that.

2nd: Make a million payments in one year for instance, and the fees will simply render significant overhead.

3rd: The inconsistency of required fees is a more serious issue. But perhaps people just get used to the uncertainty involved in "donating".

Quote
ETA: worth noting sendmany option can greatly reduce fees for making many insignificant transactions.
Insignificant? I don't claim to fully understand how it works, could you clarify what transactions are insignificant?
donator
Activity: 1218
Merit: 1015
It is exactly the uncertainty that makes the whole fee concept repulsive. How much of a fee should one pay to ensure timely transmittal of funds?

The fees typically amount to less than half a US cent at the current exchange rate.

Claims whether the fees are miniscule or considerable are not valid criteria for their justification. Half US cent may be huge for some micropayment applications. In my opinion the current incoherent fee system is becoming one of the main obstacles against mainstream adoption.
Which applications would suffer disuse due to .0005BTC tx fees?

ETA: worth noting sendmany option can greatly reduce fees for making many insignificant transactions.
hero member
Activity: 566
Merit: 500
It is exactly the uncertainty that makes the whole fee concept repulsive. How much of a fee should one pay to ensure timely transmittal of funds?

The fees typically amount to less than half a US cent at the current exchange rate.

Claims whether the fees are miniscule or considerable are not valid criteria for their justification. Half US cent may be huge for some micropayment applications. In my opinion the current incoherent fee system is becoming one of the main obstacles against mainstream adoption.
donator
Activity: 1218
Merit: 1015
Not meaning to offend anyone, but looking from pretty much outsider's view I personally find the make-believe "optional" fee concept repulsive, even leaning towards hypocritical.

While it seems the miners largely collectively define that fees must be paid, would the opposite be feasible? Ie. establishing pools that enforce zero fee policy. Would a small pool be effective at all in facilitating zero fee payments and making the "optional" fee live up to its word?
It really is optional right now. I've done a few transactions since last posting in this thread and refused to pay the fee. All times, it's been included in the next block. Now, if it's true that pools ARE enforcing the fee guidelines, I've just been lucky, and you should consider fees optional only insofar as paying fees expedites your transaction, and going fee-free may cause your transaction to take a loong time to process.

The fees typically amount to less than half a US cent at the current exchange rate. The fees and volume are so low, it hardly benefits miners, and doesn't really make an impact on anyone except those who are making many transactions <$.10 - but even that'd only be true if pools all enforced the fee guidelines.

Some tx ids of fee-free transactions in case someone's becoming skeptical of my claims:
http://blockchain.info/tx-index/3192308/03cebf0fb2dd65abe412dac39937002981542dd07d456f70e2bd256e284cd6e2
http://blockchain.info/tx-index/3114525/bd2763d383bd357b0f833c4995b5a766c2bf899341a3a5ebe1adf1b5b2207c51
http://blockchain.info/tx-index/3096160/532d14b7b5c3c61af1bdcae826993c36f0d8e69e1a31ec8825ff3515f937e859
hero member
Activity: 566
Merit: 500
Not meaning to offend anyone, but looking from pretty much outsider's view I personally find the make-believe "optional" fee concept repulsive, even leaning towards hypocritical.

While it seems the miners largely collectively define that fees must be paid, would the opposite be feasible? Ie. establishing pools that enforce zero fee policy. Would a small pool be effective at all in facilitating zero fee payments and making the "optional" fee live up to its word?
staff
Activity: 4284
Merit: 8808
Another way to (sort of) avoid transaction fees is to mine somewhere where the coins are generated in your wallet(I know eligius does this, and it's also how p2pool works).  These coins show up as if you had solo mined them, and take 120 confirmations to mature, but I have never seen transaction fees when sending them on.  Of course, 120 confirmations is quite a while, so that might be why it's not seen as spammy anymore.  Something to consider.

Yes, the 120 confirmations help a lot— as does the fact that eligius only pays out .66 BTC or more (unless you stop mining).

The metric is similar to coin-days-destroyed... the greater the input value * age the greater the txn priority.
full member
Activity: 125
Merit: 100
Another way to (sort of) avoid transaction fees is to mine somewhere where the coins are generated in your wallet(I know eligius does this, and it's also how p2pool works).  These coins show up as if you had solo mined them, and take 120 confirmations to mature, but I have never seen transaction fees when sending them on.  Of course, 120 confirmations is quite a while, so that might be why it's not seen as spammy anymore.  Something to consider.
member
Activity: 84
Merit: 10
thanks guys, i think i have a handle on it.

no, the ability to send no fee transactions isn't incredibly important to me at this point, but a correct understanding of whats going on is.  i didn't realize there were two versions of the official client, nor that in one of them fees were forced.

i have been liking the looks of armory, but only have 2GB ram on my laptop where i've been doing most of my bitcoining, and read in the dev thread that it doesn't play well with less than 4GB of RAM.  i'll install it on my desktop and play around.

many thanks for helping me understand whats going on.
legendary
Activity: 2506
Merit: 1010
 i could not override the transaction fee at all, it just wouldn't send without including it.

The official bitcoin.org client won't let you send without a fee if it thinks a fee will be necessary in order for it to get included in a block.  This is for the protection of the bitcoin network from spammy transactions.

Being open source, you can change it to do whatever you want.

Also, there are other clients [update: other than those from bitcoin.org] that do not have this behavior.  If this is something important to you (not paying the sub-cent fee), you probably have an edge case.  Counting on the ability to send transactions with no fee should not be a long-term strategy (heh, maybe 1 year out in the bitcoin world) for any bitcoin-related effort.
donator
Activity: 1218
Merit: 1015
March 04, 2012, 02:28:08 PM
#9
thanks stephen, any additional clarity you can offer would be appreciated.

kluge, that is my main point of confusion.  i could not override the transaction fee at all, it just wouldn't send without including it.
Right. They are optional in the sense that it isn't necessarily enforced by miners (miners, or their representative pool, choose which transactions to include in a block) -- you can always set the fee to 0 with clients which allow it, but fees are mandatory with the official Satoshi client unless you change the code (which was done with the no-fee version -- not sure where link to it is - you'll have to find it yourself). It appears up to miners as to what fees are. AFAIK, there's nothing explicitly preventing all the mining pools from forming a cartel and charging 5BTC fees on all transactions if they really wanted to (not sure on that, though - wait for someone wiser than I).
member
Activity: 84
Merit: 10
March 04, 2012, 02:23:13 PM
#8
thanks stephen, any additional clarity you can offer would be appreciated.

kluge, that is my main point of confusion.  i could not override the transaction fee at all, it just wouldn't send without including it.
donator
Activity: 1218
Merit: 1015
March 04, 2012, 02:13:38 PM
#7
There are clients out there (at least both Armory and the specific no-fee version of the Satoshi client) which allow you to ignore the "mandatory" fee, and all the times I've done that, the coins still go through without a problem. So, I'm guessing given tx fees currently amount to a very insignificant amount compared to the 50BTC block reward, most pools aren't bothering to enforce fee "rules." I could've just been lucky, though, so don't do it based just on my experience.
legendary
Activity: 2506
Merit: 1010
March 04, 2012, 02:05:24 PM
#6
do you have one that is more specific in estimating?  like roughly x small transactions or in wallet less than x amount of time?

I think it was something like 0.0001 BTC per 1K of transaction size, minimum 0.0005 BTC.   The wiki article needs an update:
 - https://en.bitcoin.it/wiki/Transaction_fees

[update: not sure which is the correct source]
 - https://github.com/bitcoin/bitcoin/blob/master/src/main.h#L550
 - https://github.com/bitcoin/bitcoin/blob/master/src/wallet.cpp#L1100
member
Activity: 84
Merit: 10
March 04, 2012, 01:52:57 AM
#5

You probably meant to write 0.0005 BTC? (which is a fraction of a penny, at the current exchange rate)

yes, sorry about that.  i know its not much money, just trying to figure it out.

Quote
that is a pretty small amount being transferred (under a U.S. Dollar's worth of bitcoin) and is just a couple days old.  The client will consider that to be "spammy" and require the fee.

 - http://en.bitcoin.it/wiki/FAQ#How_much_will_the_transaction_fee_be.3F

thanks for the link.  definitely helped a lot.  do you have one that is more specific in estimating?  like roughly x small transactions or in wallet less than x amount of time?
legendary
Activity: 2506
Merit: 1010
March 04, 2012, 01:11:25 AM
#4
but included a transaction fee of .005 BTC.

You probably meant to write 0.0005 BTC? (which is a fraction of a penny, at the current exchange rate)

the .15 was 2 transactions in to my wallet.  they were only there for a day or two, but had tons of verifications.

that is a pretty small amount being transferred (under a U.S. Dollar's worth of bitcoin) and is just a couple days old.  The client will consider that to be "spammy" and require the fee.

 - http://en.bitcoin.it/wiki/FAQ#How_much_will_the_transaction_fee_be.3F
member
Activity: 84
Merit: 10
March 04, 2012, 12:51:43 AM
#3
You are not wrong. And the software is not wrong.

One of 2 things happened:

Those .15 BTC were composed mainly from a lot of small amounts
Those BTC were on you wallet for less that a couple days

Or maybe a combination of both those reasons.

the .15 was 2 transactions in to my wallet.  they were only there for a day or two, but had tons of verifications.

how is the transaction fee calculated?
legendary
Activity: 1358
Merit: 1002
March 04, 2012, 12:33:17 AM
#2
You are not wrong. And the software is not wrong.

One of 2 things happened:

Those .15 BTC were composed mainly from a lot of small amounts
Those BTC were on you wallet for less that a couple days

Or maybe a combination of both those reasons.
member
Activity: 84
Merit: 10
March 04, 2012, 12:18:32 AM
#1
using Bitcoin version 0.5.2, just playing around to get as familiar as possible.  had .15 BTC and was trying to send all of it to another address.  kept telling me that i didn't have enough including the .005 transaction fee.

peeked in the settings, optional transaction fee include was set to 0.0000000 BTC, tried again, same thing.

so i dropped the amount and it sent successfully, but included a transaction fee of .005 BTC.

where am i going wrong?
Jump to: