Request for information about disputes #GDR-15

What Happened & The Timeline:

The subgraph involved was the first version of the convex subgraph which was published as QmdEPVzdgsTudRRWYYYyJsrqj9jS5X32GDBmZ1qcg1sW8C. 3644 blocks after publishing, the subgraph was deprecated and migrated to a new version, bringing all existing curation signal with it. decisionbasis allocated to this original version 1260 blocks after it was published, meaning it was deprecated 2384 blocks after he allocated to it. 4368 blocks after deprecation, the last indexer not named decisionbasis vacated the subgraph deployment. 359 blocks after this and through chainalysis, decisionbasis himself on curator address 0x2c452073377ec65b4b8c7dfa995624d60028cd53 signaled 24750 GRT onto the deprecated QmdEPVzdgsTudRRWYYYyJsrqj9jS5X32GDBmZ1qcg1sW8C deployment (event A on chart), where he held 100% of the allocation power of this subgraph’s pool for 6804 blocks until another indexer joined, reducing his share to 73.3% on a 4.7M GRT allocation. 11365 blocks later, a couple indexers reduced decisionbasis' share of the allocation pool to 64.8% where it continued to sit for another 124206 blocks until decisionbasis pumped the curation signal to 44550 GRT, prompting a large allocation from an unaffiliated indexer to join the pool 14341 blocks after the signal change, drastically reducing decisionbasis' share to 31%. His share of the pool was fairly consistent for the next 142636 blocks until he spontaneously reduced the signal by 41.8%, bringing it down to 25943 GRT from 44550 GRT (event B on chart). This likely prompted an indexer to close their large 8.8M allocation 554 blocks later and reopening with a smaller 3.7M allocation, giving decisionbasis 46% of the allocation pool. 1449 blocks after this indexer’s change in allocation size, decisionbasis pumped the signal by 76.3% to 45743 where his share of the allocation pool stayed relatively consistent until he pumped the signal again 86280 blocks later to 60253 GRT - an increase of 31.7% - while also increasing his allocation size from 5.7M to 7.7M. This increase in signal also attracted other several indexers and the pool was eventually increased to 20M within 18533 blocks where it continued to stay for another 43626 blocks until the signal was completely removed 200 blocks after decisionbasis closed his final allocation (event C on chart).

Unpacking why indexers involved with this are angry and also why disputes were filed:

Rugging and Manipulation

This is the main reason why the Fisherman began to research and look deeper into the situation at hand. The nodeify indexer joined the allocation pool on Nov 15th - 3 days after the latest signal pump on the 12th, only to have the subgraph go dead in signal less than a week after joining the pool. Their increase in allocation share (4.4M) was likely a reason why decisionbasis finally abandoned the deprecated subgraph signaling + allocating scheme on this particular subgraph.

When looking at the evidence we can see there are multiple rugging and manipulation events that took place here to decisionbasis' advantage:

  • Taking advantage of the subgraph deprecation process (indirect rug) by waiting for indexers to abandon their allocations, then adding signal once the dust settles in order to take ownership of the entire pool.

  • Spontaneous signal-adding when the timing is right on 2 separate occasions, especially after foreign allocations come online (it’s not economical for an indexer to adjust to a larger allocation within a week after placement in this size range).

  • Taking advantage of subgraph deprecation in itself. I’d venture to say some indexers either filter out deprecated subgraphs, or don’t even know how to find them (it’s obscure on the official Graph Subgraphs page for each individual subgraph due to the page defaulting to the latest published version). This alone works as a form of deterrence.

  • Direct rugging to provoke economic actions from honest indexers. This is a big one as this was demonstrated at least once with intent, and then a 2nd time when abandoning the subgraph. In the first intentional instance, decisionbasis spontaneously pulled the signal by 41.8% which actually prompted an indexer to reduce their allocation size considerably. Shortly after this change was made by said indexer, decisionbasis brought the removed signal back online - successfully achieving a goal of “bouncing” an indexer off for economical gain. In the 2nd instance, decisionbasis' scheme was finally becoming saturated by outside indexers and the plug was pulled entirely, leaving honest indexers stuck with young allocations.

decisionbasis' argument:

decisionbasis' argument is that there are no official rules against self-signal boosting, and if there were official rules against this, he’d not partake in these signal + allocation schemes, and that code is law. He argues that he didn’t bother to obfuscate his curation address, he doesn’t launch broken or new subgraphs, and anyone is welcome to join the allocation pool to dilute his earnings if they wish to do so. This is testing the ethical line drawn where you know you’re doing something that’s frowned upon, but you proceed to do it because no official precedent has been set - especially in the form of rules - with hopes of not being punished as a result of such. I can clearly understand where he’s coming from, but there are a handful of key items above that don’t make this as clear-cut as “no rule, no foul.”

  • The first key item is leveraging various rugging techniques. If decisionbasis was playing an honest version of this questionable game, he wouldn’t be tweaking signal in attempts to catch other indexers off guard or trick them into leaving the subgraph entirely.

  • The second key item is leveraging a deprecated subgraph as a form of deception, especially one that just had its signal migrated and allocations vacated.

Both of these items qualify as intentional malicious behavior since they negatively affect other indexers who are acting in good faith locating and allocating to economic opportunities.

1 Like