mimblewimble team mailing list archive
-
mimblewimble team
-
Mailing list archive
-
Message #00222
Re: On fees
> Transaction fees are mostly a mechanism to prevent transaction flooding.
The block size limit should be the primary mechanism for that.
> Space and bandwidth in a blockchain network are scarce resources and free
> transactions would lead to abuse.
The abuse would be due to a lack of information on which transactions
are more worthy of being included in the limited block space.
> A secondary use of transaction fees is to provide an ordering mechanism for
> transactions when capacity is limited. Users can express the urgency, or
> lack thereof, of their transactions by including larger or smaller fees.
This is to me the primary use of fees. In a market for block space
supply and demand, one must be able to express demand.
> However, if fees are burnt, this mechanism disappears as miners do not get
> the fees and therefore only have a weak incentive to order. In the worst
> case scenario, users could be tempted to pay miners directly to have their
> transactions included, leading to a strong centralization pressure.
>
> The common assertion that fees are also a mechanism to incentivize miners to
> include transactions in blocks is dubious at best.
I beg to differ.
> Miners have an economic
> incentive to include transactions regardless. There is a lot of evidence
> that they will do so, in some measure, even if it's non-economical (fees too
> low to pay for elevated orphan rate).
No; they will not include transactions that don't fit in the limited
block space.
> I've been thinking about this for some time and would like to propose the
> following rules:
>
> There is a minimum relay fee per transaction and minimum relay fee per
> output newly created (output_count - intput_count). We may want to refine
> this a little bit to account for varying sizes of the range proof but let's
> ignore that for now.
> Fees get burnt up to $REWARD.
> When the sum of all fees is above $REWARD, the overage gets added to the
> coinbase output (so coinbase=max($REWARD, sum(fees)).
> There is a limit on the number of new outputs a block can create.
>
> This stays very simple while seemingly retaining all the properties we need.
> Any way you can think of this being broken?
I can see the value in burning. I would like to instead propose that
the fee is evenly split between burning and miner reward. This also
prevents the miner from including transactions to herself for free.
regards,
-John
References
-
On fees
From: Ignotus Peverell, 2017-09-29