The Graph’s Core Devs Meeting #8

Join The Graph’s Core Devs meeting #8, happening on Tuesday, October 5, @ 8am PST.

Join The Graph’s Core Devs, The Graph Council, Indexers & many other contributors to discuss protocol updates, GIP’s and all things The Graph! The meeting link is: Launch Meeting - Zoom

Tentative agenda:

  • Protocol updates
  • GIP Proposals & Discussions
  • Q&A
1 Like

Summary

In this meeting, the Core Devs and the community discuss upcoming GIPs, a StreamingFast update, a reanalysis of curation data by Semiotic AI and new proposals posted to the forum.

Meeting Participants explore:

  • Four new GIPS soon to be posted to the forum
  • StreamingFast updates
    • Multi-blockchain support with Near
    • Determinism Discussion
  • Integration Testing Framework
  • Profit Scalping Reanalysis by Semiotic AI
  • General Protocol Updates
    • Deploy & Signal Implemented
    • Reduce Curation Tax up for council vote
    • Simplified Cut Mechanism Poll
  • Four new proposals posted to the forum
    • Subgraph Change of Ownership
    • Saving Gas on Subgraph Deployment
    • Revert on Zero Delegation Share
    • Indexer Unstake Changes

Detailed notes regarding each topic with timestamps can be found below.

Four Upcoming GIPs [2:19]

There are multiple GIPs soon to be posted on the forum that have undergone internal review by the core dev teams.

GIP-X Determinism Fixes

This GIP tries to solve the problem of indexers unable to return results or not having confidence in their results. Graph Node returns an error that is indistinguishable from other query errors. A/B testing using separate Indexers may be done in the future to see if the issue is an internal indexer problem. The finishing touches are being addressed with this GIP before being posted to the forum.

GIP-X Subgraph Composition [5:21]

This GIP will focus on subgraph composition. Subgraph composition would allow subgraphs to reference entities from other subgraphs. It has been a long-standing feature request that unlocks many potential opportunities. A developer will be able to directly leverage other subgraphs instead of copying existing subgraph code into their subgraph. The challenge is establishing good syntax and patterns within the manifesto and schema for doing this.

GIP-X Data Pipelining [6:25]

This is the idea that a subgraph might be triggered to run handlers, not just based on events on chain, but also on the basis of updates to entities from the same subgraph or other subgraphs, which creates a sort of pipelining chain of processing. It makes execution a bit more atomic; it makes it easier to reason about what you’re doing within a given subgraph. - Adam Fuller | Edge & Node

GIP-X Revisiting IPFS Functionality [7:18]

Currently fetching files from IPFS happens within mappings. There are issues that arise from this from a performance and reliability throughput perspective. From a determinism perspective, you are unable to deterministically ascertain that a file is available at any given moment. The GIP will focus on moving IPFS away from being non-deterministic as it currently is.

StreamingFast Update [20:52]

StreamingFast has prepared a demo that will be shared soon utilizing The Graph with Near Protocol. There is still work to be done to fully support Near protocol such as trigger mapping and graph UI support, as The Graph’s natively structured for ethereum. StreamingFast is working in collaboration with the Edge & Node team to bring multi-blockchain support to The Graph as soon as viably possible.

Determinism Update [17:30]

There has been an ongoing effort by the StreamingFast team to ensure the Firehose is deterministic in its output.

Integration Testing [23:59]

The Edge & Node team has been identifying other areas within the network where determinism issues arise and is currently developing a self-contained integration testing environment that will allow core developers to run a full graph network on their machine. Edge & Node currently has an internal testing framework on their cloud infrastructure that is not feasible to share. An integration testing environment will ensure all core developers will be able to test various components of their work end-to-end.

Semiotic AI Update [26:52]

In The Graph’s Core Devs Meeting #7 Sam Green of Semiotic AI gave an in depth look at profit scalping in relation to curation. Semiotic reassessed the data after confirming that subgraph publishers who signaled immediately after publishing their subgraph would be flagged as profit scalpers in the initial data.

New Data

A reanalysis of the initial data shows that honest publishers and curators had higher returns that those now flagged as profit scalpers.

  • Honest publishers made an aggregate profit of 800,00 GRT
  • Honest curators made an aggregate profit of 183,00 GRT
  • Profit scalpers made an aggregate profit of 78,00 GRT
  • Publisher scalpers made an aggregate profit of 10,00GRT

Frontrunning is still an issue within the curation mechanism with proposals such as a dynamic curation tax being discussed in the forum.

Semiotic AI also demoed a tool that can eventually be released for community use that analyzes curator position value for all curators over time.

General Protocol Updates [45:15]

Deploy & Signal

GGP-0005: Batch GNS transactions has been approved by The Graph Council and has been implemented in the protocol. This allows subgraph developers to deploy their subgraph and be the first to signal on it.

Reduce Curation Tax

The proposal to reduce the curation tax parameter from 2.5% to 1% will soon undergo a snapshot council vote. Curation tax can be burdensome for subgraph developers who are required to pay the tax on every upgrade due to exit and reentry of bonding curves.

The current tax rate is in place to discourage subgraph churn (leading to wasted indexer resources) and to prevent an economic attack referred to as the Subgraph Withholding attack. The current proposal focuses on lowering curation tax while preventing the Subgraph Withholding attack. An in-depth overview can be read here.

Simplified Cut Mechanism

A community forum poll was conducted to see if cut percentage should allow a negative indexer cut percentage or change to a neutral 0 percent entry point. The poll concluded with 67% of participants voting to keep the ability to set a negative value for effective cut percentage.

New Proposals [47:04]

Subgraph Change of Ownership [47:04]

Currently subgraphs are tied to the publisher forever. The proposal implements an NFT-based system of ownership, where ERC721 NFTs are minted on subgraph creation and can be transferred to others. This proposal has several breaking changes, but a simple method for subgraph change of ownership would benefit the subgraph ecosystem greatly.

Save Gas When Initializing Subgraph Deployment [50:22]

A subgraph-specific ERC20 token is created when a curator mints signal on a subgraph for the first time in the initialization process. This would use a method to clone the Graph Curation Token using bytecode. Initial research suggests that using Minimal Proxy could decrease the gas used on first mint from ~1,230,000 gas to ~432,000.

Revert when not enough precision to assign delegation share [52:49]

Delegating a very small amount of new GRT can sometimes result to zero shares being assigned even if the token deposit was accepted. This would revert the condition if no shares were assigned based on the number of tokens received. The proposal is backwards compatible and has been audited.

Unstake changes regarding minimumIdexerStake [53:50]

This is a fix for when Indexers attempt to unstake fully. If a malicious actor sends a stakeTO(indexerAddress, 1) in order to stake one token during the Indexer unstake sequence, it will cause the Indexers unstake transaction to revert. This proposal would fix this issue by allowing the unstake(function) to receive any number of tokens to unstake, even larger than the current Indexer stake. The proposal is backwards compatible and has been audited.

Stay Tuned!

Join us next month for The Graph’s Core Devs Meeting #9!

Keep up to date by joining discussions in the forum, following The Graph on Twitter or joining the Discord server.

For further discussion on the topics covered in The Graph’s Core Devs meetings, attend Indexer Office hours in the Graph Stage voice channel every Tuesday.

Access a full transcript of Core Devs Meeting #7 here, or watch it on YouTube!

2 Likes