In the winter semester of 2021/22 I participated in the Peer-to-Peer-Systems and Security course at Technical
University of Munich. As part of this course, teams of two implemented modules for a anonymous and unobservable VoIP
application using a self designed P2P architecture. A selection of possible modules was provided and together with
my team partner, we decided to implement Gossip.
Gossip was the module responsible for spreading information in the network. Other modules based their functionality
on Gossip (or a provided mockup). For example, if a user goes online, Gossip is responsible for spreading the
information that this user is now online.
All design decisions and the development process were documented in a final document:
P2P Gossip Protocol - An Implementation discussing Architectural and Security Standpoints.
This document (
link)
as well as the code can be found
on GitHub.
As a small sneak-peek at the above-mentioned document, the following flowchart shows the program flow. It starts
when the module is initiated and runs until a keyboard interrupt is detected.