Sprint call notes from 08 August 2016
Opened this issue · 1 comments
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 ipfs-inactive/2016-IPFS-Workshop-Lisbon#17 (comment)
- 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)
- e.g. given an annuouncement channel, find a way to form into clusters
- 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) ipfs/notes#154
Let's keep this going :)
I've added more info to the README and also created the doc with use cases:
- https://github.com/libp2p/pubsub/blob/master/README.md
- https://github.com/libp2p/pubsub/blob/master/USECASES.md
It would be good to have @mikolalysenko and @nicola IPFS workshop notes when it comes to the Interface and Data Model for PubSub
I've also opened issues about the Research review, Ethereum Post mortem, Use cases and Glossary -- https://github.com/libp2p/pubsub/issues.
If you are interested in participating and following the PubSub discussions, make sure to subscribe and star this repo.