Request for information about disputes #GDR-18

The Arbitrators are contacting Indexer address 0xf6a9bad58e74b5165dc31ef24be4377b192f274a and @InspectorPOI about disputes filed in the protocol. Two disputes have been filed over closing subgraph QmYrEJKHphWBGkqPkEVKSZR9gsoD6RtJs3g3R8iWVhH66Z multiple times with the same POI while not fully synced and with a non deterministic error.

Disputed indexer, could you provide context on the decision behind closing allocations with the same POI under the conditions stated above? Please provide any other relevant details to the case as needed.

@InspectorPOI, could you share the data you gathered that led to you filing the dispute?

Purpose of the Requirement

This requirement is related to the following disputes:

Dispute (0xa49bf1f80f58a67c6627d783a45190d25a56cfff3d6a76e98994262baeb2c07c)
β”œβ”€ Type: Indexing
β”œβ”€ Status: Undecided (2.09 days ago) [30 epochs left to resolve]
β”œβ”€ Indexer: 0xf6a9bad58e74b5165dc31ef24be4377b192f274a
β”œβ”€ Fisherman: 0x4208ce4ad17f0b52e2cadf466e9cf8286a8696d5
β”œβ”€ SubgraphDeployment
β”‚  └─ id: 0x9c28b15f0b4d67b9763e705634572c58715375df29ac94a12330f4e14611c836 (QmYrEJKHphWBGkqPkEVKSZR9gsoD6RtJs3g3R8iWVhH66Z)
β”œβ”€ Economics
β”‚  β”œβ”€ indexerSlashableStake: 25350.337413134470953082 GRT
β”‚  └─ indexingRewardsCollected: 4686.411773985311 GRT
β”œβ”€ Allocation
β”‚  β”œβ”€ id: 0x35380281665cb3d739777f03f5fb30a85c2ca3bd
β”‚  β”œβ”€ createdAtEpoch: 663
β”‚  β”œβ”€ createdAtBlock: 0xa9290f4af8e779e0a6003464c0d489f15d2e0c78438a620462a983cf3f814b11
β”‚  β”œβ”€ closedAtEpoch
β”‚  β”‚  β”œβ”€ id: 674
β”‚  β”‚  └─ startBlock: 0x012ae6ca96d2323c3e41d1b8d2d707c01c7d4a8420df95a6aec8f4c3ef2255ff (#20878337)
β”‚  └─ closedAtBlock: 0xea4bad403a511e0b70e649979896e8622c96a0cc19ddfd05127a3b262ac4a3b9 (#20881298)
└─ POI
   β”œβ”€ submitted: 0xdf1d1d2a861bbc890ddac6650d500394a763ce87885bcf9f56550721aca0e47b
   β”œβ”€ match: false
   β”œβ”€ previousEpochPOI: 0x4015b85bf637d68fedd61e575aef42b05452fae181040ec8e30283739a7b2e1c
   └─ lastEpochPOI: 0x87cd17ac756ca57e99db6587adbaebb7f2ce13f9563bfc395a5cb90a3b067ff7
Dispute (0xd3a3856ecd8d203a27c39e9f352ce96dbc82cf1caa0a930ba2a4e5ce8727734c)
β”œβ”€ Type: Indexing
β”œβ”€ Status: Undecided (2.09 days ago) [53 epochs left to resolve]
β”œβ”€ Indexer: 0xf6a9bad58e74b5165dc31ef24be4377b192f274a
β”œβ”€ Fisherman: 0x4208ce4ad17f0b52e2cadf466e9cf8286a8696d5
β”œβ”€ SubgraphDeployment
β”‚  └─ id: 0x9c28b15f0b4d67b9763e705634572c58715375df29ac94a12330f4e14611c836 (QmYrEJKHphWBGkqPkEVKSZR9gsoD6RtJs3g3R8iWVhH66Z)
β”œβ”€ Economics
β”‚  β”œβ”€ indexerSlashableStake: 25350.337413134470953082 GRT
β”‚  └─ indexingRewardsCollected: 8845.231078685579 GRT
β”œβ”€ Allocation
β”‚  β”œβ”€ id: 0xbc0ec2024d8ec731c9ec2ea9c3b304b424da0961
β”‚  β”œβ”€ createdAtEpoch: 674
β”‚  β”œβ”€ createdAtBlock: 0xe13271f2bbc937ce9223005db7af1dd78df6cb25527bf63ba5d5053a8f719b60
β”‚  β”œβ”€ closedAtEpoch
β”‚  β”‚  β”œβ”€ id: 697
β”‚  β”‚  └─ startBlock: 0xe88bc52b25bcd4dab78a0f38e54d209abd87202beea21508b0b47a00bae45c79 (#21043937)
β”‚  └─ closedAtBlock: 0x147d8221fb5e10df433ef9db2fa49692480fd9e101a2b0e796ae8d7c573e655d (#21050753)
└─ POI
   β”œβ”€ submitted: 0xef31e8ea7ad1e53f467bddbb0ecf04bc7372486612d3603551aac2f18ab27daa
   β”œβ”€ match: false
   β”œβ”€ previousEpochPOI: 0x007571a4754f72c4da7ccfa5c06375c9c2db7781c2c1aa7b630a6a6d7c9968d6
   └─ lastEpochPOI: 0x2dc24e7cffa1ff347507fc32d8f53bfdd2c4365c2d640ceca11e788a85b4ee93

About the Procedure
The Arbitration Charter regulates the arbitration process. You can find it in Radicle project ID rad:git:hnrkrhnth6afcc6mnmtokbp4h9575fgrhzbay or at GIP-0009: Arbitration Charter - HackMD 3.

For communications, please use this forum. Additionally, please monitor Graph Protocol’s Discord #arbitration (Discord 1 4) for any arbitrator reaching out for more information.

I am disputing indexer 0xf6a9bad58e74b5165dc31ef24be4377b192f274a for repeatedly closing the subgraph ENS (QmYrEJKHphWBGkqPkEVKSZR9gsoD6RtJs3g3R8iWVhH66Z) with the same POI (0xdf1d1d2a861bbc890ddac6650d500394a763ce87885bcf9f56550721aca0e47b) over a period of months, as related to the first dispute ID (0xa49bf1f80f58a67c6627d783a45190d25a56cfff3d6a76e98994262baeb2c07c).

The first occurrence was on May 21, 2024, with the allocation ID (0x9c75628171726a9ee18f438d4e7f99bf586042eb). This allocation was initially closed with the POI (0xdf1d1d2a861bbc890ddac6650d500394a763ce87885bcf9f56550721aca0e47b). Subsequently, it was closed multiple times with the same POI, up until the most recent allocation.

For the second dispute ID (0xd3a3856ecd8d203a27c39e9f352ce96dbc82cf1caa0a930ba2a4e5ce8727734c), they closed the allocation ID (0xbc0ec2024d8ec731c9ec2ea9c3b304b424da0961) with a different POI (0xef31e8ea7ad1e53f467bddbb0ecf04bc7372486612d3603551aac2f18ab27daa). Upon checking the explorer, the explorer showed a sync status failure for the disputed indexer and was about 17 million blocks behind on this subgraph.

Further checks using the Query Cross-Checking Tool to capture their public POI show that this indexer’s POI differs from the majority of other indexers on this subgraph. Attached below are screenshots of query checks for start blocks #20878337, #21043937, and #latest all respectively to the closed epoch. All screenshots confirm the same public POI for the disputed indexer.



An extra context on this subgraph: it requires additional steps to avoid an error:

β€œfailed to process trigger: block #3330220 (0x4ea8…4748), transaction 057a18943891fc4defd54ff6b18c4fa1e15b822f299f2f08117e4fd11d44f971: error while executing at wasm backtrace:\t0: 0x4770 - !src/ensRegistry/_handleNewOwner\t1: 0x4de2 - !src/ensRegistry/handleNewOwnerOldRegistry: Missing ENS data: see GitHub - graphprotocol/ens-rainbow”

The extra steps are defined in ENS Rainbow GitHub.

Furthermore, the subgraph will return this NON-DETERMINISTIC ERROR:

ERRO Subgraph failed with non-deterministic error: failed to process trigger: block #3330220 (0x4ea8…4748), transaction 057a18943891fc4defd54ff6b18c4fa1e15b822f299f2f08117e4fd11d44f971: error while executing at wasm backtrace: 0: 0x4770 - !src/ensRegistry/_handleNewOwner 1: 0x4de2 - !src/ensRegistry/handleNewOwnerOldRegistry: Missing ENS data: see GitHub - graphprotocol/ens-rainbow, retry_delay_s: 231, attempt: 1, sgd: 127, subgraph_id: QmYrEJKHphWBGkqPkEVKSZR9gsoD6RtJs3g3R8iWVhH66Z, component: SubgraphInstanceManager

Therefore, there is no reason for the disputed indexer to close this subgraph multiple times with an obviously invalid POI. Out of 16 indexers on this subgraph, 15 are fully synced, with this disputed indexer as the only exception.

Finally, it’s worth noting that this indexer allocates solely to this particular subgraph, with a 100% reward cut and fee cut. As a result, the current APR for this indexer consistently shows 0%, likely to be inconspicuous.

The investigation submitted by @Inspector_POI looks convincing and shows a repeated fault. Closing allocations, claiming for rewards reusing the same POI over and over on a subgraph that the network of indexers already has consensus on healthy sync status is a slashable penalty. I’m for voting for resolving this dispute as a slash if there is no response from the indexer by Monday next week.

5 Likes

Dear All,

Given the evidence provided by @InspectorPOI and confirmation of the data by the arbitrators, we resolve to slash both disputes.

As @ari already shared, closing allocations for rewards and reusing the same POI repeatedly on a subgraph where the network of indexers has consensus with a healthy sync status is a slashable offense. Additionally, we have not been provided data or acknowledgement by the Disputed Indexer. The Arbitration Charter encourages a 7 day period to allow both parties to respond (GIP-0009: Arbitration Charter - HackMD) which has been granted.

We will move to execute the corresponding transactions and will share the transaction IDs once they have been executed.

The Arbitrators

Thank you very much arbitration team for resolving this matter.

Transaction is well received and confirmed.

1 Like