Bitcoin Forum
December 15, 2024, 07:31:40 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 [3]  All
  Print  
Author Topic: Hey for the love of Satoshi can I PLEASE pay a tx fee?  (Read 4361 times)
DeathAndTaxes (OP)
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
June 19, 2012, 06:06:51 AM
 #41

Not sure how you'd want to classify BitcoinSpinner (an Android app.) It charges a set fee of 0.0005 BTC per transaction, all of which goes to the miners.

I would call that "fixed fee 0.0005 BTC".  Updated.

Clarification. BitcoinSpinner has a fee of 0.0005 BTC pr 1000 bytes of tx size, 0.0005 minimum. Everything goes to the miner. An earlier version allowed the user to specify the fee, however it was confusing for the end user.

Updated.
Jan
Legendary
*
Offline Offline

Activity: 1043
Merit: 1002



View Profile
June 19, 2012, 10:38:23 PM
 #42

This is an interesting thread.

Adding user specified transaction fees is really simple, you just let the user enter whatever he wishes to pay. BitcoinSpinner did this initially, and that was a big mistake. The fee rules for making sure that your transaction gets routed through the network are really complex, and an end user should never have to make complex decisions when sending coins.

What is the user supposed to enter?
If he enters zero he risks that his transactions never goes anywhere near a miner
If he does the complex calculation required to guarantee propagation he still may have to wait a long time for getting into a block (in theory forever)

So basically he is left at doing guess-work, and being an average user with no clue about fees work he will just enter zero, and may end up with his funds somewhere in limbo.

The approach that BitcoinSpinner uses is to always have fee = 0.0005 * max(1, (size(tx) / 1000). This guarantees propagation, but not immediate block inclusion.

A better solution would be to look at the recent blocks and calculate some kind of average fee on transactions in those blocks. This gives us two different fees: propagation-fee & average-fee.

Lets assume that average-fee is larger than propagation-fee. Whenever the user wants to send coins he could be given the option to pay the propagation-fee (and patiently wait) or the average-fee (normal speed), or pay 2 * average-fee (fast track).

How does this sound? Does any client do something like this?

Mycelium let's you hold your private keys private.
rjk
Sr. Member
****
Offline Offline

Activity: 448
Merit: 250


1ngldh


View Profile
June 19, 2012, 10:49:10 PM
 #43

From a UX perspective, I would probably recommend that you show the "recommended" (default) fee, with possibly an advanced option to change it. Maybe the option would only be shown when the interface was in some kind of "advanced user" mode.

Mining Rig Extraordinaire - the Trenton BPX6806 18-slot PCIe backplane [PICS] Dead project is dead, all hail the coming of the mighty ASIC!
deepceleron
Legendary
*
Offline Offline

Activity: 1512
Merit: 1036



View Profile WWW
June 19, 2012, 11:09:55 PM
 #44

This is an interesting thread.

Adding user specified transaction fees is really simple, you just let the user enter whatever he wishes to pay. BitcoinSpinner did this initially, and that was a big mistake. The fee rules for making sure that your transaction gets routed through the network are really complex, and an end user should never have to make complex decisions when sending coins.

What is the user supposed to enter?
If he enters zero he risks that his transactions never goes anywhere near a miner
If he does the complex calculation required to guarantee propagation he still may have to wait a long time for getting into a block (in theory forever)

So basically he is left at doing guess-work, and being an average user with no clue about fees work he will just enter zero, and may end up with his funds somewhere in limbo.

The approach that BitcoinSpinner uses is to always have fee = 0.0005 * max(1, (size(tx) / 1000). This guarantees propagation, but not immediate block inclusion.

A better solution would be to look at the recent blocks and calculate some kind of average fee on transactions in those blocks. This gives us two different fees: propagation-fee & average-fee.

Lets assume that average-fee is larger than propagation-fee. Whenever the user wants to send coins he could be given the option to pay the propagation-fee (and patiently wait) or the average-fee (normal speed), or pay 2 * average-fee (fast track).

How does this sound? Does any client do something like this?

An inclusion-seeking algorithm would be, with 2MB or more of outstanding transactions, to include enough fee to place your transaction in the top 100k. Unfortunately, other research posted here indicates that Bitcoin isn't as discerning about ranking fee amounts as one might hope.
2112
Legendary
*
Offline Offline

Activity: 2128
Merit: 1073



View Profile
June 19, 2012, 11:20:09 PM
 #45

The approach that BitcoinSpinner uses is to always have fee = 0.0005 * max(1, (size(tx) / 1000).
I have to ask: why not implement the correct equation from the Satoshi client instead of some broken hack? Death.A.T. even repeated the equation in his post, so no C++ comprehension is required.

Is this a designer/programmer obstinacy or some architectural problem like with RPC interface to the Satoshi client, where one cannot reliably precompute the fee?

Please comment, critique, criticize or ridicule BIP 2112: https://bitcointalk.org/index.php?topic=54382.0
Long-term mining prognosis: https://bitcointalk.org/index.php?topic=91101.0
Jan
Legendary
*
Offline Offline

Activity: 1043
Merit: 1002



View Profile
June 19, 2012, 11:49:03 PM
 #46

The approach that BitcoinSpinner uses is to always have fee = 0.0005 * max(1, (size(tx) / 1000).
I have to ask: why not implement the correct equation from the Satoshi client instead of some broken hack? Death.A.T. even repeated the equation in his post, so no C++ comprehension is required.

Is this a designer/programmer obstinacy or some architectural problem like with RPC interface to the Satoshi client, where one cannot reliably precompute the fee?
The formula fee = 0.0005 * max(1, (size(tx) / 1000) is the one used by the satoshi client for tx that are not using "old" inputs. However, this is not guaranteeing that you ever get into a block. It just guarantees propagation.

Mycelium let's you hold your private keys private.
2112
Legendary
*
Offline Offline

Activity: 2128
Merit: 1073



View Profile
June 20, 2012, 12:21:32 AM
 #47

The formula fee = 0.0005 * max(1, (size(tx) / 1000) is the one used by the satoshi client for tx that are not using "old" inputs. However, this is not guaranteeing that you ever get into a block. It just guarantees propagation.
Oh, I think I misunderstood you. Is your software always computing a "worst case" fee, assuming all coins are fresh, even though the coins may be seasoned? If the answer is yes, then I apologise for wasting your time with stupid questions.

Guarantees in Bitcoin are wholy different story. Bitcoin is an implementation of worldwide Poisson-dsitributed lottery, so seeking the guarantees will be ultimately futile, sort of like a charging a premium for sale of the honest lottery ticket.

Please comment, critique, criticize or ridicule BIP 2112: https://bitcointalk.org/index.php?topic=54382.0
Long-term mining prognosis: https://bitcointalk.org/index.php?topic=91101.0
Jan
Legendary
*
Offline Offline

Activity: 1043
Merit: 1002



View Profile
June 22, 2012, 08:57:16 PM
 #48

The formula fee = 0.0005 * max(1, (size(tx) / 1000) is the one used by the satoshi client for tx that are not using "old" inputs. However, this is not guaranteeing that you ever get into a block. It just guarantees propagation.
Oh, I think I misunderstood you. Is your software always computing a "worst case" fee, assuming all coins are fresh, even though the coins may be seasoned? If the answer is yes, then I apologise for wasting your time with stupid questions.
Yes, this is the way it works. I should probably make the fee calculation include "coin age" but it doesn't right now.

Guarantees in Bitcoin are wholy different story. Bitcoin is an implementation of worldwide Poisson-dsitributed lottery, so seeking the guarantees will be ultimately futile, sort of like a charging a premium for sale of the honest lottery ticket.
Right. However, I think that you can get close by looking at the average fees of recent transactions, and by looking at how big the pool of unconfirmed transactions is. Going forward I am pretty sure that miners will start paying more attention to transactions with higher fees. So what I am trying to achieve is to allow the user to choose between intelligent alternatives (cheap, normal, fast-track) instead of just letting the user enter an arbitrary fee.

Mycelium let's you hold your private keys private.
Kris
Donator
Hero Member
*
Offline Offline

Activity: 640
Merit: 500


View Profile
June 26, 2012, 08:17:08 AM
 #49

Do you want to be able to define your own fee?

WalletBit pays fees.
Pages: « 1 2 [3]  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!