It is likely that as new versions of the P2P software are
released, not all nodes within the network will upgrade. Consequently you could
have the scenario where multiple versions of the software are run across the
network. A P2P system needs to be able to still operate despite the different
versions of the software that might be running on the nodes. An example of an existing
P2P system in which this can be observed is ICQ where users can still
communicate with each other despite running different versions of the software
on their machines.