Hey guys, just looking for some opinions on how I would go about developing a P2P chat program (in C++ or VB...which ever is easiest ).

I'm not sure for example if theres any secure way of being able to identify the differences between two clients on the network to allow someone to have a "contact list", the only way I can think is by using Public/Private Keys... but someone could easily listen for the key being sent and then send that key instead, or how much P2P programs spam the network with their broadcast messages... or if its going to take a few billion lines worth of code to implement it all?

Just looking to throw some ideas around atm. The program is meant for use at university, so its not supposed to be some MSN replacement thing.

Thanks in advance.