libp2p / libp2p/research-pubsub

Sprint call notes from 08 August 2016

Open
#1 1 comment 1 reaction 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.