renproject/ren

Dynamically adjusted fees

Closed this issue · 2 comments

Fees are paid out to the Darknodes that power RenVM every time tokens are shifted from one blockchain to another. Currently, the fee is set to an adjustable rate of 0.1% and is paid in the token that was shifted. Adjustments are made by the governance mechanism. This issue aims to discuss an alternative to the adjustable rate: a dynamic rate that automatically adjusts itself.

Problems

  • 0.1% is considered to be high. It is anticipated that the fee will be lowered once the volume shifting through RenVM is sufficiently large such that the fee can be reduced without degrading the economic incentive to run a Darknode.
  • An adjustable rate that is the same for all shifts does not account for different use cases. For example, in an exchange application where the velocity through RenVM is high it makes sense for the fee to be lower. However, in a lending application where collateral is locked up for extended periods of time, the velocity through RenVM is low and it makes sense for the fee to be higher.
  • Adjusting the fee can be done by the governance mechanism. This is currently the Ren team, but will move to a decentralised governance mechanism in the future. Decentralised governance is often slow, and so the fee would be slow to change.

Dynamically adjusted fees

A Dynamically adjusted fee model uses information available on the Ethereum blockchain, and in RenVM itself, to adjust to the fee based on the current circumstances.

For example, a one model could consider (a) an increasing-over-time target for the amount of value bonded in REN by the Darknodes, (b) the amount of fees paid out in the last payment cycle, and (c) the number of Darknodes currently bonded to the network.

Whenever a message is sent to RenVM for processing, the sender proposes an associated fee. Darknodes inspect the fee, and if it is within agreeable based on (a), (b), and (c) then the message is accepted and processed. Assuming that the fee is agreeable to the majority of Darknodes, the message will be processed (Darknodes that do not participate in the processing of messages will be subject to the normal liveliness punishments). This sets a minimum fee, but users are free to offer an amount higher than this to be prioritised over other messages.

Proposals

This section will be edited to include proposals as they are discussed.

One idea that has come up has been to remove the fee when shifting tokens from their native blockchain, and taking double the fee when shifting back to the native blockchain (or some variation of this).

(a) The earnings average out to be the same, on a long enough time scale. This kind of assumes that free shifting in vs. expensive shifting out doesn't result in an increase in "hodling" of the shifted tokens to avoid fees (I do not think this assumption is too crazy, given that this pressure exists regardless of where the fee is applied).
(b) It incentivises the Darknodes to remain active and online while RenVM has shifted tokens in its custody, because their earnings only come at the moment where tokens are released on their native blockchain.

Minting/burning curves are being implemented alongside a continuous fee compounded by the second, allowing governance to parameterise these fees in response to market conditions and user behaviour. See fees for more information.