Scalability is the ability of a system to operate without a noticeable drop in performance despite increases or decreases in its overall operational size. For example, this could be whether or not a system that was originally intended to be used by 10 people can still operate satisfactory when a thousand people are using it.
Peer-to-peer systems, by their very nature, are designed to be distributed over many nodes. Existing P2P applications have shown to what scale a P2P application can potentially grow to (Napster has had over 40 million client downloads, SETI@home has had over 2.5 million, though this does not represent the number of clients in use at one time).
Scalability within P2P systems can take on numerous aspects: scalability in respect to the number of users using the system, scalability in respect to the number of nodes within the system. In addition there is also catering for the potential scalability of the system with respect to these two aspects (as mentioned previously).
Accordingly, catering for scalability should play a significant
role when designing a peer-to-peer system.