P2P Security Gossip

Python
P2P
Gossip implementation developed as part of the Peer-to-Peer-Systems and Security course at Technical University of Munich. Provides connectivity in form of a low level, distributed peer-to-peer network with a flat hierarchy.

Background

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

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.

Design & Development

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.

Control Flow

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.
Control Flow Graph

Interested? Find out More

© 2023 Alexander Liebald