I did not see your topic and I was going to create one. In my opinion, Mina needs this feature.
On Mina, validators process staking payouts. They have to:
1/ compute payout based on epoch-2 ledger and their fee
2/ send transactions to pay their delegators
I’m not able to discuss pro and cons from the technical standpoint. I’m sure developers and other members will help on this point.
From the validator perspective, I can see a few advantages. First, they can choose the payout frequency. Then, it allows to implement a couple of advanced features
- redirect payouts to a single payout account (to get supercharged compound yield)
- customize fees ( for example distinguish locked and unlocked accounts or provide deals with better fees in some cases)
On the other side, there are considerable disadvantages to both validators and delegators:
- this behavior has many security risks: rewards are at risks until the distribution. Here are the more obvious I can think of:
** losing coin receiver key: BP loses access to rewards and can’t proceed to payouts
** suffer of a coin receiver key steal: an attacker would be able to steal rewards
** setting a bad coin receiver: in the event of a bad configuration a BP could send rewards to a ‘burn’ account
** mistakes in the reward calculation or at the transaction time: it would result in inaccurate amounts sent (at least). In the end, some delegators would not get their full share.
- the more a validator customize its fee policy, the more unclear it is for the delegators. It is very likely that most delegators delegate through Clor.io or Auro wallets without knowing about advanced fees/features or special terms implemented by the validator. It opens the gate to potential abusive T&C that could deny reward distribution to some delegators. Also, it is unclear what kind of policies a validator is allowed to implement. (outside of the MF program a validator can do anything).
Of course, honest validators applying best practices are safe. But why put unnecessary trust on the validator side?
In addition, MF program is a significant recognition of a validator’s work. It gives top 120 validators a significant stake and encourages delegators to choose them. However, nothing proves that top120 get there applying best practices to prevent those risks. Especially when the daemon is getting very reliable and most validators are moving toward a 100% uptime.
Finally, the European Union did vote a law that could force European validators to proceed KYC before sending any transaction. (see Crypto assets: new rules to stop illicit flows in the EU | News | European Parliament)
It could force a delegator to identify himself in order to receive its rewards from such a validator. It would be a major issue for Mina users’ privacy.
On the other side, rewards distribution at protocol level does not allow such KYC.
In my opinion, this example shows that it is a bad thing to put unnecessary responsibilities on validators. Especially when it could allow censorship.
I don’t know how difficult it is to move payouts at the protocol level.
Since most of us already use the same script, may be there is little work to integrate this code into the Mina protocol implementation.
If automated payouts at block production times generate to many transactions, Mina could let delegators or validators trigger payout like Polkadot does (Simple Payouts · Polkadot Wiki).
Please let us know your opinion. I’d like to know the pro/cons that I missed.