Skip to content

feat: inline cross-checking #503

@Theodus

Description

@Theodus

We should add an option for subgraph queries to await at least 2 matching response hashes (for the same request hash) from separate indexers. The primary use-case for this is for internal queries, such as network subgraph queries made by the gateway. For the internal case, we should also add an allowlist of 1 indexer per core dev for increased trust and bootstrapping the network state on startup.

Secondarily, this is an interesting feature to surface to users. It would be informative to see if some users are willing to pay extra for inline cross-checking on queries.

I think this will require a substantial amount of work to support, based on some initial thoughts:

  • The client query handler needs to optionally await multiple responses, and optionally rerun indexer selection without candidates that have already contributed successful responses to the set. Some design work is needed to avoid a big pile of spaghetti.
  • In general, we need to fully transition to queries to subgraphs on the network and remove our reliance on the hosted service. This is important regardless because it is a single point of failure for the effectiveness of the gateway that has caused issues in the past.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions