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. - TAPS
- Trust-Aware Peer Sampling (paper, code)
- TAC
- Trust-Aware Clustering (paper, code)
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)