libp2p/research-pubsub

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

Agenda

Pubsub notes

Pre-readings

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)
    • 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:

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.