Problem:
We have experienced a single point of failure when there is one indexer allocated to a subgraph. Should that indexer decide not to re-allocate to the subgraph at the end of their allocation, they will leave it unsupported and the consumer will experience downtime.
As a curator who is in touch with many developers from exterior projects, I share with them the trends that I have seen, but it would be a lot easier to give them an exact figure to target for their initial signal. They are usually ‘vaguely’ educated at best on the graphs economic structure (and we should make this as easy as possible for them).
Proposal:
Set an indexer reward percentage cap at signal tiers.
For example: At 5,000 signal and indexer can earn at most 50% of the rewards. If Indexer A allocated to this subgraph with a 9m stake (sub-optimal allocation), it would thus no longer prevent a second indexer from allocating to it thus removing the single point of failure.
Considerations:
It would not be viable to set this too low as a subgraph with only 2,000 may not warrant multiple indexers (especially with the current gas rates). What would the optimum amounts be? Initially, I feel that 5,000 - 10,000 should be the initial first tier.
What is the best calculation for the split?
If subgraph 1 had 5,000 signal achieving the 50% cap on indexer rewards. Indexer A allocated 9m and indexer B allocated 1m, should indexer B receive:
- 10% (1m of the total 10m)
- 16.6% (Indexer A’s allocation adjusted to 5m thus indexer B has 1m of the adjusted 6m)