Bitcoin's P2P network comes with its own unique challenges: bootstrapping your initial peers, defending against spam, and ensuring network-level privacy.
Gnutella was one of the first decentralized P2P protocols to take off after the death of Napster. It's a direct predecessor to Bitcoin's networking design.
Bitcoin is built atop the shoulders of the early P2P file sharing protocols. And the history of P2P file sharing starts with the grandfather of all massive P2P protocols, Napster.
Without public key cryptography, Bitcoin would be impossible. It lays the foundation for digital identities and cryptographically enforced property rights.
To understand Bitcoin's consensus mechanism and the concept of proof-of-work, we first have to understand Hashcash.