vacp2p / research

Thinking in code
MIT License
62 stars 4 forks source link

Pubsub over Kademlia #32

Closed decanus closed 3 years ago

decanus commented 4 years ago

One thing to look into is pubsub over Kademlia, this is something we will probably want to implement in the future or use, if there is already a solution out there.

We MAY be doing ourselves a disservice by using something like Kademlia. Discovery protocols such as Pastry already have pubsub implementations such as SCRIBE whereas the research on this topic using Kademlia seems to be quite shallow.

A protocol to look at is PSS which allegedly is exactly that pubsub over Kademlia!

We mainly want to leverage incentivized routing and accounting for this.

Acceptance Criteria

decanus commented 4 years ago

Here are the PSS docs, and here is another protocol overview of PSS.

decanus commented 4 years ago

From my current understanding of PSS, it isn't really pubsub. Messages are sent to regions or peers directly, a topic is added to a message in order for a user to dictate whether or not they want to listen to a specific topic. This means to me means that it is not pubsub in the traditional sense where multiple parties subscribe to the same topic that is stored in some list.

decanus commented 4 years ago

Just a note from a conversation with Nick Johnson based on a post he wrote a while ago:

The problem with pubsub over a Kademlia that isn't a forward Kademlia is that messages aren't routed through intermediate nodes along the discovery path meaning you can't form a broadcast tree using the network

decanus commented 4 years ago

This may be relevant: https://cs.baylor.edu/~donahoo/papers/MCD15.pdf

decanus commented 4 years ago

see: https://forum.vac.dev/t/notes-on-distributed-pub-sub/44