Skip to content

Residual Transaction Fees

Nathan Wilcox edited this page May 1, 2014 · 2 revisions

Residual Transaction Fees

There's a problem with bitcoin transaction fees: a single miner gets paid to bake a transaction into a block, and ever after all full nodes (including miners) must verify, then store, and transmit N times the same transaction.

What if, every time a miner mines, they receive some compensation for every previous transaction storage and processing? Transaction fee payouts are amortized over many blocks/miners, which smooths out the total fee payouts.

Note

There are a variety of alternative schemes I've heard of, but I'm too busy to look them up. Therefore, this may not be an original idea. Please file an issue ticket if you'd like better related work references.

Residual Fees Proposal

Synopsis

Here is a scheme where transaction processing fee rewards are paid out in a geometric series approaching the sender's fee cost into perpetuity to all future miners.

Definition

Total all of the txn fees in a block, named Ancestor, which has height j, and call this total F[j].

The "mining payout base" is defined as:

B[j] = F[j] / 2

Whenever a miner mines any block, Descendent, which has Ancestor anywhere in its history, then Descendent has height k, where k >= j. By this Residual Fees protocol, the miner of block Descendent receives a "mining block payout" for every block in the history, including the block called Ancestor. The payout for Ancestor when mining block Descendent is:

P[j, k] = B[j] * (1/2)^(k-j) where k >= j

The total currency units a miner receives due to transaction fees for mining a block at height k is:

T[k] = Sum( P[j, k] for j in range(0, k+1) )

Notes

  • The larger the block chain, the more valuable it is to mine on top of

    it, based only on these Residual Fees. This might help solve the "block reward goes to 0 so why mine?" problem while also keeping fees lower.

  • This seems independent of the consensus system, ie: it should work

    with Proof-of-Stake.

  • The definition allows and expects a descendent to be treated as its own ancestor, in which case:

    P[k, k] = B[j] * (1/2)^0 = B[j]
    
  • This reminds me of the rational street performer's protocol.

  • For a given block the sum of all transaction payouts will be the sum of

    the geometric series which is F[j]. The transaction sender pays F[j] when sending a transaction, but those units are distributed to miners over infinite time with diminishing payoffs, and the number of currency units is preserved.

    Actually, some portion of the sender's fee F[j] will never be recoverable, since the series converges only as k approaches infinity. This means this scheme has a slightly currency-supply deflationary effect, which based on a simplistic supply/demand analysis means the price of all other currency units increases slightly for every transaction.

    This is slightly similar to protocols where some transaction cost is "burnt", except in this scheme, the residual fees are always theoretically recoverable.

  • If a miner mines a block, and then quits mining, their base payout

    fees for the new transactions in that block are greater than the total all other miners will ever receive from those transactions into the future. This seems like it might be important for selfish game theory, but I haven't figured out why.

Clone this wiki locally