Stream Plans 2021-09-12: Smart fees

Last week Michi & I were talking to wallet providers, and convincing them to use the updated fee schedule in 1.14.4, and we hit an interesting problem.

They wanted to use smart fees.

If you’re not familiar with smart fees, they’re a technology Bitcoin introduced, which estimates the fee required for a transaction to be confirmed (included in a block) within a given number of blocks.

Our first thought here was we’d hack up the RPC functions for smart fees to give fixed Dogecoin-like values, but then I realised maybe we need to stop fighting how everyone expects Dogecoin to work. This has led to me experimenting with smart fees for Dogecoin today.

I have a patch PR #2564 which enables Dogecoin nodes to collect useful fee data, although we do not plan on enabling smart fees for general use yet. My hope is to include that in 1.14.5, and then look at further improvements later. In particular smart fees presume most blocks are full, and therefore having a fee market makes sense, but for a blockchain like Dogecoin where blocks are mostly empty this doesn’t make as much sense.

Instead my hope is that we can have nodes “switch on” smart fees when blocks reach a certain percentage “fullness”, and use minimum fees otherwise.

I’ll be diving into this in more detail, as well as the code, live on stream today. Hope to see you there!