The peer to peer protocol