libp2p / specs

Technical specifications for the libp2p networking stack
https://libp2p.io
1.58k stars 275 forks source link

Discussion: Dependence on ambient discovery service #264

Open petar opened 4 years ago

petar commented 4 years ago

I found a very recent publication which adds a membership mechanism on top of a broadcast system (like gossipsub):

Dynamic Byzantine Reliable Broadcast (DBRB) https://arxiv.org/abs/2001.06271

At high level, each node that is a member of the broadcast mesh exposes a 'join' operation to outside nodes. Join utilizes the mesh broadcast (among current members) to accomplish a consensus to accept the applicant. As a result, every node has a consistent view of membership.

Of key interest, regarding resisting Sybils, is that the join mechanism provides a synchronization point where the application can insert arbitrary conditions for joining.

Join conditions are checked by member nodes before signing off to accept. E.g. all or a subset of member nodes can verify that the applicant has created stake on some blockchain.

The paper also provides a 'leave' procedure, which could be reused to kick out nodes (by consensus) which are not meeting their obligations.

In short, DBRB is one possible implementation of the "ambient peer discovery" mechanism that GossipSub assumes given.