There was a meeting on 1/16/19 about the various GraphSync proposals including sharing state and motivation, and how to unblock work on this. Full notes here.
Quick meeting summary
Motivations of GraphSync
Blockchains and large trees with similar characteristics want to quickly be able to specify graphs to sync between peers
Need room in the protocol for overlapping requests which dedupe into a single response
Ability to ask for two graphs that are highly overlapping and have people start sending responses
Constraints of GraphSync proposal
Ability to change selectors over time (be extensible) by adding new types
Simple, stateless wire protocol
A request shouldn’t require knowledge of prior requests - possible to use outside info, but no requirement
Need ways to deal with rebooting a connection that wasn't closed down properly
Want a trustless protocol - hard to send the structure of the graph along with the data because very large
Unions and multiple selectors at once are both not rooted at the same node - so we'll need to augment Proposal B with a way to send a list of selectors (not based on the same root)
Timeline / Next steps
Goal: MVP of Proposal B implemented and solidified by April
Plan: break apart selectors work from wire protocol and prototype/implement in parallel
IPLD will handle MVP Selectors implementation (starting with cid, path, glob, + a recursive one that supports blockchain use case)
IPFS will handle wire protocol implementation
Action items (AIs) from this meeting include:
AI(@vmx): flesh out js selectors implementation to include full MVP list
AI(@vmx, @whyrusleeping): define set of selector test vectors for both js and go to test against
AI(tentatively @warpfork): pick up go-ipld selectors work matching same tests/MVP constraints
AI(tentatively @hannahhoward): take on wire protocol implementation in go-ipfs
AI(@Stebalien, @whyrusleeping, @hannahhoward): Sync on the requirements of the go-ipfs wire protocol work and whether there is bandwidth/sufficient definition to take this on
?? AI(TBD): wire protocol implementation in js-ipfs
There was a meeting on 1/16/19 about the various GraphSync proposals including sharing state and motivation, and how to unblock work on this. Full notes here.
Quick meeting summary
Motivations of GraphSync
Constraints of GraphSync proposal
Timeline / Next steps
Action items (AIs) from this meeting include: