Delegators rewards should be withdrawable to a separate address

Goal: Allowing delegators withdraw their Total Unrealized Rewards without a 28 days thawing period. This way it will be more attractive for new delegators to come and stake their GRTs.

How to do this:
Delegator’s staked GRT remains subject to the 28 day unthawing period. But all rewards for delegators will be sent to a seperate address where they will be available for immediate withdrawal.

7 Likes

I haven’t seen much talk about delegation being unattractive specifically due to rewards being stuck behind thawing.

Usually this kind of discussion centers around the collateral being stuck and the current lack of control or known reputations of Indexers and their cuts/behaviour causing a bigger opportunity cost to Delegators who happen to choose bad Indexers (not always their fault, by any means).

Some issues that come to mind on first glance would be:

  1. Market volatility - This would likely encourage people to have their eyes and actions focused on the price action of GRT, rather than actions within the network.
  2. It would allow delegators to use their rewards for front-running pending rewards on new or underdelegated Indexers with long open allocations, rather than choosing said Indexer for more long-term reasoning.

There’s possibly more that will come to mind, but those are my first thoughts against it. Other than the fact that we’re 2 months in and changing the system completely seems rash.

One argument against this reasoning may be the current considerations being made to allow Indexers to withdraw their rewards. But i will head that argument off, by reminding all that the current state of that issue is not how The Graph team intended it to be in the first place.

9 Likes

From a technical POV #2 is the main issue. In order to avoid this issue the entire reward lifecycle would need to be overhauled and a way to “stream” rewards, without resulting in gas fees that bankrupt an operation within a few hours, would be needed.

I would also re-iterate what @Fattox said about the history here, if this idea is coming from the indexer rewards changes discussion, it should be known that the indexer rewards issue was an oversight, delegator thawing period is by design.

Interested to hear what others think of the proposal.

4 Likes

You mean gas fees paid in ETH ? That will be reduced by application of EIP-1559.

Of course, nobody wants to break three years of development and great ideas which had been implemented so far.

As time will pas, delegator will become more educated and will have more question to their investment and how and where the Graph could heading …

Let’s talk how it is today, and what could have been done to improve it to delegators and indexers satisfaction…

@indexer_payne has good idea. Let’s think about this proposal as part of delegate 2.0, as well :thinking:

So it’s completely fine, indexers to do that, but not delegators. With the big difference beside their own tokens they get shares from delegators and have in fact much higher APY than delegators, opportunity cost isn’t a factor for the delegators?

It starts to look more and more like indexers protect their own interest and they care for the delegators as far as they delegate to them and thats it.

Beside the fact indexers need to pay infrastructure nothing is different for the delegators, the rest of the problems for the indexers are problems also for the delegators.

3 Likes

There are a bunch of reasons why any staked token can’t be withdrawn before the thawing period, but the most important one is probably this one:

If you allow people to unstake/undelegate without a thawing period, tokens could be allocated multiple times (allocated tokens won’t be able to go to infinity because of the 0.5% delegation tax, but it could theoretically inflate allocated tokens A LOT). This brings a ton of issues, but mainly that you will be able to have more allocated tokens than the total stake tokens, and even more than the total supply, since basically your tokens are still allocated even after you undelegate.

If I recall correctly, that’s the most prominent reason why the thawing period matches up with the maximum lifespan of allocations.

This affects both delegators and indexers, and neither should be allowed to withdraw rewards without a thawing period. Whether 28 days is too much is another topic, and could be addressed by changing the allocation lifespan as well as the thawing period, which comes with other set of issues (mainly for indexers base gas cost).

Having said that, this isn’t a war between indexers and delegators, we are all trying to make the network grow, there’s no reason to pit ones against each other, and I’d like to address a few things that have been said.

Indexers have an extremely expensive base cost, which will only grow with time (especially when queries become a lot more important). Infrastructure and gas costs are the most visible, but you also need a whole team to maintain said infrastructure, and you are also subject to the same opportunity cost as delegators. This doesn’t mean indexers should be handled advantages, but it’s a lot in stake, which makes it needed for them to get a “higher APY”, since that same APY is the one that pays for the bills and the delegators own APY, without indexers, delegators can’t get rewards.

Delegators have a small delegation tax (which seems to be payed off in a few days of rewards, talking from personal experience, since I’m also a delegator), and the obvious opportunity cost, which is present always when investing in any product.

Another thing to take into consideration is that, from my point of view, indexers aren’t requesting privileges to avoid having to go through the thawing period, but rather to be able to unstake and withdraw rewards without having to fully stop their operations to fully unstake everything, because of how token lock contracts currently work.

For people unaware of this, you can only withdraw surplus from those contracts, which means you need to unstake a higher amount than initially deployed, which means that you will need to unstake your whole stake to be able to withdraw rewards, this effectively means you have to stop your indexing for 28 days to be able to withdraw enough GRT to pay for the operation costs.

So, in layman’s terms, indexers are only asking for a way to be able to pay for their associated costs, which is what was initially intended when mainnet launched, without any privileges over delegators.

In that sense, delegators should also be allowed to do the same with their own token lock contracts (basically any token lock contract should allow for rewards to be withdrawn without the need for a full unstake/undelegation), but neither indexers nor delegators should be allowed to bypass thawing periods.

Keep in mind that most indexers have been maintaining infrastructure for about 7 months from their own pockets, and while big operators can afford to do this, small indexers are getting close to a point where they will probably won’t be able to keep up.

20 Likes

That’s the most fair comment i have seen about this topic :clap:

1 Like

This string of comments was very informative and we appreciate the various perspectives! Thank you to everyone who contributed.

In our opinion, the thaw period makes sense. It creates an uncomfortable barrier that prevents “token traders” (pseudo Delegators) from entering/exiting the Network without regard for infrastructure or the tokenomics of other Network participates, something @juanmardefago eloquently articulated.

We do think, however, that if a Delegator wants to move from one Indexer to another, there might be some benefit to modifying the thaw period. Since the Delegator is not exiting the Network, but merely moving to another Indexer, we wonder if there could be a different time period (something far less than 28 days)? For example, you could create a different period (“migration period”) that follows new rules, such as only two Indexer moves per quarter (every three months) with a seven-day migration period, only 2 moves a year with a 7-day migration period, or some other variant of such ideas.

One reason we think our Indexer-to-Indexer modification proposal might make sense is because there doesn’t seem to be a lot of understanding among many in the Delegator Community about the various Indexers and rewards parameters, so Delegators don’t often make informed decisions upon initially staking with the Network - and then they feel locked-in by the 28-day thaw period (a doubly negative experience).

2 Likes

@GRTIQ I totally agree with changes to make it easier to change indexers when delegating, and they are being discussed in lots of places from what I can see.

There are some technical details that make this specific feature a little bit more complicated than expected, but here’s an explanation from @davekaj that can help you understand where this might be headed.

2 Likes

“Re-delegation” is a feature that has been discussed. And is worthy of it’s own post on discourse. Other blockchain protocols allow it. It would allow delegators to exit an Indexer who makes a move to screw them over.

Let’s consider even, an honest Indexer who has been good to their delegators. But gets in a personal bind , and needs to unstake all their tokens to pay off some real world debt. They say to there delegators - sorry but I need to do this, and unstake. Now the delegators are stuck for 28 days earning no rewards. This isn’t great. Allowing something like a once a month re-delegation could be a nice add to the protocol

5 Likes

This post is meant to educate both Indexers and Delegators so they understand the whole picture of each others situations. Starting with describing the Indexers situation.

Some technical details and a bit of history:

  • A good question - why is there a 28 day period in the first place? Without going into too much detail - it is for network security. This is known as the thawingPeriod and is set to 28 days. This parameter exists so that Indexers stake can still be slashed for a period of time, so that they could be caught for providing incorrect queries or Proofs of Indexing (POIs).

Now let’s discuss token lock wallets:

  • It was intended that rewards could be withdrawn from the token lock wallets. It was not intended that the only way to do so would be by removing all tokens from the Staking contract and having them in the token lock wallet. It was an oversight that was missed, and in retrospect we see it is not desirable. Which is why many Indexers are pushing for this upgrade - right now they can access no rewards unless they shut down for 28 days, and this is not desirable for the network.
  • That is why we have the indexer rewards proposal to change the core protocol

Let’s discuss the core protocol:

  • The protocol enforces 28 days of Indexers locking their stake before withdrawing. But it does not matter if the rewards are locked, because the rewards aren’t already staked, and thus at risk for slashing
  • What does matter for rewards is that an Indexer should not be able to immediately exit rewards, while doing no real work (i.e. providing fake POIs), and have it be profitable. As long as the slashing and fees, and opportunity costs are high enough, exiting rewards immediately is fine from a security standpoint

Some side notes:

  • An added note is the tax considerations - some jurisdictions tax Indexers when the token is minted. So allows indexers to get them immediately is a plus.
  • A downside mentioned is that immediately available rewards will create sell pressure by the indexers now being able to sell their rewards on the market. This is true, but in the same respect, if a fix like this is never implemented - it means we continue to build up the sell pressure for a potential huge sell off. Eventually, many indexers will have to unstake and sell. And it would be likely that this would be around the time that Indexers token lock wallets begin to unlock, which is 1 year from network launch.

Now let’s discuss the main topic of this thread - should delegators also be able to withdraw their rewards immediately? Let’s think through how the delegation works in the protocol

  • The main reason for the delegationUnbondingPeriod is to prevent Delegators from “double delegation” - where they are rotating their tokens between indexers to get a portion of the rewards right before the indexer claims.
  • If they withdrew their rewards immediately, this wouldn’t effect double delegation.
  • In fact - it actually provides a slight disadvantage for a delegator to withdraw their rewards immediately. When rewards are immediately deposited in the delegation pool - they are never subject to the delegationTax - which is currently set to 0.5%. Thus, they enter the protocol untaxed, and this would compound over time. Said another way, if a Delegator entered 100,000 GRT into the protocol, only 99,500 would be delegated, and 500 burnt. Now if they made 15,500 GRT in the next year from the delegation pool, all of those are entered without the tax. Whereas to get another 15,500 GRT into the protocol by depositing, they would actually have to deposit 15,577.9 GRT.

Now let’s discuss the practicality of doing the Indexer rewards proposal and the Delegator rewards proposal:

  • Technically speaking the delegation upgrade is a bit tougher than the indexer upgrade because of the way the smart contracts are implemented. And will take a bit more time because we are just beginning to think of it, whereas the Indexer requirement was noticed within the first few days of launch.
  • The Indexers are in a bind, as they have been paying infrastructure costs since testnet, and can’t get access to their rewards.
  • Delegators are in less of a bind. They have no infrastructure cost, and can undelegate their tokens and get access to them in 28 days. Also if an indexer unstakes because they need to realize their rewards in a token lock wallet, they actually screw over all their delegators, who will now be earning 0 rewards.

It would be good for Delegators and Indexers to discuss the following points, now that they have more facts laid out in front of them and understand each others situations :

  • Discuss each separate proposal and hopefully get a majority of each party to agree with each other on what is good for the network, by thinking from the pespective of themselves, as well as the other party
  • Understand the practicality of how each proposal could be implemented, and come to agree on a timeline that seems appropriate for each
  • Please bring up any other facts or questions that have not been answered thus far to drive more discussions
12 Likes

I’m in support of re-delegation initiatives and have written about them here, would be great to see that topic as a discrete post.

1 Like

@ferosv

@indexer_payne has good idea. Let’s think about this proposal as part of delegate 2.0, as well

There’s no relevancy between this thread and that proposal, if you read it. Nobody mentioned avoiding unthawing periods in the event of an exit from the protocol.

@JustArthie

So it’s completely fine, indexers to do that, but not delegators.

You should try to respond to the points made rather than attacking a group or making assumptions based on perceived victimhood.

Also consider some simple math. As in - the potential market impact regarding the volatility aspect, when comparing the weight of rewards from staking-only, as opposed to the rewards from all allocations.

With the big difference beside their own tokens they get shares from delegators and have in fact much higher APY than delegators, opportunity cost isn’t a factor for the delegators?

Yes, they demand higher APY, because they provide the means to stake. If they got the same APY, they’d earn less, while making the effort to provide that service.

It starts to look more and more like indexers protect their own interest and they care for the delegators as far as they delegate to them and thats it.

I’m also a very actively invested Delegator and have made over 70 delegations in the past 2 months. But despite that, i’m not interested in changes that i believe would harm the network or project (such as in the ways i’ve mentioned), even if i could very well take advantage of it myself, no matter which side of the fence it benefits.

Beside the fact indexers need to pay infrastructure nothing is different for the delegators

Yes. And it’s a large differentiator.

Anyway

Exactly. I was and am fine with having to withdraw Indexer rewards via a thawing period, which i’ve noted in other discussions. Though i think it may be headed in another (no thaw) direction purely down to chance of it being the best way to implement it on a technical level, from what i’ve gathered from some other comments by the team.

Personally, I would actually prefer to see no group able to avoid thawing their in-protocol funds or rewards, for various reasons, including the ‘volatility’ example. And i’ve yet to see arguments that are focused on long-term positives over short-term desires, other than the taxation considerations some have made, which is definitely a good and valid reason completely on it’s own.

In that sense, delegators should also be allowed to do the same with their own token lock contracts (basically any token lock contract should allow for rewards to be withdrawn without the need for a full unstake/undelegation), but neither indexers nor delegators should be allowed to bypass thawing periods.

:100:

@GRTIQ

We do think, however, that if a Delegator wants to move from one Indexer to another, there might be some benefit to modifying the thaw period.

100% agree. The punishment to Delegators should be minimized if an Indexer acts badly or makes an exit. This is what the points made by @indexer_payne focused on, as it’s how things behaved moreso in early testnet. Being “in protocol” vs out, and in this state you should have a bit more freedom with re-delegation. Different topic though, feel free to make a thread on this.

@davekaj

A downside mentioned is that immediately available rewards will create sell pressure by the indexers now being able to sell their rewards on the market. This is true, but in the same respect, if a fix like this is never implemented - it means we continue to build up the sell pressure for a potential huge sell off. Eventually, many indexers will have to unstake and sell. And it would be likely that this would be around the time that Indexers token lock wallets begin to unlock, which is 1 year from network launch.

A good point that is often not considered.

6 Likes

My simple math saying to me that total rewards so far for all participants are around 50 millions, only the 24 hours trading volume at one pair is around 150 million, meaning that the worst case market won’t be impacted for more than 2 days. 500k GRT per day could impact exactly zero at the market. Well i guess anyway whatever happens with delegators rewards, indexers will have theirs, which are around 40% of the total rewards, so basically we are speaking for 30 millions more or less in the market. From other point of view if the rewards of the delegators are about to be liquid, faster it happens less price impact and you can’t argue about that.

I saw you are agree with that, just asking with the full sentence or just with the thawing period part which i think everyone is more than agree with it and would prefer not to have any liquid rewards if its bad for the network?

I will be happy to receive feedback for my simple math skills if you are not agree

3 Likes

Yeah because it’s a certainty that will be implemented. No, that’s not how it works. Indexers will have to pay tens of thousands of dollars per month and I’m not exaggerating by any means, even with the current implementation of the protocol.

How is that possible? Well, it’s simple. Every single allocation costs ~$100 to open and another ~$100 to close, at ~150 gwei gas price. We will eventually have 50-100 subgraphs to allocate against. The default setup is having two parallel allocations.

Now let me translate that to you:
100 (usd, each allocation) x 2 (allo open, allo close) x 50 (subgraphs) x 2 (parallel allocations) = $20,000 per month
And this is a very conservative calculation I’ve done there. If you don’t allocate to most of the subgraphs, you’re losing a ton of rewards that come from inflation.

Now, changing the way delegation rewards work without overhauling the entire protocol design will most likely at least double that amount of money that we have to pay every single month.



Can you NOT put words in my mouth, maybe? And also maybe read the thread and conversations that went around that post before you point at someone?
Let me quote what I have said there, in case you missed it:

I think it would be better, if the OP idea is implemented […]

Now what was the OP idea?

According to this thread accounting for the time that a delegation was made when closing an allocation would allow other related changes:

  • This would not allow “double counting” of delegation, which has the immediate impact of removing the need for a 28 day undelegation thawing period
  • No “Delegator Front Running”, which has the immediate impact of being able to remove the delegation tax.
  • More dynamic delegation market has implications for overdelegation, as savvy delegators can easily reallocate their resources without heavy taxes and waiting periods.

It seems to me that this would be more clean, fair, and dynamic design. The downside of course is gas efficiency. I think it would be worth exploring in this thread what that cost is and how it may be mitigated.

Would you be kind to tell me where in the world is it ever mentioned in the ORIGINAL POST of that thread, that delegators would be able to withdraw their rewards without going through the thawing period?

Even I mentioned the thawing period in the same literal post you quoted:

You will still have a thawing period for exiting the protocol, but you will have more freedom to move your delegation between the indexers.



Let me break this down for you, because I see there is a big lack of fundamental understanding in how the protocol works, and how you’re allowed to earn rewards.

Paragraph no.1: Yes, it’s completely fine for the indexers to do that, because they have much more risk and the protocol is NOT a one click sudo bash make-money.sh type of network where you sit on your sofa and you become a God.
It’s a full-time job that we have to take in order to ensure maximum efficiency, and it takes a lot of money, patience and efforts to reach that maximum efficiency.

Paragraph no.2: Without indexers you wouldn’t be able to get a single dime out of the indexing rewards nor the query fee rebates. :slight_smile: If you think it’s unfair, why don’t you join the indexers side, yeah? It’s a permissionless protocol, you can take any side of the protocol you want. No one stops you from doing that. Grab a minimum of 100K GRT, a beefy infrastructure to support your stake, a few tens of thousands of dollars per month for operational expenses and let’s dance. :dancer:
Here’s my documentation for the Testnet, where you can learn how to operate before you deploy on mainnet:

Paragraph no.3: The infrastructure costs are nowhere near the operational cost that we have to pay in order to allocate. Read the beginning of this wall of text, I’ve outlined exactly what it costs us to operate efficiently. And this is not the only risk, we also have slashing events that can occur and we can lose everything that we have in a splitsecond, unlike delegators that will never be at any sort of risk.

Apart from what Fattox, Juan and Dave wrote, here’s some documentation you should read, as I see you definitely need it:

7 Likes

That’s very good, i really do have lack of fundamental understanding i will take a look

3 Likes

Just relax, Payne. I was mentioned you, because you are my favourite indexer and I believe in you. What I meant with that thread it was like Davekaj mentioned, that they are preparing some changes for delegation in v.2.0. So I was thinking, that this PR could go there as well, if there will be good will and we find consensus.

So, we have here opinions from various indexers, now, I would like to hear some opinions from delegators. If they are for this change or not.

1 Like

Fair enough, but it doesn’t have anything to do with the Original Post of this thread :frowning_face:
I do agree that certain changes must be done to the whole delegators mechanism, but it’ll take time.
I would very much prefer if the economics would be moved to an L2 and overhauled entirely, due to gas concerns. But then again, it’s a long time before we get there.

2 Likes

Once a month seems way too frequent, considering allocations can be active for 28 days. That could lead to a ton of hopping and yield farming type of activity, which is detrimental to an honest delegator’s rewards potential.

One or two re-delegations a year would be a better compromise, I think. If indexers are failing so frequently that folks need that many re-delegations, we’re looking at a MUCH bigger problem, right?

2 Likes