The two most important factors for a p2p network is to discover peer and transfer data between peers. We use a node discovery protocol that is very similar to the Kademlia protocol. Kademlia is a Distributed Hash Table for p2p networks designed by Petar Maymounkov and David Mazieres. It provides a way for millions of computers to self-organize into networks, communicate with other computers on the network, and share resources between computers, all without a central server.
For transfer data between peers, we use RLPx. RLPx is a cryptographic peer-to-peer network and protocol suite which provides a general-purpose transport and interface for applications to communicate via a p2p network. RLPx is designed to meet the requirements of decentralized applications, enabling nodes to transfer encrypted, serialized data. With RLPx, ensure confidentiality and integrity of data when transferring data between peers.