@GRTIQ ’s podcasts provide opportunities for Graph community members to raise awareness to important Graph and Web3 subjects. Last week, Chris Remus raised one such important topic that is very much relevant to the Graph mission: decentralization (EP21 Chris Remus on Keeping Stake Decentralized - YouTube). We often talk about the Graph’s contributions as a protocol in decentralizing Web3. It is also important that The Graph itself is decentralized, which is an important factor to fulfill its mission in the Web3 space. Decentralization hereby extends to many different aspects of the protocol: voting power distribution, open information sharing, staking distribution, protocol control, etc. The Graph has been transparent in its commitment to progressive decentralization, which refers to implementing decentralization in meaningful milestones at point in times when core technical development has advanced and the ecosystem has matured to take the next step in the journey. The most recent launch of The Graph’s permissionless Mainnet is one such example.
As we march forward in our journey to progressively decentralize, it is hence worth taking time to reflect on how well things are playing out in practice. Today, I want to raise attention to one corner in our network, an area which Chris highlighted during his podcast.
The below chart shows the total staking distribution across our Indexer base with each Indexer’s stake shown as a % of the total network. That list includes delegation-focused Indexers, meaning those with a reward cut % of less than 100%.
The key message here is that we currently have five Indexers who represent about 52% of the total network stake (indexer self-stake + delegations) and who represent less than 5% of all Indexer accounts. Without going into deeper discussions on how exactly the chart above should look like in order to represent a decentralized staking distribution, I believe that the above chart is not reflective of that goal.
Besides network security risks resulting from stake centralization, the launch of Curation has now brought further insights to light that demonstrate why stake centralization poses risks to the network. When any one major Indexer allocates heavily on a subgraph, it can change the economic outcome for smaller Indexers in such drastic ways where allocation decisions can be fundamentally altered for smaller Indexers and which may then require allocation changes simply in response to individual moves made by larger Indexers.
Before proceeding with the discussions, I would like to raise an important note. This forum post is not about demonizing large Indexers in any way. To my knowledge, we have not seen malicious and conscious acts made by any larger Indexer in an attempt to capitalize on their network strength. Much of the dynamics are out of direct control for larger Indexers and they merely occur as part of normal protocol operations. When a smaller Indexer makes a mistake, the rest of the network may hardly notice. However, if a larger Indexer sneezes, then smaller Indexers may catch a cold. This does not only impact smaller Indexers negatively, but also creates undesirable situations for larger Indexers who are attempting to establish themselves as reputable members in The Graph community.
Furthermore, I am not advocating to penalize larger Indexers in the form of shifting existing stakes around. Rather, I would like to propose ideas that address the future of our network. We have some 3B GRT currently staked in the protocol and I would like to propose ideas to the question: how can we help the next 3B GRT staked in the network to be more meaningfully decentralized? Chris Remus has mentioned some thoughts in his podcast that had major influence on the three following proposals that I would like to present to the community for discussion and which are aimed to contribute to improve future network stake decentralization:
1. Indexer Decentralization Threshold
The main proposal centers around the idea of establishing an Indexer Decentralization Threshold, suggested at 2%. Any Indexer whose total staking value (self-staked & delegations) is above 2% (currently nine Indexers) would be considered a large Indexer. That would be made visible to Delegators in the Graph Explorer in an effort to stimulate future Delegations to be made with smaller Indexers as follows:
- The threshold would appear as a line on the Graph Explorer where Delegators choose their Indexer. Above the line are Indexers above the threshold, below the line are Indexers below the threshold
- The line would be drawn with a message that states: “More delegations above this line can negatively impact network security. Consider delegating to an Indexer below this line”
- All Indexers above the line are shown in a collapsed view. Solana is hereby a reference example that has introduced this concept in their own form:
The goal for proposal #1 is to raise Delegator awareness to stake centralization at the point in time they make their next delegation and to thus meaningfully influence them to contribute to stake decentralization.
2. New Delegation Rejection for Indexers
Create the ability for Indexers to reject/turn off new delegations. If activated, such a feature would not allow any new delegations to be made to this Indexer. The Indexer itself would be in full control of this feature and it would be entirely their own decision to activate or deactivate it.
Today, large Indexers do not have the ability to directly prevent stake centralization. The goal for proposal #2 is to provide Indexers the ability to proactively contribute to stake decentralization by rejecting new delegations at whatever time they feel appropriate.
3. Decentralization Delegation Tax
Implement a higher delegation tax for large Indexers, suggested at 5x of regular delegation tax (0.5%) which would hence be 2.5%.
The goal of proposal #3 would be to financially encourage Delegators to delegate with non-large Indexer and to thus directly more rigorously influence stake decentralization.
4. Stake Decentralization POAPs (idea added by @Josh-StreamingFast )
Create different type of POAPs that reward Delegators for considering decentralization in their delegation decisions. Examples are:
- Delegating to more than 3/5/7/x Indexers
- First to delegate towards a new Indexer
- Be among the first 1 million GRT delegated towards an Indexer
We have had network staking decentralization discussions earlier this year led by @Fattox ( Pre-Proposal: Decentralizing Network Stake via Parameter Revision(s) - Governance & GIPs - The Graph) Those discussions too have factored into this proposal and can be considered a progression that takes into account feedback given back then. The goal is to gather broader based support with a compromise that contains less punitive aspects to existing stakes and yet promotes specifically the spirit that I feel we can all rally around: progressive decentralization
The above three proposals are all suggested to address stake centralization, but are not technically linked or dependent on one another, meaning they could all be implemented independently. The key question is whether the community feels that stake centralization is an issue that should be tackled with higher priority in the form of specific proposals. Please vote:
Do you agree that stake centralization is an issue at The Graph that should be addressed and prioritized?
In a second step, I would like to put the above proposals up for a vote. If you agree to the prior question, then here you have the opportunity to express which one (or multiple) of the proposals you agree with the most.
Which one of the proposal(s) would you like to prioritize implementing at The Graph?
- Indexer Decentralization Threshold
- New Delegation Rejection for Indexers
- Decentralization Delegation Tax
- Stake Decentralization POAPs
I understand that each of the proposal may require more Forum discussions to nail down some important details. If this post receives broad positive feedback on the above questions, then we would advance with separate Forum post(s) for specific proposal(s) in order to keep the discussions as structured as possible. Therefore, I encourage using this post for more general feedback with regards to the overarching theme of stake decentralization. Also feel free to present your own proposal that would address stake centralization. If feasible, I will incorporate such suggestions into the main post. Thank you!