Thanks for this very good discussion so far!
We totally agree with you on this one, however simply “fixing the rewards” has proven to be challenging, will likely require a few more weeks to be in a CiP-ready state and even then not be perfect (there will continue to be mis-priced batches, but hopefully fewer and with less mis-pricing).
Really getting the reward structure right, will likely take a few more months, which is why banning pennying now seems like a good way to stop the bleeding.
nails it and why we think we should act on this ASAP (while we don’t yet see a race to 0, we are seeing uneven competition because of this). In our mind an alternative course of action would be, in the short term, encourage non-pennying solvers to engage in that race to 0 (but we prefer the approach outlined here).
For this we were thinking to have a fixed reward per batch or order and then the variable “improvement” reward would be computed at the end of the accounting period based on the distribution of all improvements in the week given some fixed budget. I also like the random sampling between the top k solutions idea, alternatively we could provide a “runners up” rewards which should incentivise someone to report a good second outcome.
This is an interesting case, basically saying that slippage allows sophisticated solvers to protect less sophisticated solvers from making mistakes (instead of letting them win and live with their bad choice). It is true that there are currently still some “naive” solvers (mostly operated by Gnosis which aren’t operated in a strictly profit maximizing manner).
Note, that even with the given proposal it would be fine for the 1Inch solver to underreport the expected outAmount
it may be getting if things go well (up to a point where it doesn’t violate baseline envy-freeness), it’s just not allowed to overreport. To me adding extra carefulness to your report is a much more reasonable use case than adding extra optimism.
This is a very interesting, pragmatic to implement, yet harsh, proposal. Do you think this would - on average - hurt the user in that solvers would have to underreport their expected outcome to avoid losing rewards?
From a protocol level it should still be our biggest priority to - on average - offer same or better prices than on any other DEX/ DEX aggregator in the space.
I don’t think this would count as pennying. You have access to some real liquidity that you are using to improve the price. In the mid-term any form of “private liquidity” could still be used to penny (it’s hard to argue what the “correct” price for a private market maker is) but until this point we still don’t have good private liquidity integrated (which in itself would be a net benefit for the protocol) and by the time we do hopefully we have a more accurate reward scheme.