While developing a bitcoin-related app, i have stumbled upon some seriously annoying shit.

The problem is that apparently, using the default client's bitcoind, there is currently no way to determine what the transaction fee is going to be, before sending money ! (So i could, for example, tell the user how much will he be paying BEFORE he sends the money).

Should there be a method in the API like "checksendtransactionfees <address> <amount>" ?

There used to be a patch or pull request that added the ability to create a transaction for preview, i.e. not transmitting it yet to the network. This transaction could then be inspected, and afterwards either confirmed or aborted.

I very much liked that idea as a solution to the unknown-fees problem, but I can't find it anymore.

Should there be a method in the API like "checksendtransactionfees <address> <amount>" ?

Wouldn't work. The knapsack problem solver user to select coins is stochastic (uses rand()), therefore the coins selected from the wallet are really random for each call.

You can probably propose a change where a rand() is replaced with some pseudo-random algorithm that seeds of some explicit value and therefore is 100% reproducible.

That is not a problem really.

The method i proposed could work the following way, by "preparing" the transaction:

1. Make the rand() and prepare the transaction + calculate fees2. The transaction is stored in a "prepared" or "locked" state - all bitcoins from the transaction are locked, until the transaction is unlocked by user.3. If the user likes the fees, he confirms the transaction, it becomes unlocked, and it is then relayed to the network.

Should there be a method in the API like "checksendtransactionfees <address> <amount>" ?

Wouldn't work. The knapsack problem solver user to select coins is stochastic (uses rand()), therefore the coins selected from the wallet are really random for each call.

You can probably propose a change where a rand() is replaced with some pseudo-random algorithm that seeds of some explicit value and therefore is 100% reproducible.

That is not a problem really.

The method i proposed could work the following way, by "preparing" the transaction:

1. Make the rand() and prepare the transaction + calculate fees2. The transaction is stored in a "prepared" or "locked" state - all bitcoins from the transaction are locked, until the transaction is unlocked by user.3. If the user likes the fees, he confirms the transaction, it becomes unlocked, and it is then relayed to the network.

Should there be a method in the API like "checksendtransactionfees <address> <amount>" ?

Wouldn't work. The knapsack problem solver user to select coins is stochastic (uses rand()), therefore the coins selected from the wallet are really random for each call.

You can probably propose a change where a rand() is replaced with some pseudo-random algorithm that seeds of some explicit value and therefore is 100% reproducible.

That is not a problem really.

The method i proposed could work the following way, by "preparing" the transaction:

1. Make the rand() and prepare the transaction + calculate fees2. The transaction is stored in a "prepared" or "locked" state - all bitcoins from the transaction are locked, until the transaction is unlocked by user.3. If the user likes the fees, he confirms the transaction, it becomes unlocked, and it is then relayed to the network.

The fee is miniscule. Just eat it and call it a cost of doing business.

kjj probably runs a mining pool which collects those fees and doesn't distribute them to the actual miners. So your cost will be his gain.

Isn't the bitcoin ecosystem wonderfully egalitarian that way?

Actually, no, I don't run a pool. And my mining rigs are almost always on btcguild, which doesn't distribute fees to members, so I have nothing to gain directly by this.

But finding fees in advance is only possible if you accept some horrible preconditions. If you are willing to lock parts of the wallet in advance and accept the proposed fees before the next block is found, you can do it. Pay attention to the second half of that. If you ignore it, you are absolutely certain to be paying too much in fees over time.

I really like the way flexcoin handles this problem. They charge a predetermined fee when a user wants to send, and the difference (in aggregate) between the fee they charge and the fee they pay to the bitcoin network is distributed as profit to them and as a dividend "refund" to their depositors.

Oh, and if anyone seriously believes that the devs are obfuscating the mining fees intentionally because they profit from it, you are bat-shit crazy, and I just thought you should know that.

17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8 I routinely ignore posters with paid advertising in their sigs. You should too.

Actually, no, I don't run a pool. And my mining rigs are almost always on btcguild, which doesn't distribute fees to members, so I have nothing to gain directly by this.[...]Oh, and if anyone seriously believes that the devs are obfuscating the mining fees intentionally because they profit from it, you are bat-shit crazy, and I just thought you should know that.

Well, I apologise for being presumptious about your personal involvement in the fee-skimming scam. Its my personal bias I'm getting from the bitcoin promoters that I personally met.

As to who is bat-shit crazy it will be probably for the courts to decide. This pertains especially to those developers who reside in the USA and other coutries with an adversarial legal system. The various fee-skimming scams are just such an juicy target for a class action lawsuit in the Eastern Texas Circuit that somebody there will just grab this opportunity.

It either that or bitcoin will tank so low that not even a bottom-feeding lawyer will be willing to get out of the bed.

Actually, no, I don't run a pool. And my mining rigs are almost always on btcguild, which doesn't distribute fees to members, so I have nothing to gain directly by this.[...]Oh, and if anyone seriously believes that the devs are obfuscating the mining fees intentionally because they profit from it, you are bat-shit crazy, and I just thought you should know that.

Well, I apologise for being presumptious about your personal involvement in the fee-skimming scam. Its my personal bias I'm getting from the bitcoin promoters that I personally met.

As to who is bat-shit crazy it will be probably for the courts to decide.

I think that involving lawyers is not so necessary.

This is an open-source project, everybody can write their own client. Also, it is a choice of the collective what fees will be enforced. If too many people will be annoyed by fee-skimming, they will move to forked clients, such as mine.

The reasons why people are not rioting against it are probably1) Larger fees do protect the network from penny flooding attacks2) This is not annoying enough (yet).

The reasons why people are not rioting against it are probably1) Larger fees do protect the network from penny flooding attacks2) This is not annoying enough (yet).

3) Lawyers have sufficient income from other sources. The bitcoin targets are not yet ripe enough. By "ripe" I mean that nobody yet signed off on their audits as "true & correct". Once the word gets out among the lawyers that bitcoin-using businesses routinely sign off the perjurous audits that don't follow the GAAP the writs will start flying.

As to who is bat-shit crazy it will be probably for the courts to decide. This pertains especially to those developers who reside in the USA and other coutries with an adversarial legal system. The various fee-skimming scams are just such an juicy target for a class action lawsuit in the Eastern Texas Circuit that somebody there will just grab this opportunity.

It either that or bitcoin will tank so low that not even a bottom-feeding lawyer will be willing to get out of the bed.

What fee-skimming scams? Are we still talking about network transaction fees?

17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8 I routinely ignore posters with paid advertising in their sigs. You should too.

As to who is bat-shit crazy it will be probably for the courts to decide. This pertains especially to those developers who reside in the USA and other coutries with an adversarial legal system. The various fee-skimming scams are just such an juicy target for a class action lawsuit in the Eastern Texas Circuit that somebody there will just grab this opportunity.

It either that or bitcoin will tank so low that not even a bottom-feeding lawyer will be willing to get out of the bed.

What fee-skimming scams? Are we still talking about network transaction fees?

No, we are talking about not giving user the choice whether he/she should risk his/her money and send the bitcoins without any fee.

The fee is miniscule. Just eat it and call it a cost of doing business.

What if your or ShadowOfHarbinger's software were used to run somebody's else business? You can eat your own fees just fine, but if you make someone else "eat fees" that is somewhere between "negligent accounting" and "conspiracy to commit fraud in accounting". The last one is when someone modifies the software that handles the transactions. In bitcoin ecosystem pretty much everyone runs modified software, so lawyers will have a field day in wringing the settlements from the naive programmers and business-people who hired them.