-
Notifications
You must be signed in to change notification settings - Fork 0
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.
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.
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) )
-
- 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 paysF[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 askapproaches 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.