The 13th Core R&D call is happening this Thursday (2022-05-04T23:00:00Z).
This is a recurring call where different contributors from various teams gather around to discuss major updates from different working groups and brainstorm around active R&D tracks.
Please subscribe to The Graph Foundation’s Ecosystem Calendar so you don’t miss any of the upcoming calls!
Agenda:
[Data & APIs WG]
Hardhat Plugin
Block Oracle updates (support for multi-chain indexing rewards)
[Protocol Economics WG]
GIP-30: Minimum Curation Amount for Indexing Rewards Eligibility
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 resort to this page to follow along with each working group’s progress on significant workstreams, access meeting notes, and recordings.
Roadmap
The Graph Foundation has recently released a blog post presenting the Core R&D roadmap. Please feel free to reach out if you believe you can contribute to any of the listed workstreams!
In The Graph’s Core R&D Call #13 we learn about the solution to dishonest Indexer POI spoof attacks, listen to updates on SemioticAI’s work on Graphism & Indexer allocation optimization, review the Epoch Block Oracle, and learn about ways the developer experience is improving for The Graph.
Topics Include:
Graph Day & Graph Hack
GIP-0030: Minimum Curation Amount for Indexing Rewards Eligibility
Core R&D 12 Recap
Addressing the POI Spoof Attack (GIP-0030)
Semiotic AI Updates
Workshop on Incentive Mechanism Validation
Feedback
Graphsim
Indexer Allocation Optimization
Next Steps
Epoch Block Oracle
Core R&D 11 Recap
Developer Experience of Graph Node
Graph Client
Hardhat Plugin
Graph Day & Graph Hack (01:00)
Graph Day and Graph Hack is under a month away! Wave 2 tickets are still on sale! Experience panels and talks from prominent web3 community members, food, drinks, an ethereal after party with a live DJ, and Exclusive Graph Day swag and merch. Graph Hack, a three-day hackathon, will take place immediately after Graph Day as the web3 community unites and builds web3 together.
GIP-0030: Minimum Curation Amount for Indexing Rewards Eligibility (03:47)
Recap of PRYSM Groups work from Core Devs Meeting #12
Prysm Group is an economic consulting firm that specialized in blockchain technology. They have provided an economic map of the protocol and have done an economic analysis of the viability of an attack identified in a technical audit pre-launch.
Spoof Attack Analysis
Attack Outline
Attacker opens an allocation and self-delegates up to the max delegation ratio to minimize slashing risks.
The attacker submits an invalid POI to claim indexing rewards without providing service.
The attacker diverts indexing rewards to the fictitious delegator wallet so they can keep indexing rewards even when their PIO is invalidated.
Incentives
Spoofing attacks may be profitable because attackers may claim indexing rewards without incurring operational costs (face slashing risks)
To protect the protocol against Indexer POI spoofing attacks a new protocol parameter, minimum_signal, will be introduced. If you increase the minimum curation signal, the indexing rewards will be higher, and more Indexers will enter the market and decrease profitability for dishonest indexers. A minimum curation signal of $500 GRT will be required to signal on a subgraph. This would devalue any incentives to Index a subgraph dishonestly.
This may seem like a small outcome for a year’s worth of analysis, but the economic reports generated by PRYSM Group have many valuable pieces of information that will benefit future work.
Question
When this change is implemented, will there be UX changes to make subgraph developers aware of the $500 threshold if they want Indexing services from the get-go? - Jim Cousins | Indexer at The Graph
Response
Semiotic AI Updates (19:00)
Workshop On Incentive Mechanism Validation (DevConnect Update)
Semiotic AI hosted a workshop at DevConnect in Amsterdam focused on the topic of Incentive Mechanism Validation.
Feedback
Great networking event, too many talks
Many interesting case-studies, wanted more actional information
There was a request for new tools to enable mechanism research
Graphsim
SemioticAI is developing a tool called Graphsim that would enable developers and researchers to work within a self-contained, locally run version of the protocol. Graphsim is in the early stages of development, with support for indexer-agent as the focus for the first use case.
Indexer Allocation Optimization
SemioticAI is developing another tool that gives Indexers the ability to allocate optimally in respect to indexing rewards. The tool takes the Indexer’s allocated signal on a particular subgraph, and the signal of other Indexers on the subgraph to find the optimal allocation strategy. This tool is only considering indexing reward optimization while excluding things like gas cost etc. Currently, the tool can be interacted with by utilizing the Julia repo.
Next Steps
Add front-end GUI via the action queue
Incorporate more tunable indexer preferences
Explicitly optimize over gas costs
Option to freeze certain allocations such that they won’t be considered in the optimization process
Optimize over time
Epoch Block Oracle (45:07)
When indexing Ethereum subgraphs there is a simple rule that Indexers must use the first block of the epoch when they close their allocation to receive indexing rewards. This ensures that Indexers are indexing with a certain amount of recency and enables POIs to be cross checked across the network. As multi-chain indexing becomes a reality, it is unclear which block they should use to close their allocations, due to differing block speeds.
The Epoch Block Oracle would fix this problem by utilizing DataEdge (GIP–025). DataEdge is a gas efficient way to bridge data into subgraphs, which can also include when an epoch block occurs. The Epoch Block Oracle would update the subgraph with the applicable blocks for allocation closures across networks.
DevX Focus of Graph Node (48:20)
The Graph Client Tools
The Graph Client is a package containing tools that improves the developer experience, type safety and how users execute GraphQL. It features:
Client-side subgraph composition
Fallback to multiple indexers/sources/hosted services
Automatic/Manual source picking strategy
Agnostic core with the ability to run integrate with any GraphQL client
It currently features two modes:
Standalone Mode
Users use the graph client directly. Minimal infrastructure required.
With any GraphQL Client
Adds a compatibility layer for all other popular GraphQL clients.
Hardhat Plugin
Adam Fuller provided a demo of The Graph’s hardhat plugin that is in development to give an idea of what developers can expect!
Stay Tuned!
Join us next month for The Graph’s Core R&D Call #14!
Keep up to date by joining discussions in the forum, following The Graph on Twitter or joining the Discord server.
Watch the full recording of Core Devs meeting #14 on YouTube!