Subject: Re: [Bitcoin-development] Floating fees and SPV clients

From: Patrick Mead <[email-masked]>
Date: Tue, 3 Dec 2013 00:24:30 +1030

First time posting to this mailing list so feel free to ignore me if
this is a stupid idea.

On Mon, Dec 2, 2013 at 3:49 AM, Mike Hearn <[email-masked]> wrote:
>
> We need to get away from the notion of senders attaching fees anyway. This is the wrong
> way around because it’s the recipient who cares about double spending risk, not the sender.
>

It seems to me that a common problem currently revolves around
accepting transactions in
retail scenarios, such as paying for a sandwich from Subway. A
solution could be to give the
vendor responsibility for setting the fee, which means they can choose
the trade-off that works
best for them in terms of fee size vs. speed of processing.

Idea:
Add a "fee" parameter to the payment URI specification.
When processing the transaction, the customer's UI should show only
the total price, including
both the transfer amount and the fee. The vendor only accepts the
transaction if the customer
uses the right amount and fee. If the fee is too small (for example,
the user might be using an
older wallet and has selected a fee of zero), the vendor can issue a
refund transaction
immediately and tell the user to try again.

Pros:
- could easily be implemented immediately
- old wallets would still be supported by just manually entering the
fee as users do now
- no greater risk of double spending on either side
- maintains the distributed nature of the system
- relies on humans to judge the fee (who are much less likely to
spiral infinitely upwards)
- flexible enough to support varying sizes of transaction and varying
degrees of security

Cons
- requires the vendor to have sufficient understanding of Bitcoin to
make the trade-off
- doesn't solve the problem of selecting a fee for transactions
between individuals/laymen
- doesn't solve fee selection for automated transactions such as
mixing/de/refragmentation

Thoughts?