Do you think we're at the point where wallets have to be able to "actively bid" the fee using replacement due to block contention?
I think a fee estimation API is just a data point. Depending on the properties of the estimator, and how that's presented in the UI, it could serve to either increase or decrease the need for recovery. Like you said, we already have "fee estimation" in the form of "user, please estimate the fee!" Now we want to make fee estimation "better", and one key aspect of better fee estimation is decreasing the need for recovery. Techniques like signing multiple transactions with different fee levels should become less useful the better you are at estimating the fee. What I find interesting is that fee estimation can look at the size and type of the transaction, the age of the inputs, the number of inputs versus outputs, amount of the outputs, factor in [assumptions about] what fee policies miners are actually using, and after all that, look at the actual competing transactions on the blockchain and try to figure out how many of those are even real. For example, if you just look at fee-per-KB of mempool versus fee-per-KB of recently mined transactions, without taking into account input age, number of inputs vs outputs, output amounts... all the other things miner might have used to discriminate between transactions, then I don't think you'll end up with a better fee estimator. Contention might bump you out of a few blocks, but if the basis for calculating the fee is fundamentally compatible with the relay policies and the transaction-inclusion policies being run by large mining pools, the transaction isn't dead, it's just pending. On Fri, 25 Oct 2013 09:13:23 -0700, Peter Todd <p...@petertodd.org> wrote: > On Fri, Oct 25, 2013 at 02:02:35PM +0200, Andreas Petersson wrote: >> >> >> > Worth thinking about the whole ecosystem of wallets involved; they all >> > have to handle double-spends gracefully to make tx replacement of any >> > kind user friendly. We should try to give people a heads up that this >> is >> > coming soon if that's your thinking. >> >> If there is a situation where wallets are supposed to constantly monitor >> the tx propagation and recreate their transactions with different fees, >> this would make a lot of usecases inconvenient. >> half-offline bluetooth transactions, users with unstable connections, >> battery power lost, etc, etc. - and last but not least power concerns on >> hardware wallets on the bitcoincard (tx signing drains a significant >> amount >> of power and should therefore only be done once) > > Anyway, as I've said repeatedly my problem with fee estimation is that > it needs to be combined with some form of transaction replacement to > give users a way to recover from bad estimates, not that I think the > idea shouldn't be implemented at all. After all, we alrady have fee > estimation: wallet authors and users manully estimate fees! > > This particular case is a nasty one re: recovering from a bad estimate, > and it's exactly why the payment protocol is designed for the sender to > give the receiver a copy of every transaction they make so the receiver > can be held responsible for getting them mined, eg. with > child-pays-for-parent, out-of-band fee payment, or maybe even by adding > inputs to the transaction. (SIGHASH_ANYONECANPAY) ------------------------------------------------------------------------------ October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk _______________________________________________ Bitcoin-development mailing list Bitcoin-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-development