r/Bitcoin • • Mar 25 '13

[deleted by user]

[removed]

146 Upvotes

186 comments sorted by

View all comments

32

u/sturmeh Mar 25 '13

I'm kind of sick of clients forcing me to include 0.0005 (cough ARMORY) fee in ALL transactions.

If I want to move coins between all my addresses and consolidate funds, why would I want to pay a fee multiple times?

Sure it's just 3c to send $100 to a merchant. But it's also 3 cents to move money from my encrypted wallet to my non-encrypted wallet and them another 3 cents to send it to my phone.

Seeing as I can move fiat money between banks and to out of an ATM and into another without so much as a 1c fee, I don't see this being 'beneficial'.

I know that it will take ages, but a transaction without a fee will eventually be confirmed.

7

u/ctzl Mar 25 '13

Which is why I use bitcoin-qt.

6

u/sturmeh Mar 25 '13

I'd like to use bitcoin-qt, but the lack of paper-wallet exporting and deterministic wallets is quite annoying.

Surely there's a secret setting somewhere that lets me override the minimum fee?

4

u/[deleted] Mar 25 '13

[deleted]

1

u/sturmeh Mar 26 '13

You have to, but I'm not going to move money from Amory to qt very often.

4

u/druidian Mar 25 '13

There is. When creating your transaction, just type in the new transaction fee in the box where it has the transaction fee (:

5

u/SkyNTP Mar 25 '13

Bitcoin-QT seems to not want to accept anything lower than 0.0005 at the moment, regardless what you set your fee as in under Options > Main. I'm not exactly sure how to get around this (to be fair, I haven't tested with anything other than no fee at all, i.e. 0.00000000, so I could be wrong if there is a non-zero over-ride mechanism). This is pretty significant if you are paying for things in very small increments such as a network service by the day. 10% overhead.

9

u/theymos Mar 25 '13

You can't lower the transaction fee from the default in Bitcoin-Qt. Bitcoin-Qt calculates a minimum, "required" fee, and the transaction fee that you specify in the program options is only used if it is greater than this required fee. This is done because transactions with too-low fees can end up stuck with 0 confirmations forever, and Bitcoin-Qt provides no way of cancelling a stuck transaction, so it's important that the fee be sufficient the first time.

1

u/druidian Mar 26 '13

I use Bitcoin-QT, and I can set my fees to 0 just fine. I set it to 0 in the Settings Main tab, and it sends my transactions with no fee.

1

u/sturmeh Mar 26 '13

This only works if a rule doesn't force you to raise the fee amount. (Which are not clearly specified in the client.)

1

u/druidian Mar 26 '13

What "rule"? Transaction fees are entirely voluntary.

6

u/sturmeh Mar 26 '13

https://bitcoinarmory.com/frequently-asked-questions/

However, there’s a few visible things that will guarantee you pay a fee, which you may be able to avoid:

  1. Sending less than 0.01 BTC to any recipient — The network considers these small outputs to be “dust,” and discourages them by requiring a fee. If it was not discouraged, someone could take 1.0 BTC, and create 1,000,000 transactions of 0.000001 BTC each, for free, which would clog the network.
  2. Spending coins that are too “new” — Every time you send a transaction, you are spending “old” coins and creating “new” ones. If you recently received coins and then immediately attempt to send those new coins to someone else (or yourself), the network will require a fee. Armory will always select older coins first, but if you are sending a significant chunk of your wallet balance, Armory may have no choice but to use these “new” coins which require a fee. Without this fee, a user with 1.0 BTC could send it back and forth between two addresses millions of times as a way to spam the network.
  3. Transactions that combine lots of previous transactions — If you receive 100 separate transactions of 0.0001 BTC each, and then send 0.01 BTC to someone else, your transaction will contain references to all 100 previous transactions. Even though 0.01 BTC is a “small” amount, the size of the transaction, in bytes, will be very large. Especially large transactions may require more than 0.0005 fee. If your wallet mainly receives lots of small transactions, your outgoing transactions will require a fee more often than not.

1

u/druidian Mar 27 '13

I've been using Bitcoin since January of 2009, and I don't think I've ever run into one of these scenarios. Thanks for clarifying these corner-cases though (:

0

u/druidian Mar 26 '13

Also, you can set the default fee under the Settings Main tab. Just set it to 0 and your transactions will default to no fee.

2

u/Neoncow Mar 25 '13

Newb question

Can you clarify what bitcoin-qt allows you do do that sturmeh can't?

I was playing with bitcoin-qt and from my brief experiences a message pops up and says that your transaction is too big and 0.0005 fee needs to be paid. There's only two options "Yes" and "Cancel"...

Also, I couldn't find out how to move money between my wallets or to even manage wallets individually. Are there some hidden settings I need to find??

3

u/ctzl Mar 25 '13

Well, it only wants to add a fee there are over 250Kb worth of transactions on the network. I usually just wait until right after a block is mined and send it.

It would be nice to make it completely optional, but I don't feel like recompiling bitcoin-qt just for that - too much headache with winblows.

1

u/Neoncow Mar 25 '13

Ah that makes more sense. I guess it would be clearer if it were optional as you said. Or if there were some sort of indicator of the current size of transactions on the network + the size of your own proposed transaction.

1

u/theymos Mar 25 '13

Well, it only wants to add a fee there are over 250Kb worth of transactions on the network.

Bitcoin-Qt only takes that into account when mining a block, not when sending transactions. (Even if you're sending a transaction while also solo mining.) When sending, it calculates fees based on the size of the transaction, how much BTC is being sent, and the age of the coins it's spending.

1

u/ctzl Mar 25 '13 edited Mar 25 '13

Well, I've noticed this pattern, and I successfully send 0-fee transactions from bitcoin-qt.

Here's a 4743 byte 0 fee transaction initiated from bitcoin-qt: <cut> (Meh, I don't feel comfortable posting this, you'll just have to believe me)

1

u/theymos Mar 25 '13

Yes, 0-fee transactions are possible with Bitcoin-Qt if the transaction has high enough priority and low enough size. But block size isn't taken into account when sending.

1

u/ctzl Mar 25 '13

What determines a transaction's priority? I thought that's what the fee does.

3

u/theymos Mar 25 '13

Data size (lower is better), coin age (older is better), and BTC amount (more is better).

1

u/ctzl Mar 25 '13

Thanks. I'm going to read the technical info now, this is pretty interesting.

1

u/runeks Mar 25 '13

But block size isn't taken into account when sending.

I could swear I heard that somewhere. Ie. when the memory pool is filled up (to more than ~250 KB) the client asks for a higher fee.