We’ve gotten a lot of great feedback on delegation over the past few weeks, so I thought I’d start a rollup thread here to track the feedback, as well as share some context behind some of the protocol design decisions we made and what constraints any future designs would have to satisfy.
HOW TO USE THIS THREAD: Please post any additional feedback you have related to delegation, or any additional color (or +1s) you would like to add to the existing feedback. I will try to keep the list below up-to-date with new feedback and share any additional context we might have on design constraints. To keep the conversation manageable, please post specific improvement ideas in a separate topic here: https://forum.thegraph.com/c/research/protocol-economics/23
Undelegating takes a long time (28 days).
The undelegating period is intended to, among other things, prevent double-counting of delegation across multiple simultaneous allocations, by undelegating and immediately redelegating to an Indexer. Because of that, the undelegating period needs to be at least as long as the maximum duration of an allocation, which is 28 days. Allocations are allowed to go that long to give Indexers the flexibility to spend less gas on opening/closing allocations.
It would be great if we could find a way to reduce or eliminate the undelegating period because it would make the market for delegation far more dynamic, allowing Delegators to respond to things like poor behavior and changed delegation parameters in real-time. Any proposed solution will simply need to account for double-counting of delegation.
(Related) It’s unfair that Indexers can change their delegation parameters immediately, but we have to wait 28 days to undelegate.
Indexers have a “cooldown” that determines how often they can change delegation parameters. We considered setting a minimum cooldown here, but decided instead to let the free market determine what cooldowns Indexers set. All other things being equal, we would expect Indexers who set longer cooldowns to receive more delegation.
Indexer Reward Cut & Indexer Fee Cut should only refer to rewards and fees attributed to delegated stake (like in Cosmos or LivePeer).
This was actually the intent. Delegation was one of the last features to be worked on, and by the time we realized it wasn’t implemented in this way, we had already completed security audits. Since you can still reverse engineer the “effective cut” from the information available, we chose to leave it as is, since the changing it late in the game would have added risk to the network launch. We intend to submit a proposal to change this in the future.
A Delegator can receive rewards from an allocation even if they weren’t delegated to the Indexer during the entire allocation.
We refer to this as “Delegator Front Running,” and the purpose of the delegation tax, as well as the unbonding period, is to make this unprofitable. A better solution would be to not make Delegators eligible for rewards that are already in-flight for an Indexer, however, at the time we evaluated this approach the extra on-chain book keeping required, and the associated gas costs, did not seem to justify the benefits of the more correct solution. This is something we would like to revisit, perhaps when we explore L2 scaling for The Graph’s protocol smart contracts, if not before.
Allowing Indexers to become overdelegated creates uncertainty for Delegators
Allowing Indexers to become overdelegated provides an important market signal that they should either deposit more of their own stake or make their delegation parameters less attractive. This serves the purpose of a more efficient delegation market, while satisfying a design principle we had while designing the network, which was to not require off-chain coordination for mission-critical protocol functionality., This principle is intended to reduce centralization vectors and is also why the protocol has a curation market.
All that being said, we agree it would be better for Delegators to have more clarity around the rewards they should expect to earn. A relatively simple option here would be to allow Indexers to become overdelegated but only by up to a certain amount, for example by only up to 25%. More complex solutions might involve dynamic bonding curves.
Delegators using Token Lock Wallet must fully exit protocol to realize rewards
This is similar to issue addressed for Indexers in this proposal, except as it pertains to Delegators. By requiring Delegators to exit fully into the Token Lock Wallet, they incur a relatively large opportunity cost as all their funds, not merely the ones they wish to withdraw must go through a thawing period.