For the suggestion of a ‘smart pool’ to be profitable it has to meet the following criteria:
- It has to be more profitable for the delegators.
- It has to be profitable enough for the pool operator to run the pool.
- There have to be no negative consequences for any of the parties involved.
Delegators will incur the following costs:
- Additional cost to send Ada to the smart contract (we don’t know the additional cost but triggering a smart contract will almost certainly be more expensive then delegating)
- Additional cost to take their stake/rewards back from the smart contract. This is a somewhat additional cost. Delegators remain fully in their control of the stake when they delegate. Under this system a delegator requests their Ada back, which trigger the smart contract and will cost some amount. Delegators still have to pay to ‘claim’ their rewards under normal delegation but trigger the smart contract is almost certainly more expensive than a transaction to claim rewards.
- The monitoring and calculating of rewards probably happens at the beginning of every epoch. Amounts are calculated and saved into the data of the smart contract. This triggers the smart contract and would be a cost that has to be split among all the delegates, proportional to their stake I imagine.
- The smart contract at a minimum has to update the pool certificate once an epoch, near the end, so that the current pool pledge matches the actual for it to have the correct benefits. In theory it could sometimes not update if no additions or subtractions have been made to the pool but all it would take is one person adding or subtracting to force it to happen so I think it is safe to assume it will happen every epoch. This triggering is another static cost that must be split among delegates.
The costs of 1 and 2 can be minimized by putting in stake and keeping it there for a long time. The costs of 3 and 4 are ongoing and happen every epoch.
Delegators get the following benefits:
- Their stake is earning the pool additional rewards because it is pledge. However at the moment this amount is very small.
In this scenario the benefits have to outweigh the costs for it to be worth it for delegators. That is not clear at this time but with the current low pledge factor my gut feeling is that it would be a wash.
Now we go to the pool operator.
Let’s start from the base case, the operator charges 0 margin and they themselves have 0 pledge and don’t take any rewards from the pool besides the static minimum fee or some portion of the fee (the smart contract could take the fee and split it among the delegates). As long as they are happy with that amount and the delegators get more benefit than costs this whole thing works and maybe something has to be done.
Let’s say the operator wants to charge a margin and they figure out calculations in the smart contract so they get the same amount of Ada as if everyone was delegating and they had this margin. Thus the contract passes on all benefits of the pledge to the delegators. For example they set the lowest margin possible (I don’t know what that is) which is 0.01%. Now we have a comparison to make. How much does a delegate make delegating to this ‘smart pool’ vs. delegating to a 0 pledge, 0% margin pool? At some amount of margin, delegating to a smart pool will be the same as delegating to a dumb pool. Which brings us to the risks.
The above works without risk if we assume the smart contract has no bugs. This could perhaps evolve over time but might be bumpy on the way. And how do you know when the bugs are gone? Will the profit for delegators be enough to take on this risk? People trust the protocol delegation and rewards because that system was researched, published, built with formal methods and verified with fuzzy testing. Will that same level of rigor be applied to this ‘smart pool’ contract? How long will that take and who will pay to build it? What happens when the first bug happens and people stop using it? How much Ada could get locked up?
Even if the above risks aren’t as bad as I think, there is always the solution of changing the pledge protocol. I’ve thought for a long time introducing a locking mechanism for pledge (but not delegation) that further could increase pool rewards would be a good idea. There are pros and cons but this could force people to lockup pledge and thus while not the current trust model, would establish a new trust model where pools commit to lockups in exchange for greater rewards.