libp2p / libp2p/research-pubsub
Sprint call notes from 08 August 2016
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 73
- Forks
- 5
- PR merge metrics
- No merged PRs in 30d
Description
Adding the Pubsub notes from the sprint call discussion:
# IPFS PubSub 08 August 2016
Welcome! Note: please add your name to etherpad on the right --------------->
**Moderator:** David Dias (@diasdavid)
**Notetaker:** (Nicola Greco @nicola) (with em-ly helping!)(\o/)
**Attendees**
- @nicola
- @jbenet
- @flyingzumwalt
- @haadcode
- @em-ly
- @dignifiedquire
- @diasdavid
- @betaphors
- @haadcode
- @gavinmcdermott
- @ReidWilliams
## Agenda
##
# Pubsub notes
## Pre-readings
- PubSub discussions so far: https://github.com/ipfs/notes/issues?q=is%3Aissue+is%3Aopen+label%3Apubsub
- PubSub repo -> https://github.com/libp2p/pubsub
## Background
- How do you get fast and (reliable?) communication amongst peers that subscribe to a particular content?
- Everyone that builds on top of IPFS requires pub/sub
- e.g. social networks (orbit, ethereum community!)
## Requirements for PubSub v1
- Subsecond Latency
- Small networks (thousands of notes)
- No? need for packet switching
- There are a few proposed implementations (links?)
- Authenticated streams (data model)
- Way of subscribing and getting notification
- Survive the massive amount of churn in browsers!
- Minimize flood (receiving the same message multiple times)
- Authentication MAY wait
### TODO
- Design
- [ ] list down a list of requirements
- [ ] do we need authenticated streams?
- [ ] Use cases https://github.com/ipfs/2016-Q3-Workshop/issues/17#issuecomment-235006729
- [ ] Identify simplest possible implementation
- e.g. given an annuouncement channel, find a way to form into clusters
that just need a partial view (needed for Orbit)
- [ ] Iron down authenticated streams
- [ ] Trying to identify the different layers
- Implementation
- [ ] create a shared document and start implementing prototypes
- [ ] Testing: Build very basic implementations and a way to spin up a network with thousand of nodes
- [ ] Write down a BIG ISSUE about IPLD
## Lit-review outcome
- Little progress
- Understand concept of treeforming
- We should focus on topic-based pubsub
- Select small spanning trees with not too much effort
## Questions
- q: What happened with ethereum?
- a: not sure what worked
- a: we may need a post-mortem (there are already papers)
- a: not sure if it supports that big of a network
## Layers
- Defining the **interface** for pubsub
- Defining the **data model** for pub/sub (mikola/nicola) https://github.com/ipfs/notes/issues/154
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue body contains the sprint-call notes, including PubSub requirements, TODOs, and layer questions; no repository file, test, or implementation entry point is named. Done is limited to recording or preserving these notes, but the issue specifies no further completion criterion.
Written by the indexing model from the issue text.
Assessment
- Domain
- distributed-systems, documentation
- Issue type
- Documentation
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100