Request for information about disputes #GDR-15

The arbitrators are contacting Indexer address 0x63c560997b8338f2b033f3ffdcc0f7c680feec45 (decisionbasis) and Fisherman 0xc56961836857210e256d71c91a62e90865075380 about disputes filed in the protocol.

It was brought to our knowledge that these disputes do not involve incorrect POIs, but instead involve a questionable Curation + Allocation scheme carried out by the accused indexer on subgraph QmdEPVzdgsTudRRWYYYyJsrqj9jS5X32GDBmZ1qcg1sW8C. If both parties could provide information related to such, that’d be greatly appreciated!

Purpose of the Requirement

This requirement is related to the following disputes:

Dispute (0x08de8c88793b5eda85ac752ca7d1482ef9bf7df8425a2601285e053ba38ff690)
β”œβ”€ Type: Indexing
β”œβ”€ Status: Undecided (2.27 days ago)
β”œβ”€ Indexer: decisionbasis (0x63c560997b8338f2b033f3ffdcc0f7c680feec45)
β”œβ”€ Fisherman: 0xc56961836857210e256d71c91a62e90865075380
β”œβ”€ SubgraphDeployment
β”‚  └─ id: 0xdd449f531632018b2e60c722d3ea3ab295fb5016ac6f40ed77e491c7813418a5 (QmdEPVzdgsTudRRWYYYyJsrqj9jS5X32GDBmZ1qcg1sW8C)
β”œβ”€ Economics
β”‚  β”œβ”€ indexerSlashableStake: 81550.142782455155495724 GRT
β”‚  └─ indexingRewardsCollected: 11486.20157176557778481 GRT
β”œβ”€ Allocation
β”‚  β”œβ”€ id: 0x7d23351a0e2de8e6cc6bdfc44cb07dde81095fac
β”‚  β”œβ”€ createdAtEpoch: 678
β”‚  β”œβ”€ createdAtBlock: 0x84d61d40689431cdb128a85357498ed50079d5bef9e852aed86cb6cf892a5445
β”‚  β”œβ”€ closedAtEpoch
β”‚  β”‚  β”œβ”€ id: 687
β”‚  β”‚  └─ startBlock: 0x167d38b4c2b7e9c84d72b6d59dce9a3fc677bebc68f537410a3b1f1b1514a86d (#16012570)
β”‚  └─ closedAtBlock: 0x7edefa2c1e65a905ff3274a8987277a22ad83036fa31d3937e8f77852b8bc752 (#16017285)
└─ POI
   β”œβ”€ submitted: 0xc50e512ff2d1f83938aae9a945b195c3c3570d0718494bd2de09a0cac0f2204c
   β”œβ”€ match: Not-Found
   β”œβ”€ previousEpochPOI: Not-Found
   └─ lastEpochPOI: Not-Found
Dispute (0xfc2573960d405e74a78c4064e26d6940772b00bdb1e226b4174b486acb52b14c)
β”œβ”€ Type: Indexing
β”œβ”€ Status: Undecided (2.27 days ago)
β”œβ”€ Indexer: decisionbasis (0x63c560997b8338f2b033f3ffdcc0f7c680feec45)
β”œβ”€ Fisherman: 0xc56961836857210e256d71c91a62e90865075380
β”œβ”€ SubgraphDeployment
β”‚  └─ id: 0xdd449f531632018b2e60c722d3ea3ab295fb5016ac6f40ed77e491c7813418a5 (QmdEPVzdgsTudRRWYYYyJsrqj9jS5X32GDBmZ1qcg1sW8C)
β”œβ”€ Economics
β”‚  β”œβ”€ indexerSlashableStake: 81550.142782455155495724 GRT
β”‚  └─ indexingRewardsCollected: 14804.194644756428188947 GRT
β”œβ”€ Allocation
β”‚  β”œβ”€ id: 0xa64dfe47288def195f614e1bc2f19e0496ccce6a
β”‚  β”œβ”€ createdAtEpoch: 658
β”‚  β”œβ”€ createdAtBlock: 0xc834e93015e6e4bfc40ac134ef8647f1afeb8a6969298a8db7d97c737ee7ee47
β”‚  β”œβ”€ closedAtEpoch
β”‚  β”‚  β”œβ”€ id: 678
β”‚  β”‚  └─ startBlock: 0xb11116db23cbc5c80d23dbf12e467b1c6169fac2a951b31aa8c7bbd7445e3133 (#15952756)
β”‚  └─ closedAtBlock: 0xd6a2e002dcbe9b7cdb8ee1de592f22fffd80a080b36a0eef4fab5bb0491357e0 (#15955222)
└─ POI
   β”œβ”€ submitted: 0x1950e50292e19c4db05d5aaf94e715ae5256e468a8e14b32679142dc8a2edb33
   β”œβ”€ match: Not-Found
   β”œβ”€ previousEpochPOI: Not-Found
   └─ lastEpochPOI: Not-Found
Dispute (0x2459556759390ef754bc57278c66053e62c7cead5b6008deb643ee5ab64df615)
β”œβ”€ Type: Indexing
β”œβ”€ Status: Undecided (2.27 days ago)
β”œβ”€ Indexer: decisionbasis (0x63c560997b8338f2b033f3ffdcc0f7c680feec45)
β”œβ”€ Fisherman: 0xc56961836857210e256d71c91a62e90865075380
β”œβ”€ SubgraphDeployment
β”‚  └─ id: 0xdd449f531632018b2e60c722d3ea3ab295fb5016ac6f40ed77e491c7813418a5 (QmdEPVzdgsTudRRWYYYyJsrqj9jS5X32GDBmZ1qcg1sW8C)
β”œβ”€ Economics
β”‚  β”œβ”€ indexerSlashableStake: 81550.142782455155495724 GRT
β”‚  └─ indexingRewardsCollected: 12395.743643432058004494 GRT
β”œβ”€ Allocation
β”‚  β”œβ”€ id: 0xd8691dcf01c22f726813175ffa15da3493558d3e
β”‚  β”œβ”€ createdAtEpoch: 641
β”‚  β”œβ”€ createdAtBlock: 0x30a56d07545bd19efcdb10b783997ec785e28f91b5fd0fa9605bfe45b8a57ca4
β”‚  β”œβ”€ closedAtEpoch
β”‚  β”‚  β”œβ”€ id: 658
β”‚  β”‚  └─ startBlock: 0xb47e6fa0527adb4a4395349ecd8d1bce5bd77f1f9aec765c5dea6f2121d124c7 (#15819836)
β”‚  └─ closedAtBlock: 0x0c781a8afa9b18a39502980882fcf492a6f2c67758c446583140e11b7d9b2d64 (#15824373)
└─ POI
   β”œβ”€ submitted: 0x59a2c9ede7c22d8f28ce0e1cdf1c4f450002741c2e33aa970c44118ae1251244
   β”œβ”€ match: Not-Found
   β”œβ”€ previousEpochPOI: Not-Found
   └─ lastEpochPOI: Not-Found
Dispute (0x77e4eacadef2fad67eb50def5e5ffe5bc277eee80c8261eb05371916fe8bbe86)
β”œβ”€ Type: Indexing
β”œβ”€ Status: Undecided (2.27 days ago)
β”œβ”€ Indexer: decisionbasis (0x63c560997b8338f2b033f3ffdcc0f7c680feec45)
β”œβ”€ Fisherman: 0xc56961836857210e256d71c91a62e90865075380
β”œβ”€ SubgraphDeployment
β”‚  └─ id: 0xdd449f531632018b2e60c722d3ea3ab295fb5016ac6f40ed77e491c7813418a5 (QmdEPVzdgsTudRRWYYYyJsrqj9jS5X32GDBmZ1qcg1sW8C)
β”œβ”€ Economics
β”‚  β”œβ”€ indexerSlashableStake: 81550.142782455155495724 GRT
β”‚  └─ indexingRewardsCollected: 5751.769798850307463345 GRT
β”œβ”€ Allocation
β”‚  β”œβ”€ id: 0x3a40ee754f257efef0492551eb973e700c832282
β”‚  β”œβ”€ createdAtEpoch: 633
β”‚  β”œβ”€ createdAtBlock: 0x5cf5cf450f6dd4fd2112a634addbc28eea2200bcf9df05bcca156ed8501f64d3
β”‚  β”œβ”€ closedAtEpoch
β”‚  β”‚  β”œβ”€ id: 641
β”‚  β”‚  └─ startBlock: 0x42f6c80d2cf563682a32aa1c64d2576c4d2c9be626afb98506bb52e8bd0087af (#15706854)
β”‚  └─ closedAtBlock: 0xa9e67ec860d6cc32cad0dd9909ef540c7055d0e0da4fa2eda8c3c8abde1d7be2 (#15709984)
└─ POI
   β”œβ”€ submitted: 0x26ff5ce0575261c46007a9770433e42e2e45bc66227de18fe9fc2388f9835ab5
   β”œβ”€ match: Not-Found
   β”œβ”€ previousEpochPOI: Not-Found
   └─ lastEpochPOI: Not-Found
Dispute (0x18604feebf50acfb974b608adc3f9fb99dd350ed4fae4b629fbd6b10f85bb136)
β”œβ”€ Type: Indexing
β”œβ”€ Status: Undecided (2.27 days ago)
β”œβ”€ Indexer: decisionbasis (0x63c560997b8338f2b033f3ffdcc0f7c680feec45)
β”œβ”€ Fisherman: 0xc56961836857210e256d71c91a62e90865075380
β”œβ”€ SubgraphDeployment
β”‚  └─ id: 0xdd449f531632018b2e60c722d3ea3ab295fb5016ac6f40ed77e491c7813418a5 (QmdEPVzdgsTudRRWYYYyJsrqj9jS5X32GDBmZ1qcg1sW8C)
β”œβ”€ Economics
β”‚  β”œβ”€ indexerSlashableStake: 81550.142782455155495724 GRT
β”‚  └─ indexingRewardsCollected: 11530.580432406259482303 GRT
β”œβ”€ Allocation
β”‚  β”œβ”€ id: 0x2f51bb16758a0e1aaaeb397357fde6c38d48d105
β”‚  β”œβ”€ createdAtEpoch: 618
β”‚  β”œβ”€ createdAtBlock: 0x188ed57d99a6377428064f55de6fce8eabe47262c99d6e6da7bea8944aa0adf5
β”‚  β”œβ”€ closedAtEpoch
β”‚  β”‚  β”œβ”€ id: 633 (dispute is too old)
β”‚  β”‚  └─ startBlock: 0x077d7b002b07d95881b2aaba0f9065dfc34193e8e20419720b46c1630819d8d7 (#15653686)
β”‚  └─ closedAtBlock: 0x800619e35d32f0b51bc15918917f526ec975088f80329ed4c2f7408af0428c54 (#15660296)
└─ POI
   β”œβ”€ submitted: 0x5eef25dcdedc3131295783997cae1141ef503e19ec636c7f60133cc37ad21805
   β”œβ”€ match: Not-Found
   β”œβ”€ previousEpochPOI: Not-Found
   └─ lastEpochPOI: Not-Found

About the Procedure

The Arbitration Charter regulates the arbitration process. You can find it in Radicle project ID rad:git:hnrkrhnth6afcc6mnmtokbp4h9575fgrhzbay

For communications, please use this forum. Additionally, please monitor Graph Protocol’s Discord #arbitration (https://discord.gg/9gg7XvfggW ) for any arbitrator reaching out for more information.

3 Likes

decisionBasis here.
Thanks @DataNexus for bringing this up. Hopefully that will finally get council to add relevant info to ArbCharter.
Good thread on related topic: Potentially bad pattern of Indexer behavior [Open Discussion]
TLDR: indexer signalled to empty subgraph, indexed higher-than-average rewards.
Notable detail: some indexers (ellipfra, nodeify) played the game and joined the indexing.
Question: should indexers be penalized/slashed for optimal* behavior**?
(*) optimal in terms of maximizing rewards for themselves and their delegators
(**)including self-signalling

1 Like

Hello All,

I had my suspicions about this and assisted in bringing this case to light. I was unsure of why such a large amount of signal (40k) was remaining on a old version of convex, so I was not β€œplaying the game” as @inflex put it. We as indexers are supposed to follow signal, was this a dev needing this old version? Why such a large amount of signal remaining on this subgraph? We should not be beholden to play chain detective to unveil that @inflex was behind the signal to simply extract rewards from the protocol. But this was made obvious shortly after I placed an allocation on this subgraph, making it less profitable for @inflex, the signal vanished after remaining for some time.

The substance of the Arbitration charter is intended to ensure that the Arbitrator is fulfilling their role of supporting a healthy and functioning network where Indexers perform their work correctly while minimizing the risk to honest Indexers of being economically penalized while interacting with the protocol in good faith.

I began looking at this curator who had removed all of the signal.

My first clue was this ENS transfer coming from the curator at one time possessed an (inflex labelled ens), some of these have now been move / reassigned etc. Address now possesses a infl labelled ENS as of 5 days ago.

Transfer that caught my eye.

Transferred Address Inventory

Well as it turns out this curator had moved their signal to new subgraphs, all of which had 0 signal or were deprecated similar to convex v0.0.1. These subgraphs now also had a solo indexer @inflex yet again just really on top of watching deprecated subgraphs come to life, or this was self-signal. Not only was signal removed from convex v0.0.1, now new signal appeared on another deprecated version of convex v0.0.2.

Lets take a look at the indexer in question

0x63c560997b8338f2b033f3ffdcc0f7c680feec45

@inflex indexer rewards address is this curator.

It does not appear you were trying to prove a point to bring before council, it appears to me you wanted to extract rewards and capture delegation from the high APR results of self signal.

β€œdecisionBasis is always among the top places.” Which was achieved through many allocation life cycles of self signal. Now that it has been brought to light, will you 0x0 your current self-signaled subgraphs? Which is still occurring as I type this.

(*) optimal in terms of maximizing rewards for themselves and their delegators

This is optimizing self-signal in lieu of attacking the network for rewards extraction. This is the third iteration of almost the same issue. One of which resulted in a slash and other resulted in a long form discussion, apology, and consensus this was poor behavior.

I’ll leave space for others to add to the discussion.

5 Likes

All above is correct. No hiding here, didn’t even bother to obfuscate signalling via anon address. Fully transparent, aiming to attract as much delegators as possible. 0% cut, high APR, that’s what retail sees (and needs). As soon as queries start flowing, these strategies won’t be feasible or profitable anymore. Hopefully soon.

I don’t forge POIs, all subgraphs are indexed correctly, and allocations are closed the way they should be according to arb charter. I don’t even pick (or deploy) broken subgraphs, everyone is welcome to dilute my allocations. Sad (and glad at the same time) to see that it took you ~30 days to find the profitable spot.

If there would be a protocol-wide rule (via contract logic, or charter definitions) saying that β€œindexer must not boost via self-signal”, you won’t see anymore of such behaviour.

1 Like

Apologies for the late response on this. As nodeify previously mentioned, the allocation scheme in dispute includes an indexer signaling to prior versions with the sole intent to extract high indexer rewards. Other indexers may think the signal is an honest interest in querying a prior version, but this is demonstrably not the case. It further becomes a net negative when the disputed indexer removes signal after others allocate to the subgraph (wastes indexer time and resources while adding confusion).

As has been pointed out in Dispute #3, there is precedent in slashing an indexer when behavior is found to be a net negative to the network for the goal of exploiting personal income.

As per the discussion you referenced, this was mostly agreed as unacceptable behavior. Which I was preparing disputes on until P2P brought it to the forum and the behavior was renounced by the discussed indexer.

A definition of optimal when describing β€˜optimal behavior’ which does not include the health of the network and consumer success is misaligned with the network. If all indexers operated in this fashion it would lead to a degraded mainnet.

All in all, I believe there has been consensus that behavior like this is not acceptable and thus these allocations should be slashed. I also believe allowing this behavior discourages participants from actual optimal behavior of assisting the network in achieving it’s goals - optimizing server configuration to better serve consumer queries, helping consumers write queries, helping consumers migrate, building new subgraphs for consumers, facilitating consumers when their prod subgraph breaks etc.

9 Likes

First β€œboosting” signal: Oct-09 2022 (txid: 0x8dead44fe7ed79330cf25687c8bffb9dbbea9c02013862ac5f23d6162a0d6eaf)

Final unsignal: Nov-22 2022 (txid: 0xd0e66500382633133de6c7a45ba02203be6e8d24cc4c02bfbefd0b6ddd772a9b)

Broken subgraphs deployed: 0

I don’t see how I’ve created an (citing Dispute #3 decision)

exclusive environment for the indexer to collect rewards on the new subgraph deployments without competition from other indexers

My intention was obviously to squeeze couple extra % of APY, but it was also interesting to create a precedent and observe network reaction.

Everyone was welcome to index and acquire protocol-intended rewards (and some did). Slashing this case would create a precedent potentially restricting indexers from curation, and greatly complexifying the situation. What if signal comes from anon address and there is no provable connection between indexer and signaller? Indexer can always say he was blindly following the optimal signal/reward ratio.
Is there any metric apart from economic stimulation an indexer must follow? Should we slash all indexers that are getting inflationary rewards from dead subgraphs?

I’m open to discussion and ready to answer any related questions.
Given that my current allocations are in similar pattern of self-signalled boost, I hope that Council will provide a timely decision, as that will affect whether these allocations will be closed with 0x0 or not.

3 Likes

Self signaling a subgraph that has no use case to your knowledge then removing signal when (unaware) competition joins you.

and then you will just remove the signal when they do.

I think precedent already exists as posted above. Creating an isolated environment to stay ahead of competition by manipulating signal to the detriment of other participants. Without a slash in this instance, there are two options. Indexers chasing around malicious signal/allocations to drown them, while wasting time and money that could have been spent providing service to real consumers. It is the primary role of the charter to maintain a healthy and fair network, not indexers. Or let this behavior continue and everyone just indexes their own signal on dead subgraphs to remain competitive. Both serve a large net negative to the network as a whole.

Even if it had not been as obvious with ENS transfers, rewards destination etc… Alarm bells would be going off without question. With enough indirect proof it can be pieced together and only more time (evidence) would be needed before bringing a dispute. It is rare to have a 100% smoking gun, especially in this space. A pattern of only indexing deprecated or 0 signal subgraphs where signal from a sole curator seems to always follow you would be quite compelling even without direct proof or admission.

3 Likes

False. As indicated in my previous message, boost signal was there for more than a month, and other indexers were in the pool the whole time. Stats for a quick check.

Same for latter part of your message. β€œAlarm bells”, β€œpieced together” and the rest does not seem like strictly factual statements to base protocol governance on.

1 Like

It was removed once a threshold of signal proportion was no longer beneficial enough ( was still quite high on avg) and being the sole provider of signal, that power was used shortly after my allocation was opened. This doesn’t occur in honest network operation with genuine signal. It occurs when someone is holding both ends of the rope. If it did, I wouldn’t have looked any further.

Evidence and patterns prove this is occurring, they do not govern it.

The Charter and precedence do.

Indirect or inferential proof is used daily in justice systems all over the world to lead to reasonable conclusions. Not everyone says I did it, so thank you for being open in that regard.

I agree with you that the network in its current state incentivizes this type of behavior for some. Until It is incentivized passively to conduct yourself honestly these things may occur. But we do have two previous cases of same intent with slight alterations in how it was achieved.

3 Likes

Did the disputed indexer engage in behavior harmful to the network ? YES
Did the disputed indexer gain from that harmful behavior ? YES

Citing the charter :

The substance of the Arbitration charter is intended to ensure that the Arbitrator is fulfilling their role of supporting a healthy and functioning network where Indexers perform their work correctly while minimizing the risk to honest Indexers of being economically penalized while interacting with the protocol in good faith.

Conclusion : disputed indexer must be slashed.

  • If you believe you found an (economic) exploit, you should file a bug bounty, which explicitly prohibits actually running the exploit.
  • It’s not because future similar offenses might be more difficult to track, that yours that got caught and disputed shouldn’t be punished.

The biggest problem with these shenanigans is that it HARMS credibility of The Graph as a reliable building block in the larger ecosystem, which is likely to come at great cost. And the only way to stop it is with financial consequences for those who do. Therefore slashing is called for, but at the very least do NOT settle with a DRAW so that the network and its participants have clarity.

6 Likes

I have to agree. If bad behavior is not addressed it tends to repeat. There is a charter to establish rules and paying indexing rewards for actions that only benefit an individual indexer should not be overlooked. Its understandable the indexer was trying to maximize their APY, however why would we pay indexer rewards for no real service provided? Like mentioned previously, if all indexers acted in this manner all indexing rewards would be wasted with no value added to the ecosystem. This left unaddressed is an insult to indexers that work hard to abide by the charter and produce results for the ecosystem. Just my thoughts for whats its worth.

3 Likes

I’m not sure that reinforcing mechanics of supposedly decentralized and permissionless network via slashing mechanisms & voting will not

Economically network is designed to stimulate indexers to move after the signal. Curators are stimulated to signal towards high-queried subgraphs, and the only reason here is because they get a share of query fees. Currently query fees are significantly less than network inflation, meaning all economic mechanisms are useless and vulnerable to exploitation. One working mechanism to counter economic attack is that any indexer is able to dilute high reward (unless subgraph is intentionally broken, which is not the case here). That perfectly worked here, all super-profitable allocations were diluted within first days, and I don’t see why any slashing should occur. Network works, there is no reason to distract council with useless disputes.

Overall I see these disputes as a way to easily claim other indexer’s stake, without outputting any net positive for the network. Just look at the amount of extra rewards I got (approx 30% more than network average, and actually on par with smaller more agile indexers), and the amount of slashable stake (one can sum up the numbers from the first message) and try to figure out: does fisherman actually care about network health, or trying to play broken arbitration system?

P2P did a right thing, they opened a discussion. DataNexus actually gathered 50k GRT to open five disputes (tx1, tx2,tx3, tx4, tx5), instead of opening a single one to attract attention to the problem. That clearly indicates that their primary motivation is to gain part of slashable stake from this situation.

2 Likes

I do not work for DataNexus, and I’m not affiliated with them, but claiming that they did this to gather 50K GRT seems really a weak argument. They have 61M GRT staked, and this 50K GRT account for 0.08% of their stake.

I totally agree with @Koen, and this is pretty clear to everyone here:

  • Did the disputed indexer engage in behavior harmful to the network ? YES
  • Did the disputed indexer gain from that harmful behavior ? YES
2 Likes

Surely a technically and economically stable environment, where problematic behavior gets rooted out, stands a much better chance.

This still doesn’t mean you can do anything and everything without repercussion be it social and / or economical. It means we gotta self-govern. Slashing malicious behavior has been done before and should happen again.

4 Likes

I do not believe it is fair to penalize for these actions.

Each of his actions are permitted by the protocol; if someone has an issue with this situation, then I strongly encourage them to propose a change to the protocol economics.

As near as I can tell, debates about sufficient grounds for slashing here treat a symptom, not a cause, and may also set a dangerous precedent.

3 Likes

I think our activity in the protocol speaks for itself. If this point is genuinely in question, I’m happy to provide a laundry list of contributions to network health.

My primary motivation is to disrupt malicious activity and to make a stab at the concept that the protocol exists as a way to β€˜mine’ indexer rewards. in the past two years you have collected 327.1 in query fees. Indexers have a job to do and it appears you are not doing it. Put simply, your rent seeking behavior has moved past the point of being unproductive and is now malicious.

If community consensus and/or Arbitrators disagree with the dispute, I’m totally okay with closing the dispute as a loss rather than a draw.

5 Likes

When we answer YES to the question β€œDid the disputed indexer engage in behavior harmful to the network ?” are we implying any specific harm or potential harm if other indexers behave in the same way? Because if it’s potential harm, it seems strange to me to slash for that. If this is the first time we find a case of bad behavior and it causes potential harm, then we just need to clearly describe it in the list of malicious behavior of indexers and make sure that it does not happen again.

Abstract descriptions like β€œbad behavior causing harm” always lead to players who test the boundaries of β€œbad behavior” and generate such disputes. Therefore, the more specific cases are described, the easier it will be to resolve such issues in the future.

2 Likes

The charter and precedence clearly state it’s not about what’s technically possible, but about what’s desirable vs malicious.

Specific harm has already happened, by the simple fact that rewards are relative and the malicious behavior caused the disputed indexer to get undue rewards, at the detriment of honest indexers.

So the get the consequences when they cross the line.

No, the opposite. Exhaustive list will always have forgotten some new approach to the same sort of malicious behavior or we’re (again) debating words rather than principles. Should be clear enough β€œdon’t harm the network”. And in doubt, start a discussion, beforehand.

4 Likes

You equate harm to the network and harm to indexers due to the lack of rewards. I think these are slightly different things.

For me, it is obvious that case law should work more here. More and more new indexers will come to the network and the simple rule β€œdo not harm the network” can be interpreted in different ways. For example, an indexer may see that he cannot compete in receiving rewards with whales that have tens/hundreds of millions in allocations, but he understands that more indexers are needed to strengthen the network and so far there are few queries in the network and that there is nowhere on the forum the case

self-curation into the old version of the subgraph is malicious behavior and harms the network

is not specifically described, then he calmly concludes that this is not punishable behavior. And such logic is clear to me, but it is not correct and leads to bad decisions, but it is understandable, just because there are not enough specific cases for making decisions.

I don’t want to be the devil’s advocate, just stated my point of view.

2 Likes

If you dance with the Devil, expect to get burned.

Some general thoughts below, because I think the outcome of this one sets precedent.

The point of the charter is to bring some humanity into the process of stewarding the network. Ultimately our concern is with delivering correct data via a healthy network and the charter is supposed to help ensure that.

Having actors poking and prodding around the limitations and grey areas of the protocol and the charter is desirable; this is how you develop anti-fragility in a system. However, how a person goes about that poking and prodding is a reflection of their character, intent and in my opinion is open for judgement in a dispute. Ideally the data will show, in clear-cut fashion, whether a person is acting maliciously or not, because judgement without clear-cut evidence of malice is a dangerous road to go down. What if the data isn’t clear, or is open to a wide scope of interpretation? This is existential-level stuff that can break communities if handled poorly.

If we are overly punitive we might cause short term economic pain for one bad actor but risk deterring the kind of protocol pokery that we want to see. If we aren’t punitive enough, bad actors are incentivised to stay in the grey area and beyond, maybe to the overall detriment of the network and existing network participants may be disillusioned by the ruling, leading to network attrition.

Whatever the result, I think we need to consider how those that like to work in the grey area can be incentivised to do so more openly. A major part of that is about personal ideals but it’s also on us to make sure there are incentivisation and communication channels open where such actors are taken seriously and incentivised to disclose their findings. Is the bug bounty program sufficient? Are proposed attack vectors and bugs taken seriously enough? We must have our own house in order if we are going to judge others on the basis of theirs.

2 Likes