The Graph Core Dev Call #21

:information_source: The 21th Core Dev call is happening this Thursday 2023-06-15T15:00:00Z.

Join us!

:point_right: Launch Meeting - Zoom

This is a recurring call where team contributors gather to discuss major updates from different working groups and brainstorm around active R&D tracks.

:calendar: Please subscribe to The Graph Foundation’s Ecosystem Calendar, so you don’t miss any of the upcoming calls!

:notebook: Tentative agenda:

  • Update on L2 Transfer Tools & Indexing Rewards on Arbitrum (GIP-0052 & GIP-0046) [Edge & Node]
  • Replacing Curation with Direct User Payments [PECON WG]
  • Subscriptions and Billing updates [Edge & Node]
  • Geo updates [Yaniv, from Geo]

:tv: The recording will be uploaded here.

Got something interesting to present and discuss? Feel free to propose any new topic by replying to this thread.

:rocket: The Graph Core R&D Workspace

As The Graph is being built in public and in a decentralized way, we’ve put together a new publicly accessible The Graph Core R&D Workspace . You can use this page to follow along with each working group’s progress on significant workstreams and access meeting notes and recordings.

:crystal_ball: Monthly Core Dev updates [NEW! :eyes: ]

Core development teams are now posting monthly updates in this forum section Core Team Updates - The Graph.
Soon you’ll also find regular updates from all Working Groups and Task Forces on all major components of The Graph stack. Stay tuned!

See you Thursday! :astronaut:

1 Like


In Core Devs Call #21, several updates were discussed:

Geo Genesis, a project aiming to organize all public knowledge and information, was reintroduced. It hopes to create unique spaces for all industries and academic fields, with its own governance process, and to use Web3 to solve real-world issues.

Updates were provided for the Layer 2 transition, with testing on contracts and indexer-service agents nearing completion. This will let indexers manage subgraphs on both Layer 1 and Layer 2 networks smoothly.

The Indexer Allocation Tool, designed to help indexers optimize their stake allocations for maximum revenue, was improved to deal with allocation complexities and bugs.

A new Direct Indexer Payments (DIPs) system was proposed by Justin from Edge & Node to enhance the curation process. This will enable consumers to pay a posted price for indexing a subgraph, and select their Indexers, increasing predictability and efficiency.

Finally, a new subscriptions system was introduced, aiming to offer predictable pricing and improved user experience. A beta version will soon be available, supporting only subgraphs on Arbitrum and accepting payments in USDC.

As always, the community was encouraged to ask questions and participate actively in discussions.

Geo Genesis (04:55)

During Core Devs Call #21, an update on Geo. Geo was announced last year at Graph Day and was recently relaunched as Geo Genesis. Its main goal is to help people organize knowledge and information into a knowledge graph structure natively on The Graph. Geo Genesis aims to organize the world’s public knowledge and information on its platform, aspiring to create spaces for every industry and academic field.

In Geo Genesis, each space could potentially have its own governance process, admitting members, and organizing knowledge in its own way. A demonstration of how to interact with Geo Genesis was given using the crypto space as an example. Geo Genesis allows for categorization, listing of roles, and assets, among other things, and the system’s ontology is flexible due to its knowledge graph structure.

In the future, Geo Genesis aims to bring Web3 to every industry around the world and leverage it to solve real-world problems at a local level. They are currently running a Geo Explorers program with prizes for top editors, to encourage community participation.

Learn more here!

Questions & Answers:

Question: Is Geo Genesis using fire hose/streams yet?

Answer: No, this is one of our upcoming priorities. We currently have a single subgraph for all of Geo, but we want to dynamically create a Substream for each space when it’s created and aggregate that information.

Layer 2 Updates (17:35)

The contracts for the transition to L2 are in the final stages of testing. The developers are working towards ensuring that the explorer and studio support are ready to utilize the transfer tools. This is an important step because it will ensure these tools are readily accessible to everyone.

Substantial changes are being made to the indexer-service agent that will allow two major improvements.

  1. Indexers will be able to run a single stack to index subgraphs on both chains.

  2. It will enable a smooth transition for indexers from the Layer 1 network to the Layer 2 network when subgraphs are transferred.

The changes also include a grace period configuration to keep serving queries on the subgraph while it’s still in transit to Layer 2. The developers aim to get this system on numerous Indexer stacks, enabling a seamless experience for subgraph developers during the transition to Layer 2.

The Graph’s proposal to deploy these public tools received council approval, indicating a green light to proceed with the plan once everything is ready. Testing of the new indexer agent changes is ongoing, with a roll-out to as many users as possible once it’s ready.

Questions and Answers:

Question: There have been inquiries about the vesting contract, specifically when those will be ready to be transferred. Is the current plan to deploy or release all of those tools at once?

Answer: The initial thought was to deploy subgraph and creation tools first, followed by stake delegation and vesting. However, to avoid downtime during the transfer and to ensure a level playing field for all indexers, the decision was made to deploy all tools at once. They also aim to make the tools as accessible as possible to a wide range of users, not just those most experienced with contracts.

Question: Are there opportunities for early adopters of this technology?

Answer: Indexers interested in being early adopters of the technology are encouraged to reach out on Discord.

Indexer Allocation Tool Updates (23:35)

The allocation optimizer is a tool that assists indexers in allocating their stake for each subgraph in an optimal way to maximize their revenue. Given that most of the revenue is currently derived from Indexing rewards, a tool was created to help them maximize these rewards while bootstrapping query fees. The tool allows Indexers to consider several factors when allocating, such as their budget, blacklisted subgraphs they don’t want to allocate to due to issues, and whitelisted subgraphs to which they want to allocate a specific amount. Indexers can also set a limit on the number of subgraphs they want to allocate to based on their limitations.

The maximum allocation made the math complicated and exposed some bugs when someone changed their number of allocations. To remedy this and provide a smoother user experience, an update to the allocation optimizer was implemented. The new version is considered more optimal, providing more consistent results, and instead of starting with everything and pruning off the bad subgraphs, it works in the reverse direction. It assumes that other Indexers won’t suddenly change their allocations.

Even though the tool has been updated, users should expect future updates, especially when query fees become substantial, necessitating changes to the tool to allow Indexers to be more efficient. Any changes to the rules for indexing rewards will also necessitate updates to the tool.

Direct Indexer Payments (DIPs) (30:00)

Justin, an economist at Edge & Node, discussed the problems and potential solutions for curation resulting in direct Indexer payments (abbreviated as DIPs) within The Graph.

The current curation process suffers from inefficiencies, which can prevent beneficial transactions from taking place. Such inefficiencies stem from the uncertain nature of subgraphs, where Indexers do not know how much it will cost them to index a subgraph. In addition, the payments Indexers receive are affected by other Indexer’s staking decisions, leading to fluctuations in payments and introducing more inefficiencies. Justin also noted that the signal should predict query fees, but currently this doesn’t happen.

The proposed solution is to implement Direct Indexer Payments (DIPs). For a consumer to have their subgraph synced and indexed, they will pay a publicly posted price per unit of work to index a subgraph. Consumers can then choose their Indexers and pay the price requested by the Indexer. These agreements would be enforced through collateralization and the use of Horizon (a tool to ensure compliance).

There are multiple benefits to this approach:

  1. It increases price predictability and reduces volatility.
  2. It enables consumers to stop paying underperforming Indexers.
  3. The approach decreases capital outlay for consumers.
  4. It removes inefficiencies due to stake-based selection.
  5. Consumers aren’t forced to scroll through Indexers to achieve a level of service or quality, as gateways can select for them using data-driven optimization.

Currently, indexing rewards are used to compensate Indexers for their work, but current schemes are vulnerable to sybil attacks or may degenerate into stake-based mechanisms. Two options are proposed: using trusted off-chain data to distribute rewards or implementing a stake-based distribution mechanism. The latter is preferred due to its simplicity and alignment with decentralization principles.

Within a small research group at Edge & Node, there is a rough consensus that DIPs is the path to improving curation. However, the plan is at an early stage with corner cases and technical details around contracts still needing to be figured out. For indexing rewards, there’s a growing consensus for stake-based distribution in the short-medium term. Detailed implementation plans will be shared in the forum soon.

Subscriptions Update (44:13)

To address current billing issues, Edge Node is developing a ‘subscriptions MVP’, which aims to provide a more predictable pricing plan, an improved user experience, and a trustless billing system. With this system, users deposit an initial amount for their subscription but can retrieve any unused portion if they’re unhappy with the service. The MVP will offer plans from $25 upwards.

In the next few weeks, a beta version of the subscription system will be made available. It will support only subgraphs on Arbitrum and will accept payments in USDC. The API keys will be replaced by query keys, which users will add to their authorization header rather than the URL.

The subscription process will include an overview of what users are paying for and allow them to see their wallet and contract subscription details. Users will also have access to a billing overview page that displays query usage, rate limit, peak rate, time remaining, and the ability to renew halfway through the month.

Interested parties are encouraged to join the closed beta program for the subscriptions model and should reach out via email, Discord, Twitter, or Telegram.

Stay Tuned!

Join us next month for Core Devs Call #22!

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