Note: Delegation can not be slashed, so have no fear delegators.
An Important Milestone
Active twitter users and GRT enthusiasts may have seen this recent tweet from Jim Cousins, an Indexer at The Graph Network.
Slashing is an unfortunate, but necessary, part of network dynamics. It helps keep incentives aligned by punishing bad actors who seek personal gain over wider network health and success. To be clear, this is not the first arbitration case. It was however the first case in which slashing was recommended by the arbitration council, and ultimately followed through with.
For those who’d like to do a deep dive, feel free to read through the entire thread here:
A Broad Synopsis
- Incorrect POIs (Proof of Indexing)
- Malicious & Unethical Intentions
After a few weeks of hard work, the arbitration council completed its investigation of the disputes in question and provided their recommendations. As for the first issue of incorrect POI’s, they ultimately found the POI’s submitted “[were] valid and correct”.
The second issue, was a bit more complex, and arguably harder to pin down. The fisherman wrote:
It appears the MinatoFund indexer is involved in a scheme where they will create a bad subgraph, deploy it, curate to it, and allocate to it just before it fails. Based on their post above and on Discord, it is clear that the Indexer is exploiting the following which can be found in the HackMD document outlining the Arbitration Charter https://hackmd.io/MMHefHW5TxOOLtqqutP-VA?both#9-Valid-Proofs-of-Indexing-for-a-given-epoch 3:
‘An exception to this rule is if the allocation being closed was opened before the subgraph bug occurred. In this case, the Indexer may submit the last valid PoI they produced for the subgraph and collect indexing rewards for the allocation.’
Steps 1-3 created an exclusive environment for the indexer to collect rewards on the new subgraph deployments without competition from other indexers and in step 4 they were able to use the specific failed subgraphs exception in the arbitration charter to close the allocations of the now failed subgraphs with a valid PoI. The steps were repeated and optimized over time by the disputed indexer.
In response, the indexer responded by saying, “First, we will not deny that some of our actions in this case are not decent and inappropriate, but please do not assume that we are malicious at the beginning.” They go on to say that with the launch of Curation, they noticed a bot which was frontrunning signal and discouraging legit curators from signaling on subgraphs. As a result, they “deployed Dummy Subgraphs at that time to consume the bot’s token, and named [them] Dummy to prevent new curators [from] accidentally [signaling] on them [and losing tokens] just like other subgraph developers who created bot bait subgraphs.”
They do however admit they thought “[their] behavior was kind of in the gray zone, [and] although it’s not decent, [was] still under the exception case.” [sic] The exception referenced is the update in chapter 9 of The Graph charter, quoted above in the fisherman’s explanation (“An exception to this rule…”) They continue, saying:
We did bad thing, that’s not deniable, and we apologize for that. We are absolutely willing to take punishes as warning. It also can prevent other indexers to do thing like that, so that is 100% necessary.
The question followed up is, are we purely malicious in this case? We think this case is still defining the boundary of the exception rule.minatofund, https://forum.thegraph.com/t/request-for-information-about-disputes-gdr-3/2311
Admittedly, I can see their point of view. They claim to have begun with no ill intent, but found a loophole and as they felt they were not breaking any rules, decided to take advantage of that. Clearly what they were doing was of no help to the network, but I can see the gray area they felt they were operating within.
Ultimately though, the investigation concluded “the disputed indexer showed a pattern of behaviour that was intended purely to capture rewards without providing the intended value of an indexer on the network. Indeed, the disputed indexer themselves has been transparent in their intentions stating that ‘we did think that the exception rule can be used to create an exclusive environment just like described below.'”
The arbitrators accepted the disputes, and the following on-chain transaction resolved them: https://etherscan.io/tx/0x1596590788e3b6464685e27ab099daa36f8bf9236153ee6ea8cde379bd2da3cf
Taking a quick glance, it appears at least 60,000 GRT tokens were slashed from the indexer’s self stake. (An important note is that delegation can not be slashed, so have no fear delegators.) This was certainly a substantial amount. Hopefully this case discourages future bad actors from commiting actions that harm the network.
In the end, this was a good example of legality vs morality. In terms of rules, the area in which the indexer was working was arguably murky. This case should help to clear this gray area up and close loopholes. A big win for the network as a whole, especially indexers who can appreciate clarity in the rules they’re expected to adhere to.
In terms of morality, what the indexer did was clearly wrong. They took advantage of an oversight, and rather than bring it to the forefront so it could be discussed and resolved, they used it for personal gain. In the end, they paid for this mistake, and likely won’t act in such a manner again.
At the end of the day, it’s likely we’ll continue to see future cases of rules being tested and boundaries being drawn. This is all part of the growth process in a young protocol. Thankfully, The Graph network has a dedicated team working to make it better everyday, even when it comes to the nitty-gritty dirty work of finding wrongdoers.
Suffice to say, this is not an indexer I’d want to delegate to.