P2P Social Network

From Computer Laboratory Group Design Projects
Jump to navigationJump to search

Client: Mick Vermeulen, IMC <mick.vermeulen@imc.com>

Social networks are a major part of our lives. The acquisition of Twitter by Musk demonstrates how much influence one person can express by changing the platform to his liking where users have no say in the direction of the platform. Your assignment is to create a peer 2 peer honest social network: a social network that has no central server that anyone can join freely. You'll need to find or define a protocol that allows users to communicate. Will you go truly peer2peer? Or would you prefer a node-based approach where any server can join the network and serve requests for users? It's important to ensure that users cannot imitate each other. How do you prevent a hostile actor from joining the networking and pretending to be someone else? There's no central authentication server to verify this. Your solution should include a GUI that allows for browsing user accounts. How would this work? How do you fetch information about a user if there's no central server to provide that, and should there be any restrictions?