Source Code & Documentation

The following building blocks of the system have been developed so far.

Modules

P2P gossip-based protocols

PolderCast
P2P topic-based pub/sub (paper, code)
Privacy enhancements: instead of transmitting node profiles with full subscription sets in the clear, randomized Bloom filters using BLIP are employed together with a Bloom filter-based Private Set Intersection (BFPSI) protocol
RingCast
P2P hybrid dissemination (paper, code)
VICINITY
P2P clustering & topology management (paper, code)
CYCLON
Random Peer Sampling (paper, code)
To ensure uniformity of peer sampling, URPS is used together with CYCLON.

P2P data structures

URPS
Uniform Random Peer Sampler (paper, code)
BLIP
Non-interactive differentially-private similarity computation on Bloom filters (paper, slides, code)
BFPSI
Private Set Intersection based on Bloom filters (paper, code)

Transport

NoiseSocket
Encoding layer for the Noise Protocol Framework (spec, code)

Resources