GIP-0002: Rewards destination for indexer's indexing rewards

Hello.

So ive got a few points to raise here:

  1. why did minority (the council) cancel a legitimate successful vote just because a few disagreed? Its not like theres a solution where everyone will always agree. There just isnt.
  2. why does the council have this power?
  3. gip4 will take a LONG time, queries start soon. Are we ready for even MORE indexers quitting or not really do much indexing so they dont go broke on Ethereum gas fees?
  4. im disappointed at the team and council, beyond any words, and the arrogance bothers me a lot. It seems like the team thinks that the Graph cant fail because its the first and very known, yet it has many issues as we see. There is real competition coming (at least 5 good alternatives to the graph) and if you keep destroying everything and postponing urgent things, there will be no one left to index here.

All in all, super disappointed at the attitude from the team, most of the council and the way things are going here. Something has to change. This project isnt too big to not being able to fall down hard. And none of us want that. Currently, i see this going down if things dont change as you are going against the majority and even prolonging the pain some indexers are already experiencing, not to mention whats coming with real subgraphs. This is not acceptable in my opinion. And i dont support gib4 or the time it will take to get it done. Just no.

Hey everyone, as discussed yesterday several members of The Graph Council, as well as several other individuals from the community, met this morning to walk through the code changes contained in GIP-0004 and provide input on the scope of the changes from a smart contract security risk perspective and also on the viability of the mechanism as an alternative to GIP-0002.

During the discussion, the following points were raised with respect to GIP-0004.

Pros

  • Targets the specific problem laid out in GIP-0002 without introducing any “side-effects” to the economics of the rest of the system.

Cons

  • The implementation uses stake-weighted thawing periods to compress multiple reward withdrawals into a single balance, similar to what is done other places in the protocol, however, for a continuous rewards stream, this actually extends the effective thawing period for allocations that are shorter in duration than the thawing period.
  • Related to the previous point, rewards from allocations created at the beginning of April would potentially not be withdrawable until towards the end of May. This would deprive Indexers of the ability to cover operational expenses during the critical subgraph migration period.
  • Introduces new code paths and value flows for the rewards pool rather than re-using existing ones, for reasons that are completely idiosyncratic to the Token Lock Wallet. This code bloat also required a refactor of other parts of the smart contract in order to avoid exceeding the maximum smart contract storage size.
  • As a result of the previous bullet, the scope of changes are larger than the smart contract experts on the Council would feel comfortable signing off on in the absence of an external audit, which currently could be scheduled for May at the earliest.

For the above reasons we’ve decided to initiate a governance vote on whether to deploy the upgrade described by GIP-0002 at the earliest convenience. The governance proposal is live on Snapshot here.


I’d like to add some color to why I will be voting “yes” on this proposal:

While it is a governing principle of The Graph Council to avoid zero-sum games, all other things being equal, in this case, all other things were not equal, for the reasons described above, along with others that have been pointed out in this thread.

It is also a governing principle of The Graph Council that it should maximize value for all stakeholders. In this case, a lack of timely action would not only imply a downside for the affected Indexers but also their Delegators, as well as Subgraph Developers, Dapp Developers, and their end-users who are counting on a stable service during the subgraph migration.

Furthermore, it’s unlikely that all proposals will benefit all stakeholders equally. For example, as we move past this proposal, we (E&N) can turn some of our attention to researching solutions to some of the issues outlined in this thread, which primarily impact Delegators. The outcome of such research may be proposals that disproportionately benefit Delegators, relative to Curators, Indexers, etc. So it’s important to not take too narrow a view of the principles outlined in The Graph Council’s mandate on any single proposal.


Finally, I would like to comment that while we may all play different roles in this protocol, we’re on a shared journey here. I encourage Delegators to consider how supporting the grassroots community of independent Indexers is of vital importance to the long-term success and decentralization of the network. Similarly, I hope Indexers understand why to some of us, it felt important to make sure that Delegators (and some Indexers) felt heard in their feedback by exploring all possible alternatives, even if we had the majority support to follow the more expedient path.

22 Likes

I, for one, appreciate the steps that were taken to address the delegators’ criticism of GIP-0002. However, losing indexers due to delayed implementation of said GIP seems like a bigger issue. I’m guessing GIP-0004 can be revisited when indexers are on a more solid financial footing, viz., after GIP2 implementation and the migration process?
Btw, if in the future another happenstance arises that prevents proper (i.e. 3rd party) audits from being conducted in a timely manner, it’d be nice to name the individuals who helped inspect the GIP code. For the sake of transparency (unless chatham house rules apply for some reason). You guys are the experts though and probably know better, but to me that aspect seemed like skating on thin ice.

3 Likes

if in the future another happenstance arises that prevents proper (i.e. 3rd party) audits from being conducted in a timely manner, it’d be nice to name the individuals who helped inspect the GIP code. For the sake of transparency (unless chatham house rules apply for some reason).

I think that’s a reasonable idea. The Council hasn’t established any norms here as this was more a meeting to discuss whether the scope of changes were small enough to even consider going down that path.

An inherent drawback of voting is that it tends to be binary in the choice it provides, often times denying a voter the chance to express a more nuanced viewpoint. Forums like these bridge that gap by adding color, context and intent to the votes we cast. We have gone through tense dialogues over the last few months with some heated debates on GIP2. We’ve started at a simple request and arrived at a point where we all have come to better understand the complexities impacting different network participants.

While we may have been angry with one another and at times confused, we all have gained insight into each others thoughts at a deeper and more meaningful level. I feel encouraged that most viewpoints which were shared, albeit contentious at times, were brought forth with sincerity, honesty and integrity. As such, my trust in this community has grown and my confidence in the future success of this project has increased a lot.

The current council voting on GIP2 has received majority approval and on the heels of the deep discussions this can be viewed as a win for the community as a whole:

  • The Council has demonstrated that it is composed of representatives across all network participants. This GIP revealed that balancing the needs of everyone can be extremely challenging. I highly commend @Brandon for taking us deep into the thought processes around GIP2 which showed thoughtful consideration and a commitment to getting this right. We have also heard from other council members (@Fattox , @cryptovestor , @yaniv ) from different network associations, providing more insight into the GIP2 dynamics. Hearing such public statements from as many council members as possible from the different corners of our network is pivotal in giving the community members confidence their interests are well represented in the decision making process and I look forward to seeing all council members engaged on critical future GIPs like this one.

  • Delegators can feel a lot more assured that concerns are heard and being taken into consideration after having gone through our first governance process. Approval of GIP2 is not the final destination, as Brandon laid out. We are on a continuous journey and shortcomings of GIP2 are being addressed with sincere commitment to GIP4.

  • Indexers have finally got the path cleared for what should have been there from day one: access to rewards in order to obtain funds to sustain their businesses financially. I highly respect the indexer community for sticking with this project for over 8+ months without having had the opportunity to accessing rewards thus far. This not only speaks to the promise of The Graph project, but even more so to the quality of the indexer group we have in our community.

However, we also have losers. Unfortunately, GIP2 approval from the council has come too late for some indexers. Over the last month, a number of smaller indexers were forced to undelegate their own stake in response to the uncertainty of the outcome of these discussions and due to the need to cover their costs. They don’t receive the immediate benefits of the GIP2 approval anymore since they are now stuck in the 28d thawing period. Moreover, they are now at risk of losing their delegator portfolio and having to start all over again. These indexers are the real casualties of our prolonged debates on GIP2 over the last few months.

Some of these indexers are the very same ones who helped getting this project to where it is today. They engaged from day one, provided free resources for testnet activities and helped The Graph grow to its current state. It’s incumbent on all of us to think about paths that ease their way back into The Graph indexer community. As a delegator, here are some specific actions I am committing to support that:

  • Soon, impacted delegators may inquire about the status of those indexers in different social platforms. The average delegator does not necessarily follow this very forum and may thus not be informed about the situation. They may conclude they have signed up for a bad indexer. I will write up a digestible synopsis to address such inquiries to provide context in order to appropriately inform delegators of the situation

  • @dereksilva , @cryptovestor and I will jointly work together to disseminate the information most effectively in the delegator and indexer community to maximize our chances that we connect with all those that are impacted.

  • @ all impacted indexers #1: please come forward by reaching out to me via discord (Zorro). We need to know who you are and that you are in fact committed to returning as a Graph indexer, so we can incorporate your details in our communication to the delegator community.

  • @ all impacted indexers #2: I am an admin with The Graphtronauts telegram chat. We have some 2K members and we focus our engagement on promoting the value of delegating GRT. Many indexers are already members in our chat and I invite you to join us as well. We frequently field questions like “which indexer should I choose?” We typically provide general delegation advise while remaining mostly impartial on recommending individual indexers. I hereby extend to you a platform of promotion. If you reach out to me, join our group, and be as engaged with delegators like the other indexers are in our group, I will give you the promise that we will promote you specifically to new delegators over the coming months in order to help you getting back to where you left off as quickly as possible.

Contentious debates around proposals like GIP2 can be make or break moments for projects. Let’s make this our moment to come together stronger as a community. GIP2 gave us all a lot of lessons to learn, across all network participants. Let’s get to it!

14 Likes

Confirming I will contribute as much as I can to this, thank you @Oliver for leading and taking this initiative forward. I’d also like to extend you an invite to Wednesday’s Office Hours and we will put this initiative front and center along with a discussion on the governance events of the last week.

7 Likes

Hey everyone,

We have upgraded the contracts on mainnet for GGP-0001 / GIP-0002.

This PR in the contracts repo resulted in a contract upgrade, deployed on March 29th 2021, allows indexers to withdraw rewards and avoid immediate restaking, and thus requiring all rewards go through a 28 day thawing period no matter what. The council upgraded and will be accepting the proxy in the next few hours.

Now indexers will now be able to withdraw current rewards to a separate address, making the GRT liquid. How it works:

  • You must call setRewardsDestination(address _destination)
  • Where address _destination is the address you want the rewards sent to
  • Now when calling closeAllocation() the rewards will be sent to your destination address, rather then being restaked.
  • This will work for all current open allocations, and all future allocations.

Note that all rewards will go to this address after the destination address is set. If you want to have rewards auto restake again (the way the contracts have always worked in the past, you would call setRewardsDestination() and pass in the 0x000…000 address.

This information was also shared in the notion document for interacting through remix, as well as discord.

11 Likes

Thanks for all the hard work to everyone who contributed to getting this over the finish line! This is The Graph’s first protocol upgrade using decentralized governance, a significant milestone for any decentralized protocol :globe_with_meridians:.

@Oliver Great idea! Also happy to support this effort in whatever way I can.

6 Likes

Just to be clear, this comment:

Is stating that:

  • A contract upgrade happened
  • Indexers can now withdraw rewards and avoid immediate restaking
  • Which means they do not have to face a 28 day thawing period since the rewards are not being restaked.

Reading my comment back, it is not worded great. A more accurate version of what I intended to say would be :

This PR in the contracts repo resulted in a contract upgrade, deployed on March 29th 2021 , allows indexers to withdraw rewards and avoid immediate restaking. Restaking meant that rewards must be restaked and thus go through a 28 thawing period, and therefore this can now be avoided.

6 Likes

Confirming I will also help disseminate this information as best I can with the role I play as a Delegator and through E&N.

2 Likes