requirements
first part of kademlia protocol implementation