Warn when transaction fee might be higher due to block chain out of sync #1858

issue keystrike opened this issue on September 23, 2012
  1. keystrike commented at 2:05 AM on September 23, 2012: contributor

    I was going to send a transaction but it was too large and my client (0.7.0) wanted me to pay a fee. However, I was not fully synchronized with the blockchain yet. The client knew this. I waited a few more blocks and sent the transaction without having to pay the fee.

    The message asking me to pay a fee didn't mention the blockchain not being synchronized. Users who are unaware of how fees are calculated could have paid an unnecessary fee to the network had they accepted prior to the client knowing that there was a way to send coins w/o the fee. Perhaps the error message could be modified to reflect this?

    Laanwj: clarified issue title

  2. Diapolo commented at 9:56 AM on September 23, 2012: none

    This needs some re-work yes, we have quite some open related issues to this on Github.

  3. laanwj commented at 10:05 AM on September 23, 2012: member

    I suppose sending transactions with a non-up-to-date block chain should be discouraged?

    Edit: in principle, only when inputs have been selected that were received recently, so it influences the fee computation. But that'd be lots more complex both for the user and implementation...

  4. Diapolo commented at 10:28 AM on September 23, 2012: none

    I like the idea of simply not allowing transactions when we are not up-to-date chain wise. Still leaves the rest of the fee thing open, but addresses this issue.

  5. keystrike commented at 5:23 PM on September 23, 2012: contributor

    If old inputs are being used but they are all very small, could that also trigger the fee? In which case a newer larger input might be able to remove the need for a fee. So just checking for inputs which were received recently might not solve it?

    I think having a warning would be best if the chain is not in sync and the client currently thinks a fee is needed. That way the user has the option.

  6. gmaxwell commented at 5:54 PM on September 23, 2012: contributor

    We don't currently reliably know when we're not in sync, unless it's so far back that it's before the highest checkpoint. The median measure is absolutely unacceptable for this kind of usage: doing that would allow a greifer to spin up a bunch of height lying nodes and block all (with fee?) transactions.

  7. laanwj commented at 7:14 PM on September 23, 2012: member

    I also don't agree with blocking transactions, the user should always be able to do that.

    But adding a warning that the user could be paying more fee that needed would be fine, IMO. The same check could be used that is now used for the "out of sync" warnings. The median is not even used for that, just the simple measure that the last generated block was within N minutes.

  8. laanwj closed this on Oct 27, 2015

  9. laanwj commented at 11:25 AM on October 27, 2015: member

    There are warning icons in the GUI now when the chain is not up to date.

  10. KolbyML referenced this in commit 951470bd43 on Dec 5, 2020
  11. KolbyML referenced this in commit 8f37bcccc3 on Dec 5, 2020
  12. MarcoFalke locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-15 15:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me